Skip site navigation (1) Skip section navigation (2)

Re: libpq, PQExecParams and the inserting of binary data

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: David Hinkle <drachs(at)gmail(dot)com>
Cc: pgsql-interfaces(at)postgresql(dot)org
Subject: Re: libpq, PQExecParams and the inserting of binary data
Date: 2005-06-03 17:48:38
Message-ID: 6424.1117820918@sss.pgh.pa.us (view raw or flat)
Thread:
Lists: pgsql-interfaces
David Hinkle <drachs(at)gmail(dot)com> writes:
> As you can see, I assumed I could use PQexapeBytea to escape the
> binary data and then just use the returned value as a text parameter. 

No, because PQescapeBytea is designed to do the escaping that would be
needed to put the bytea value into a string literal in a SQL command.
There's an extra level of backslashing involved to do that (because
backslashes are special to both the string-literal syntax and the
text input syntax for bytea).

But this is really the hard way to do it considering that you are using 
PQexecParams.  Just tell PQexecParams that you want this parameter to be
binary format, and pass the *raw* binary string as the parameter.

> I couldn't find any documentation on using PQExecParams
> with binary parameters,

src/test/examples/testlibpq3.c ... that example is reproduced in
the libpq manual, as well.

			regards, tom lane

In response to

Responses

pgsql-interfaces by date

Next:From: Daniel VeriteDate: 2005-06-03 17:54:52
Subject: Re: libpq, PQExecParams and the inserting of binary data
Previous:From: David HinkleDate: 2005-06-03 17:36:38
Subject: Re: libpq, PQExecParams and the inserting of binary data

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group