Re: Passing arrays

From: Achilleus Mantzios <achill(at)matrix(dot)gatewaynet(dot)com>
To: David Durst <ddurst(at)larubber(dot)com>
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: Passing arrays
Date: 2003-02-14 13:17:31
Message-ID: Pine.LNX.4.44.0302141108510.21195-200000@matrix.gatewaynet.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice pgsql-sql

On Fri, 14 Feb 2003, David Durst wrote:

> This is slightly off the original topic but related.
>
> Is there any function or way I can easily find the size of the passed array?

You can always parse

SELECT array_dims(<your array column here>)::text from <your table here> ;

Or write a function using the macros in
/usr/local/pgsql/include/server/utils/array.h
to get the size of each dimension.

(i have attached a simple function that does that)

> > On Fri, 14 Feb 2003, Michael Weaver wrote:
> >
> >>
> >>
> >> > -----Original Message-----
> >> > From: Stephan Szabo [mailto:sszabo(at)megazone23(dot)bigpanda(dot)com]
> >> > Sent: Friday, 14 February 2003 12:58 PM
> >> > To: Michael Weaver
> >> > Cc: 'pgsql-novice(at)postgresql(dot)org'; 'pgsql-sql(at)postgresql(dot)org'
> >> > Subject: Re: [SQL] Passing arrays
> >> >
> >> >
> >> >
> >> > On Fri, 14 Feb 2003, Michael Weaver wrote:
> >> >
> >> > > How do you get an array of elements to be passed to a
> >> > stored proc such that
> >> > > you can use the array in a SELECT statement in the WHERE clause
> >> > > - e.g. WHERE field IN (array) etc...
> >> >
> >> > A straight WHERE field IN (array) doesn't work. That's attempting
> >> to compare the field directly to the array as a whole (which is
> >> > why you get
> >> > the particular error you do.
> >>
> >> I've got around this limitation using strings, but I do find it
> >> suprising, that Postgres handles arrays this way.
> >> Searching an array in an WHERE IN clause would be a useful task.
> >> (namely for passing arrays of values between stored functions)
> >>
> >> Ok it could be confusing, but I think a number of other DBs employ it
> >> to good effect.
> >>
> >> I'll take a look at the array extension in contrib - it sounds useful.
> >
> > Also check out contrib/intarray and its indexing capabilites
> > if you have 1 dimensional integer arrays.
> >
> >>
> >> Thanks.
> >>
> >
> > ==================================================================
> > Achilleus Mantzios
> > S/W Engineer
> > IT dept
> > Dynacom Tankers Mngmt
> > Nikis 4, Glyfada
> > Athens 16610
> > Greece
> > tel: +30-10-8981112
> > fax: +30-10-8981877
> > email: achill(at)matrix(dot)gatewaynet(dot)com
> > mantzios(at)softlab(dot)ece(dot)ntua(dot)gr
> >
> >
> > ---------------------------(end of broadcast)---------------------------
> > TIP 1: subscribe and unsubscribe commands go to majordomo(at)postgresql(dot)org
>
>
>
>
> ---------------------------(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-10-8981112
fax: +30-10-8981877
email: achill(at)matrix(dot)gatewaynet(dot)com
mantzios(at)softlab(dot)ece(dot)ntua(dot)gr

Attachment Content-Type Size
arrlevel.c text/plain 777 bytes

In response to

Browse pgsql-novice by date

  From Date Subject
Next Message guillermo schulman 2003-02-14 14:10:05 Displaying from a script
Previous Message Achilleus Mantzios 2003-02-14 12:10:09 Re: [SQL] Passing arrays

Browse pgsql-sql by date

  From Date Subject
Next Message Mintoo Lall 2003-02-14 15:34:13 Drop temporary table only if it exists
Previous Message Tomasz Myrta 2003-02-14 12:59:22 Re: sub-query optimization