Re: How can I pass an array from PostgreSQL to C (libpq)?

Поиск
Список
Период
Сортировка
От Achilleus Mantzios
Тема Re: How can I pass an array from PostgreSQL to C (libpq)?
Дата
Msg-id Pine.LNX.4.44.0303270936000.10513-100000@matrix.gatewaynet.com
обсуждение исходный текст
Ответ на Re: How can I pass an array from PostgreSQL to C (libpq)?  ("G. Anthony Reina" <gar8+@pitt.edu>)
Список pgsql-sql
On Wed, 26 Mar 2003, G. Anthony Reina wrote:

See contrib/intarray

> Yes, in the past I had used binary cursor and things seemed to work fine. 
> However, recently when I ran the binary cursor stuff, the array ends up 
> getting shifted to the right one index. So what should be placed in 
> array_var[n] was getting placed in array var[n+1]. Plus, I was always a 
> little concerned with the binary cursor when going across platforms (e.g. 
> endianess, alignment).
> 
> I ended up just writing a little script that parses the string for the 
> comma separators. That works fine, but wanted to see if others had more 
> elegant solutions. I'll take a look at the /utils directory you mentioned. 
> Perhaps there are functions that I'm not aware of (e.g. I didn't know there 
> was a built in function called array_dims that gives the array dimensions).
> 
> -Tony
> 
> 
> --On Wednesday, March 26, 2003 11:07 AM -0800 Joe Conway 
> <mail@joeconway.com> wrote:r
> >
> > PQgetvalue is always going to give you the string representation of the
> > field value *unless* you specify a binary cursor. In that case you'll get
> > all requested fields in binary form, and it's your responsibility to deal
> > with making sense of what you get. There are some backend macros and
> > functions that can help you get at array values. Take a look at
> > src/utils/adt/arrayfuncs.c and src/include/utils/array.h. You might want
> > to read through contrib/array and/or contrib/intarray for examples.
> >
> > You could also consider writing your array manipulation code in a user
> > defined C function and just return the end result to the libpq program.
> > It's hard to know if this is an option without more detail on what you're
> > trying to do.
> >
> > Joe
> >
> 
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
>     (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
> 

-- 
==================================================================
Achilleus Mantzios
S/W Engineer
IT dept
Dynacom Tankers Mngmt
Nikis 4, Glyfada
Athens 16610
Greece
tel:    +30-210-8981112
fax:    +30-210-8981877
email:  achill@matrix.gatewaynet.com       mantzios@softlab.ece.ntua.gr



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

Предыдущее
От: Achilleus Mantzios
Дата:
Сообщение: Re: Off topic : world database
Следующее
От: Tomasz Myrta
Дата:
Сообщение: Re: Off topic : world database