Re: PQexec(), what should I do for the "NULL in command" problem? - Mailing list pgsql-general

From yang zhenyu
Subject Re: PQexec(), what should I do for the "NULL in command" problem?
Date
Msg-id 32caccbc0711121852v4c9accdt3b5e1f490460c80e@mail.gmail.com
Whole thread Raw
In response to Re: PQexec(), what should I do for the "NULL in command" problem?  (Martijn van Oosterhout <kleptog@svana.org>)
Responses Re: PQexec(), what should I do for the "NULL in command" problem?  (Martijn van Oosterhout <kleptog@svana.org>)
List pgsql-general
On Nov 12, 2007 11:13 PM, Martijn van Oosterhout <kleptog@svana.org> wrote:
> On Thu, Nov 08, 2007 at 06:39:23PM -0800, jason wrote:
> > As you know the interface of PQexec():
> > PGresult *PQexec(PGconn *conn, const char *command);
> >
> > "command" contains  some SQL statements.
> >
> > But there exist "\0" in some data filed, and I found PQexec() failed
> > on such situation.

Thanks for reply :-)
But would you please give me more details or some references?

> Two ways:
> - out of line parameters
How to? Is there any function for this? I mean the C interface.

> - escape the nulls, like \0
Do you mean this function?
#unsigned char *PQescapeBytea(const unsigned char *from,
#                 size_t from_length,
#                 size_t *to_length);

But after the "escape", the data is changed, and it cannot
automatically change back when insert them into database.
I have to "unescape" it when query. Is this necessary?

Best Regards,
Jason

pgsql-general by date:

Previous
From: Decibel!
Date:
Subject: Re: FreeBSD portupgrade of 8.1 -> 8.2
Next
From: "Mason Hale"
Date:
Subject: Re: PITR and warm standby setup questions