From: Eugene E. <sad@bankir.ru>
To: Stephan Szabo <sszabo@megazone.bigpanda.com>
Cc: Peter Eisentraut <peter_e@gmx.net>
Cc: Achilleus Mantzios <achill@matrix.gatewaynet.com>
Cc: pgsql-sql@postgresql.org
Subject: Re: have you feel anything when you read this ?
Date: Wed, 05 Apr 2006 10:34:54 +0400
Message-ID: <4433650E.1020508@bankir.ru> (raw)
In-Reply-To: <20060404071118.C19036@megazone.bigpanda.com>
References: <Pine.LNX.4.44.0603201522410.22894-100000@matrix.gatewaynet.com>
<441EA0A7.8030601@bankir.ru>
<200603201415.30719.peter_e@gmx.net>
<442CC95C.1030700@bankir.ru>
<20060331084503.W64402@megazone.bigpanda.com>
<44324AB6.2060104@bankir.ru>
<20060404071118.C19036@megazone.bigpanda.com>
Stephan Szabo wrote:
> On Tue, 4 Apr 2006, Eugene E. wrote:
>
>
>>Stephan Szabo wrote:
>>
>>>On Fri, 31 Mar 2006, Eugene E. wrote:
>>>
>>>
>>>
>>>>Peter Eisentraut wrote:
>>>>
>>>>
>>>>>Eugene E. wrote:
>>>>>
>>>>>
>>>>>
>>>>>>the problem is: you'll get this four byte sequence '\000' _instead_
>>>>>>of NUL-byte anyway.
>>>>>
>>>>>
>>>>>What you seem to be missing is that PostgreSQL data can be represented
>>>>>in textual and in binary form. What you in psql is the textual form.
>>>>>If you want the binary form you need to select it. Then you can pass
>>>>>the exact bytes back and forth.
>>>>
>>>>your sentence is not true.
>>>>I can not select exact bytes even if i use BYTEA type
>>>
>>>
>>>No, that is still using the textual form. If you use PQexecParams and set
>>>the last argument to show you want binary data, you should get binary
>>>data.
ok
then i am using PQexecParams
the following tiny program shows a wonderful lameness...
#include <stdlib.h>
#include <stdio.h>
#include "libpq-fe.h"
int
main (void)
{
PGconn * conn;
PGresult * res;
char * val;
char * l;
int len;
conn = PQconnectdb("user=scott password=tiger name=test_db");
PQexec(conn, "CREATE TABLE t (a BYTEA)");
PQexec(conn, "INSERT INTO t VALUES ('ab\\\\000cd')");
res = PQexecParams(conn, "SELECT a,length(a) FROM t", 0, NULL, NULL,
NULL, NULL, 1);
val = PQgetvalue(res,0,0);
l = PQgetvalue(res,0,1);
len = PQgetlength(res,0,0);
printf("what_we_retrive='screened' its_value_length=%i but
orig_length=%s\n",len,l);
PQclear(res);
PQfinish(conn);
return 0;
}
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-sql@postgresql.org
Cc: sad@bankir.ru, sszabo@megazone.bigpanda.com, peter_e@gmx.net, achill@matrix.gatewaynet.com
Subject: Re: have you feel anything when you read this ?
In-Reply-To: <4433650E.1020508@bankir.ru>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox