pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
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;
  }



view thread (47+ messages)  latest in thread

Message-ID: <4433650E.1020508@bankir.ru>
Permalink:  ../4433650E.1020508@bankir.ru/
Also on:    postgresql.org/message-id/4433650E.1020508@bankir.ru

 · 

reply

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