Re: Correctly producing array literals for prepared statements - Mailing list pgsql-hackers

From Andrew Chernow
Subject Re: Correctly producing array literals for prepared statements
Date
Msg-id 4D656F65.7040208@esilo.com
Whole thread Raw
In response to Re: Correctly producing array literals for prepared statements  (Peter Geoghegan <peter.geoghegan86@gmail.com>)
Responses Re: Correctly producing array literals for prepared statements  (Kenneth Marshall <ktm@rice.edu>)
List pgsql-hackers
On 2/23/2011 3:06 PM, Peter Geoghegan wrote:
> On 23 February 2011 15:34, Merlin Moncure<mmoncure@gmail.com>  wrote:
>> You can send nested arrays safely.  You just have to be very formal
>> about escaping *everything* both as you get it and as it goes into the
>> container.  This is what postgres does on the backend as it sends
>> arrays out the door in text.  It might be instructive to see what the
>> server does in terms of escaping.  Note that the way this works it's
>> not impossible to see 128+ consecutive backslashes when dealing with
>> arrays of composites.
>
> Sounds tedious.
>

It is tedious, which is one reason why libpqtypes went binary.  There 
are some compelling performance reasons as well that affect both client 
and server.

libpqtypes was originally developed to serve a very particular need and 
wasn't aiming to be general purpose.  That came about along the way 
trying to solve the problem.  Personally, PQexec is dead to me as well 
as text results from a C/C++ app.  I see no advantage over libpqtypes in 
that context.

Unless I am missing your ultimate goal, you'd probably get what you want 
by wrapping libpqtypes.

-- 
Andrew Chernow
eSilo, LLC
global backup
http://www.esilo.com/


pgsql-hackers by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: Review: Fix snapshot taking inconsistencies
Next
From: "Kevin Grittner"
Date:
Subject: Re: How to extract a value from a record using attnum or attname?