From: | Achilleus Mantzios <achill(at)matrix(dot)gatewaynet(dot)com> |
---|---|
To: | "G(dot) Anthony Reina" <gar8+(at)pitt(dot)edu> |
Cc: | Joe Conway <mail(at)joeconway(dot)com>, <pgsql-sql(at)postgresql(dot)org> |
Subject: | Re: How can I pass an array from PostgreSQL to C (libpq)? |
Date: | 2003-03-27 11:36:15 |
Message-ID: | Pine.LNX.4.44.0303270936000.10513-100000@matrix.gatewaynet.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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(at)joeconway(dot)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(at)postgresql(dot)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(at)matrix(dot)gatewaynet(dot)com
mantzios(at)softlab(dot)ece(dot)ntua(dot)gr
From | Date | Subject | |
---|---|---|---|
Next Message | Correia, Carla | 2003-03-27 13:42:06 | Re: Complex outer joins? |
Previous Message | Achilleus Mantzios | 2003-03-27 11:32:56 | Re: Off topic : world database |