Re: Correctly producing array literals for prepared statements

Поиск
Список
Период
Сортировка
От Andrew Chernow
Тема Re: Correctly producing array literals for prepared statements
Дата
Msg-id 4D656F65.7040208@esilo.com
обсуждение исходный текст
Ответ на Re: Correctly producing array literals for prepared statements  (Peter Geoghegan <peter.geoghegan86@gmail.com>)
Ответы Re: Correctly producing array literals for prepared statements  (Kenneth Marshall <ktm@rice.edu>)
Список 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 по дате отправления:

Предыдущее
От: Alvaro Herrera
Дата:
Сообщение: Re: Review: Fix snapshot taking inconsistencies
Следующее
От: "Kevin Grittner"
Дата:
Сообщение: Re: How to extract a value from a record using attnum or attname?