BUG #6645: Getting an error with “ERROR: PL/Perl function must return reference to hash or array”?
От | me@evancarroll.com |
---|---|
Тема | BUG #6645: Getting an error with “ERROR: PL/Perl function must return reference to hash or array”? |
Дата | |
Msg-id | E1SUhO9-00074q-53@wrigleys.postgresql.org обсуждение исходный текст |
Ответы |
Re: [BUGS] BUG #6645: Getting an error with “ERROR: PL/Perl function must return reference to hash or array”?
|
Список | pgsql-bugs |
The following bug has been logged on the website: Bug reference: 6645 Logged by: Evna Carroll Email address: me@evancarroll.com PostgreSQL version: 9.1.2 Operating system: Linux Description: This is a cross post from dba.stackexchange.com: http://dba.stackexchange.com/q/17998/2639 The follow code used to work in Postgresql 8.4.11 with perl v5.10.1: =# select * From testfunction(); testfunction ------------------------ http://www.google.com/ However, after doing a dump and load into Postgresql 9.1.3 with perl v5.14.2 I get: ERROR: PL/Perl function must return reference to hash or array CONTEXT: PL/Perl function "testfunction" For reference, here is the function: CREATE OR REPLACE FUNCTION testfunction(OUT text) AS $$ use URI; return URI->new('http://www.google.com/')->canonical; $$ LANGUAGE plperlu; Again, the version of perl changed from v5.10.1 to v5.14.2; however, the return from Data::Peek is the same across both versions: $ perl -MData::Peek -MURI -e'DPeek( URI->new(q[http://www.google.com])->canonical );' Output on both versions of perl: \PVMG("http://www.google.com/"\0)
В списке pgsql-bugs по дате отправления: