RETURN QUERY still does not work perfect in Postgres 8.4

Started by Michal Szymanskialmost 17 years ago1 messagesbugs
Jump to latest
#1Michal Szymanski
mich20061@gmail.com

Try this:
=============================
DROP TABLE bug_table;
CREATE TABLE "bug_table" (
"id" BIGINT NOT NULL,
test VARCHAR,
CONSTRAINT "test_table_pkey" PRIMARY KEY("id")
) WITHOUT OIDS;

DROP FUNCTION buggy_procedure();
CREATE FUNCTION buggy_procedure() RETURNS SETOF bug_table
AS $$
BEGIN
-- @todo hide password
RETURN QUERY (
SELECT *
FROM bug_table
);
END;
$$
LANGUAGE plpgsql STRICT SECURITY DEFINER;

SELECT * FROM buggy_procedure(); -- All Okey
ALTER TABLE bug_table DROP COLUMN test;
SELECT * FROM buggy_procedure(); -- Bug
=========================

For our system this bug (or functionality) is a big problem. We cannot
drop table and import data for modified table - some table are huge
and sometimes there are many references.

I've tried to use RETURN TABLE but I have also problem with this:
http://groups.google.pl/group/pgsql.general/browse_thread/thread/a028c9ed2663b69b?hl=pl#

Michal Szymanski
http://blog.szymanskich.net