Re: Data into an array

From: "Pavel Stehule" <pavel(dot)stehule(at)gmail(dot)com>
To: sub3 <steve(at)subwest(dot)com>
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: Data into an array
Date: 2008-08-26 19:42:20
Message-ID: 162867790808261242r7ae04256ga7f9a3a99bac9b03@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Hello

2008/8/26 sub3 <steve(at)subwest(dot)com>:
>
> Hi,
> I am trying to compress some data down into a single row (making it an
> array). I believe I am close, but I still keep getting an error: "ERROR:
> query has no destination for result data"
>
> Does anyone have an idea what is going wrong? Thanks.
>
> CREATE or REPLACE FUNCTION getVSS(f_pvid integer, f_time timestamp, OUT
> o_port integer[], OUT o_conf double precision[], OUT d_port integer[], OUT
> d_conf double precision[]) RETURNS setof record
> as $$ DECLARE
> vssview RECORD;
> BEGIN
> o_port = ARRAY[0];
> o_conf = ARRAY[0];
> d_port = ARRAY[0];
> d_conf = ARRAY[0];
> FOR vssview IN select vss_orig.portid, vss_orig.confidence from vss,
> vss_orig where vss.vssmsg = vss_orig.vssmsg AND pvid = f_pvid and f_time
> between starttime and endtime LOOP
> select array_append(o_port, vssview.portid);
> select array_append(o_conf, vssview.confidence);
> END LOOP;
> FOR vssview IN select vss_dest.portid, vss_dest.confidence from vss,
> vss_dest where vss.vssmsg = vss_dest.vssmsg AND pvid = f_pvid and f_time
> between starttime and endtime LOOP

> select array_append(d_port, vssview.portid);
> select array_append(d_conf, vssview.confidence);

you cannot use free select inside function. Use SELECT INTO or just
assign statement:

correct:

d_port := array_append(d_port, vssview.portid);
d_conf := array_append(d_conf, vssview.confidence);

1. array_append is function! 2. PostgreSQL function never use byref variables.

> END LOOP;
> END;
> $$ LANGUAGE plpgsql;
> --

Regards
Pavel Stehule

> View this message in context: http://www.nabble.com/Data-into-an-array-tp19167834p19167834.html
> Sent from the PostgreSQL - sql mailing list archive at Nabble.com.
>
>
> --
> Sent via pgsql-sql mailing list (pgsql-sql(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-sql
>

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message sub3 2008-08-27 00:40:20 Re: Data into an array
Previous Message sub3 2008-08-26 18:40:21 Data into an array