BUG #6511: calling spi_exec_query from non-main package, results in: couldn't fetch $_TD

Поиск
Список
Период
Сортировка
От marko@kobaz.net
Тема BUG #6511: calling spi_exec_query from non-main package, results in: couldn't fetch $_TD
Дата
Msg-id E1S3uUe-0005ER-RD@wrigleys.postgresql.org
обсуждение исходный текст
Ответы Re: BUG #6511: calling spi_exec_query from non-main package, results in: couldn't fetch $_TD  (Alex Hunsaker <badalex@gmail.com>)
Список pgsql-bugs
The following bug has been logged on the website:

Bug reference:      6511
Logged by:          Mark Murawski
Email address:      marko@kobaz.net
PostgreSQL version: 9.1.3
Operating system:   Linux - Debian Squeeze postgres 9.1 from backports
Description:=20=20=20=20=20=20=20=20

create table mytable ( id integer );

--
CREATE OR REPLACE FUNCTION mytrigger()  RETURNS trigger AS $BODY$
return undef
$BODY$ LANGUAGE plperlu VOLATILE COST 100;

--
CREATE TRIGGER "insert"  BEFORE INSERT  ON mytable  FOR EACH ROW  EXECUTE
PROCEDURE mytrigger();

--
CREATE OR REPLACE FUNCTION myfunc()  RETURNS text AS $BODY$
package foo;
sub foo {
  main::spi_exec_query(q{INSERT INTO mytable VALUES (1) RETURNING id});
};

package main;
foo::foo();
return;
$BODY$  LANGUAGE plperlu VOLATILE  COST 100;

--

pbx=3D# select * from myfunc();
ERROR:  couldn't fetch $_TD at line 4.
CONTEXT:  PL/Perl function "myfunc"





-- this works:

CREATE OR REPLACE FUNCTION myfunc()  RETURNS text AS $BODY$
package foo;
sub foo {
  package main;
  spi_exec_query(q{INSERT INTO mytable VALUES (1) RETURNING id});
};

package main;
foo::foo();
return;
$BODY$  LANGUAGE plperlu VOLATILE  COST 100;


select * from myfunc();
 myfunc
--------

(1 row)




drop table mytable;
drop function mytrigger();
drop function myfunc();

В списке pgsql-bugs по дате отправления:

Предыдущее
От: stefano.baccianella@gmail.com
Дата:
Сообщение: BUG #6512: Bug with prepared statement and timestamp + interval
Следующее
От: vygen@kicktipp.de
Дата:
Сообщение: BUG #6518: archive_command stderr not in log if log_destination=syslog