Thread: PQexecParams

PQexecParams

From
Christopher Kings-Lynne
Date:
Will PQexecParams automatically escape bytea data as it goes in, or must 
one run it through PQescapeBytea first?

Chris


Re: PQexecParams

From
Alvaro Herrera
Date:
On Tue, Mar 15, 2005 at 02:02:58PM +0800, Christopher Kings-Lynne wrote:
> Will PQexecParams automatically escape bytea data as it goes in, or must 
> one run it through PQescapeBytea first?

Neither.  The data does not need escaping (assuming you pass it as a
parameter, of course.)

-- 
Alvaro Herrera (<alvherre[@]dcc.uchile.cl>)
"Los dioses no protegen a los insensatos.  Éstos reciben protección de
otros insensatos mejor dotados" (Luis Wu, Mundo Anillo)


Re: PQexecParams

From
Christopher Kings-Lynne
Date:
>>Will PQexecParams automatically escape bytea data as it goes in, or must 
>>one run it through PQescapeBytea first?
> 
> Neither.  The data does not need escaping (assuming you pass it as a
> parameter, of course.)

Even binary data?  ie. You could upload a binary string straight into 
PQexecParams with no octal conversion?

Chris


Re: PQexecParams

From
"Merlin Moncure"
Date:
> >>Will PQexecParams automatically escape bytea data as it goes in, or
must
> >>one run it through PQescapeBytea first?
> >
> > Neither.  The data does not need escaping (assuming you pass it as a
> > parameter, of course.)
>
> Even binary data?  ie. You could upload a binary string straight into
> PQexecParams with no octal conversion?

Well, what it means you do not have to escape data at the protocol level
you don't have to be concerned about formatting the query string.
However the server still may still need to interpret the data for
storage...meaning for the bytea type at least you have to do octal
encoding (at least that's what I do, I'd like nothing better than to be
corrected on this point).

Merlin


Re: PQexecParams

From
Tom Lane
Date:
"Merlin Moncure" <merlin.moncure@rcsonline.com> writes:
>> Even binary data?  ie. You could upload a binary string straight into
>> PQexecParams with no octal conversion?

> Well, what it means you do not have to escape data at the protocol level
> you don't have to be concerned about formatting the query string.
> However the server still may still need to interpret the data for
> storage...meaning for the bytea type at least you have to do octal
> encoding (at least that's what I do, I'd like nothing better than to be
> corrected on this point).

Not if you send the bytea parameter in binary format.  If you send it in
text format that's true.
        regards, tom lane


Re: PQexecParams

From
"Merlin Moncure"
Date:
> "Merlin Moncure" <merlin.moncure@rcsonline.com> writes:
> >> Even binary data?  ie. You could upload a binary string straight
into
> >> PQexecParams with no octal conversion?
>
> > Well, what it means you do not have to escape data at the protocol
level
> > you don't have to be concerned about formatting the query string.
> > However the server still may still need to interpret the data for
> > storage...meaning for the bytea type at least you have to do octal
> > encoding (at least that's what I do, I'd like nothing better than to
be
> > corrected on this point).
>
> Not if you send the bytea parameter in binary format.  If you send it
in
> text format that's true.

Whoops!  In fact, my ISAM driver does exactly this.  However, it is
still interpreting octal codes returned from the server.  This is
because liqpq's restriction to ask for the result in all text/all
binary.  However IIRC this is not a restriction of the protocol.

Merlin