Re: libpq (C++) - Insert binary data

Поиск
Список
Период
Сортировка
От GOO Creations
Тема Re: libpq (C++) - Insert binary data
Дата
Msg-id 4CA5867B.5030801@gmail.com
обсуждение исходный текст
Ответ на Re: libpq (C++) - Insert binary data  (Merlin Moncure <mmoncure@gmail.com>)
Ответы Re: libpq (C++) - Insert binary data  (John R Pierce <pierce@hogranch.com>)
Список pgsql-general
  thanks for this tip, but as far as I understand it libpqtypes is not
part of the original lipq libary .
This will result in the same problem as with the Qt libraries, it will
add another dependecy to my plugin, which is not allowed.

Chris

On 2010/09/30 10:59 PM, Merlin Moncure wrote:
> On Thu, Sep 30, 2010 at 11:42 AM, GOO Creations<goocreations@gmail.com>  wrote:
>>   Yes there is a reason I'm not using Qt's libraries. Qt doesn't come out
>> with PSQL as default driver (meaning you have to manually download the
>> driver for Qt postgres). I'm developing a plugin for an app that restricts
>> Qt, no extra depedncies are allowed. But the app has libpq as dependcy, so
>> I'm able to use that.
> here is my response from the previous time I answered the question.
> There a number of ways to deal with this (my favorite by far is
> libpqtypes, but I'm quite biased!):
>
> On Wed, Jul 21, 2010 at 9:27 AM, Merlin Moncure<mmoncure@gmail.com>  wrote:
>> On Mon, Jul 19, 2010 at 8:14 PM, vinicius_bra<viniciusams@yahoo.com.br>  wrote:
>>> Hi All,
>>>
>>> I'm developing a system in C and I have a unsigned char pointer that
>>> represents a struct and I like to store it in a bytea column in postgreSQL.
>>> How can I do it?
>>> Example:
>> you have several options:
>> *) encode the memory for the structure PQescapeStringConn and send to
>> PQexec (my least favorite method)
>> *) set up a call to PQexecParams (more work, but faster and no escaping)
>> *) make a composite type on the server and send your structure in a
>> more classical SQL way
>> *) use libpqtypes (this is the most set up work, but the best in the
>> long run) :-)
>>
>> w/libpqtypes:
>> PGbytea b = {sizeof(s),&s};
>> PGresult *res = PQexecf(conn, "insert into t values (%bytea)", b);
>> PQclear(res);
>>
>> merlin
>>


В списке pgsql-general по дате отправления:

Предыдущее
От: Christian Ullrich
Дата:
Сообщение: Re: libpq (C++) - Insert binary data
Следующее
От: Michele Petrazzo - Unipex
Дата:
Сообщение: Re: [9.0] hot standby plus streaming replication