Re: PQexec(), what should I do for the "NULL in command" problem?

From: "yang zhenyu" <zhyuyang(at)gmail(dot)com>
To: "Martijn van Oosterhout" <kleptog(at)svana(dot)org>, jason <zhyuyang(at)gmail(dot)com>, pgsql-general(at)postgresql(dot)org
Subject: Re: PQexec(), what should I do for the "NULL in command" problem?
Date: 2007-11-13 02:52:09
Message-ID: 32caccbc0711121852v4c9accdt3b5e1f490460c80e@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Nov 12, 2007 11:13 PM, Martijn van Oosterhout <kleptog(at)svana(dot)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

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Mason Hale 2007-11-13 04:03:59 Re: PITR and warm standby setup questions
Previous Message Steve Manes 2007-11-13 01:55:48 Re: FreeBSD portupgrade of 8.1 -> 8.2