From: | Sean Chittenden <sean(at)chittenden(dot)org> |
---|---|
To: | pgsql-bugs(at)postgresql(dot)org |
Subject: | pg_class_aclcheck: relation [oid] not found... |
Date: | 2003-05-26 23:10:50 |
Message-ID: | 20030526231050.GY71079@perrin.int.nxad.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
Howdy. There's a bug in the handling of clean up temp tables. It
seems as though there's a missing call to ReleaseSysCache around line
4237 of backend/commands/tablecmds.c... though adding such a call
doesn't solve the problem. Hrm. This one's pretty easy to reproduce
and there doesn't seem to be any mystery about how to trigger it:
CREATE SCHEMA s;
CREATE FUNCTION s.f()
RETURNS BIGINT
EXTERNAL SECURITY DEFINER
AS '
BEGIN
EXECUTE ''CREATE LOCAL TEMP TABLE t (
a TEXT NOT NULL,
b TEXT
) WITHOUT OIDS ON COMMIT DROP;'';
EXECUTE ''CREATE UNIQUE INDEX t_key_udx ON t(a);'';
INSERT INTO t (a, b) VALUES (''foo''::TEXT, ''bar''::TEXT);
IF NOT FOUND THEN
RAISE EXCEPTION ''Unable to insert t'';
END IF;
RETURN 0::BIGINT;
END;
' LANGUAGE 'plpgsql';
BEGIN;
SELECT s.f();
COMMIT;
BEGIN;
SELECT s.f();
COMMIT;
And the output:
test=# BEGIN;
BEGIN
test=# SELECT s.f();
f
---
0
(1 row)
test=# COMMIT;
COMMIT
test=# BEGIN;
BEGIN
test=# SELECT s.f();
ERROR: pg_class_aclcheck: relation 2265016 not found
CONTEXT: PL/pgSQL function f line 8 at SQL statement
What bothers me about this, however, is that the functional equivalent
performed outside of a pl/pgsql function works which leads me to
believe that it's a pl/pgsql problem:
BEGIN;
CREATE LOCAL TEMP TABLE t (
a TEXT NOT NULL,
b TEXT
) WITHOUT OIDS ON COMMIT DROP;
CREATE UNIQUE INDEX t_key_udx ON t(a);
INSERT INTO t (a, b) VALUES ('foo'::TEXT, 'bar'::TEXT);
COMMIT;
BEGIN;
CREATE LOCAL TEMP TABLE t (
a TEXT NOT NULL,
b TEXT
) WITHOUT OIDS ON COMMIT DROP;
CREATE UNIQUE INDEX t_key_udx ON t(a);
INSERT INTO t (a, b) VALUES ('foo'::TEXT, 'bar'::TEXT);
COMMIT;
Anyway, I hope this helps. -sc
--
Sean Chittenden
From | Date | Subject | |
---|---|---|---|
Next Message | Mendola Gaetano | 2003-05-27 00:55:50 | Re: Bug in sequence dependency checking |
Previous Message | Tom Lane | 2003-05-26 20:16:54 | Re: Bug #928: server_min_messages (log_min_messages in CVS) |