Array to rowset function

From: laurie(dot)burrow(at)powerconv(dot)alstom(dot)com
To: pgsql-general(at)postgresql(dot)org
Subject: Array to rowset function
Date: 2005-01-17 14:03:56
Message-ID: OF9C920B61.00089777-ON80256F8C.004B5253-80256F8C.004D6B7A@transport.alstom.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

I have a function to convert a single dimension array to a row set

CREATE OR REPLACE FUNCTION arraytotable(anyarray)
RETURNS SETOF anyelement AS
'
DECLARE

theData ALIAS FOR $1;
count integer;
start integer;

BEGIN
start :=array_lower(theData,1);
count :=array_upper(theData,1);
IF start is not null THEN
FOR i IN start..count LOOP
RETURN NEXT theData[i];
END LOOP;
END IF;

RETURN;
END
'
LANGUAGE 'plpgsql' IMMUTABLE STRICT;

Is there a more efficient way I can do this and are there any user defined
C functions available for this sort of array manipulation?

Thanks for any help
Laurie

:.________________
CONFIDENTIALITY : This e-mail and any attachments are confidential and
may be privileged. If you are not a named recipient, please notify the
sender immediately and do not disclose the contents to another person, use
it for any purpose or store or copy the information in any medium.

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Adrian Klaver 2005-01-17 14:31:49 Re: Multiline plpython procedure
Previous Message Nick Burch 2005-01-17 13:42:07 What is postgresql doing for "statement: commit;begin;"