The following bug has been logged online:
Bug reference: 4783
Logged by: Alex
Email address: oktogen@mail.ru
PostgreSQL version: 8.4
Operating system: WinXP
Description: new syntax in tablefunction - not output cells
Details:
CREATE TABLE tst (
"id" BIGSERIAL,
"vl" DOUBLE PRECISION DEFAULT 0 NOT NULL,
CONSTRAINT "tst_pkey" PRIMARY KEY("id")
) WITHOUT OIDS;
INSERT INTO tst(id)
VALUES (1),(2),(2),(2),(2),(2),(2),(2),(2),(2),
(2),(2),(2),(2),(2),(2),(2),(2),(2),(2),(2),(2),(2),(2),(2),(2),(2),(2),(2),
(2),(2),(2),(2),(2),
(2),(2),(2),(2),(2),(2),(2),(2),(2),(2),(2),(2),
(2),(2),(2),(2),(2),(2),(2),(2),(2),(2),(2),(2),
(2),(2),(2),(2),(2),(2),(2),(2),(2),(2),(2),(2),
(2),(2),(2),(2),(2),(2),(2),(2),(2),(2),(2),(2);
CREATE OR REPLACE FUNCTION
test1 () RETURNS TABLE(id BIGINT, vl DOUBLE PRECISION) AS
$body$
BEGIN
RETURN QUERY
SELECT
id,
vl
FROM tst;
END
$body$
LANGUAGE 'plpgsql'
IMMUTABLE
CALLED ON NULL INPUT
SECURITY DEFINER
COST 1000 ROWS 1000;
CREATE OR REPLACE FUNCTION
test2 () RETURNS TABLE(id BIGINT, vl DOUBLE PRECISION) AS
$body$
SELECT
id,
vl
FROM tst;
END
$body$
LANGUAGE 'sql'
IMMUTABLE
CALLED ON NULL INPUT
SECURITY DEFINER
COST 1000 ROWS 1000;
query SELECT * FROM test1(); return NULL's if
name columns in "RETURN QUERY" = name columns in
"RETURNS TABLE".
was tested with languages: plpgsql and sql
this is bag or feature?
thank's