X-Original-To: pgsql-sql-postgresql.org@localhost.postgresql.org Received: from localhost (av.hub.org [200.46.204.144]) by postgresql.org (Postfix) with ESMTP id 72BEB11F6C5A for ; Wed, 5 Apr 2006 03:37:49 -0300 (ADT) Received: from postgresql.org ([200.46.204.71]) by localhost (av.hub.org [200.46.204.144]) (amavisd-new, port 10024) with ESMTP id 63669-10 for ; Wed, 5 Apr 2006 03:37:48 -0300 (ADT) X-Greylist: from auto-whitelisted by SQLgrey- Received: from moon.antora.ru (moon.antora.ru [83.222.21.34]) by postgresql.org (Postfix) with ESMTP id E332011F6C2E for ; Wed, 5 Apr 2006 03:37:46 -0300 (ADT) Received: from [217.26.17.26] (helo=[10.0.0.72]) by moon.antora.ru with esmtpsa (TLSv1:DHE-RSA-AES256-SHA:256) (Exim 4.60 (FreeBSD)) (envelope-from ) id 1FR1e6-0009Pr-3b; Wed, 05 Apr 2006 10:37:38 +0400 Message-ID: <4433650E.1020508@bankir.ru> Date: Wed, 05 Apr 2006 10:34:54 +0400 From: "Eugene E." User-Agent: Mozilla Thunderbird 1.0.2 (X11/20050517) X-Accept-Language: en-us, en MIME-Version: 1.0 To: Stephan Szabo CC: Peter Eisentraut , Achilleus Mantzios , pgsql-sql@postgresql.org Subject: Re: have you feel anything when you read this ? References: <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> In-Reply-To: <20060404071118.C19036@megazone.bigpanda.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: by amavisd-new at hub.org X-Spam-Status: No, score=0.12 required=5 tests=[AWL=0.120] X-Spam-Score: 0.12 X-Spam-Level: X-Archive-Number: 200604/17 X-Sequence-Number: 24826 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 #include #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; }