7.4 beta1 plpgsql regression
The below function works in 7.3 (returns nothing, but no errors).
rbttest=# begin;
BEGIN
rbttest=# create or replace function service.test(integer)
rbttest-# returns setof service.service
rbttest-# as '
rbttest'# declare
rbttest'# v_service service.service%rowtype;
rbttest'#
rbttest'# begin
rbttest'#
rbttest'#
rbttest'# return;
rbttest'# end;
rbttest'# ' language plpgsql;
CREATE FUNCTION
rbttest=# select * from service.test(1);
ERROR: cache lookup failed for type 0
CONTEXT: compile of PL/pgSQL function "test" near line 2
Rod Taylor <rbt@rbt.ca> writes:
The below function works in 7.3 (returns nothing, but no errors).
rbttest=3D# select * from service.test(1);
ERROR: cache lookup failed for type 0
CONTEXT: compile of PL/pgSQL function "test" near line 2
Hmm, works fine here ...
regression=# create schema service;
CREATE SCHEMA
regression=# create table service.service (f1 int, f2 text);
CREATE TABLE
regression=# create or replace function service.test(integer)
regression-# returns setof service.service
regression-# as '
regression'# declare
regression'# v_service service.service%rowtype;
regression'# begin
regression'# return;
regression'# end;
regression'# ' language plpgsql;
CREATE FUNCTION
regression=# select * from service.test(1);
f1 | f2
----+----
(0 rows)
regression=#
regards, tom lane
I think I have a catalog corruption (self inflicted I'm sure). A dump /
reload of the database corrects the issue here as well.
Show quoted text
On Thu, 2003-08-14 at 08:33, Tom Lane wrote:
Rod Taylor <rbt@rbt.ca> writes:
The below function works in 7.3 (returns nothing, but no errors).
rbttest=3D# select * from service.test(1);
ERROR: cache lookup failed for type 0
CONTEXT: compile of PL/pgSQL function "test" near line 2Hmm, works fine here ...
regression=# create schema service;
CREATE SCHEMA
regression=# create table service.service (f1 int, f2 text);
CREATE TABLE
regression=# create or replace function service.test(integer)
regression-# returns setof service.service
regression-# as '
regression'# declare
regression'# v_service service.service%rowtype;
regression'# begin
regression'# return;
regression'# end;
regression'# ' language plpgsql;
CREATE FUNCTION
regression=# select * from service.test(1);
f1 | f2
----+----
(0 rows)regression=#
regards, tom lane