i am having a problem with a plperl function. bellow function always returns me an error saying "elements of Perl result array must be reference to hash"
Can anyone point me out what i am doing wrong here?
Basically i try to return data from a select in a specific record format.
(i know that bellow example does not require a function, just want to get a feel for it.)
Thanks in advance for any tips.
Alex
DROP FUNCTION get_item (); DROP TYPE my_items;
CREATE TYPE my_items AS (
item_id INTEGER, description TEXT, order_date DATE);
CREATE FUNCTION get_item () RETURNS SETOF my_items AS $$
my $res = []; my $rv = spi_exec_query('SELECT * FROM items LIMIT 10');
my $nrows = $rv->{processed}; foreach my $rn (0 .. $nrows - 1) {
my $row = $rv->{rows}[$rn]; my @record;
$record[0] = $row->{item_id}; $record[1] = $row->{item_descr}; $record[2] = $row->{start_date};
push @$res, @record; } return $res;
$$ LANGUAGE plperl;
---------------------------(end of broadcast)--------------------------- TIP 5: Have you checked our extensive FAQ?
http://www.postgresql.org/docs/faq