Help with a plperl function - Mailing list pgsql-general

From Alex
Subject Help with a plperl function
Date
Msg-id 4263E797.8000500@meerkatsoft.com
Whole thread Raw
Responses Re: Help with a plperl function  (Michael Fuhr <mike@fuhr.org>)
List pgsql-general
Hi,
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;


pgsql-general by date:

Previous
From: Scott Marlowe
Date:
Subject: Re: Building a "complex" select?
Next
From: Matt Van Mater
Date:
Subject: *bsd port that installs the contribs?