Thread: libpq string escaping question

libpq string escaping question

From
Klaus Darilion
Date:
Hi all!
From the docs:> PQunescapeBytea>> Converts a string representation of binary data into binary data —> the reverse of
PQescapeBytea.This is needed when retrieving bytea> data in text format, but not when retrieving it in binary format.
 

But how do I know if data is retrieved in text or binary format? I read
that PQexecParams allows to specify the return format (text or binary)
but what about PQexec() and PQgetResult()? Do they return binary or
text? Or is it configurable for PQexec ann PQgetResult too?

Further from the docs (about E'' syntax):> The standard_conforming_strings value is read-only. Applications can>
retrievethe value to know how backslashes are processed. (Presence> of the parameter can also be taken as an indication
thatE'' string> syntax is supported.)
 

How can I retrieve this value?

thanks
klaus



Re: libpq string escaping question

From
"Daniel Verite"
Date:
    Klaus Darilion wrote:

> But how do I know if data is retrieved in text or binary format? I 
read
> that PQexecParams allows to specify the return format (text or 
binary)
> but what about PQexec() and PQgetResult()? Do they return binary or
> text? Or is it configurable for PQexec ann PQgetResult too?

PQfformat() applied to a column of a result indicates whether it's text 
or binary.
When the query is run through PQexec(), my understanding is that 
results will always be in text format except if specified otherwise at 
the SQL level. That would be the case for a FETCH from a BINARY CURSOR. 
I'm not sure if there is any other case, BTW, anyone knows?

> Further from the docs (about E'' syntax):
>  > The standard_conforming_strings value is read-only. Applications 
can
>  > retrieve the value to know how backslashes are processed. 
(Presence
>  > of the parameter can also be taken as an indication that E'' 
string
>  > syntax is supported.)
> 
> How can I retrieve this value?

Check out PQparameterStatus()

-- DanielPostgreSQL-powered mail user agent and storage: 
http://www.manitou-mail.org