From: | Michael Fuhr <mike(at)fuhr(dot)org> |
---|---|
To: | Kevin McArthur <Kevin(at)StormTide(dot)ca> |
Cc: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: RESULT_OID Bug |
Date: | 2005-07-26 23:58:15 |
Message-ID: | 20050726235815.GA85285@winnie.fuhr.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Tue, Jul 26, 2005 at 04:31:21PM -0700, Kevin McArthur wrote:
> I cannot repoduce your experience with this bug. No matter what I do,
> reconnect session or otherwise, it never returns a proper oid on the newer
> cvs vers (I suspect it may be related to the roles update)
Hmmm...my system is only a couple of hours old; the only code it's
missing is the recent "Minor correction: cause ALTER ROLE role ROLE
role" commit:
http://archives.postgresql.org/pgsql-committers/2005-07/msg00545.php
Here's a test case on my system, run in a fresh session in a
newly-created database named test2:
CREATE TABLE foo (a time DEFAULT now()) WITH OIDS;
CREATE FUNCTION oidtest() RETURNS integer AS $$
DECLARE
insert_oid_var INTEGER;
BEGIN
INSERT INTO foo DEFAULT VALUES;
GET DIAGNOSTICS insert_oid_var = RESULT_OID;
RETURN insert_oid_var;
END;
$$ LANGUAGE plpgsql VOLATILE;
SELECT oidtest();
oidtest
---------
16565
(1 row)
SELECT oidtest();
oidtest
---------
16566
(1 row)
CREATE OR REPLACE FUNCTION oidtest() RETURNS integer AS $$
DECLARE
insert_oid_var INTEGER;
BEGIN
INSERT INTO foo DEFAULT VALUES;
GET DIAGNOSTICS insert_oid_var = RESULT_OID;
RETURN insert_oid_var;
END;
$$ LANGUAGE plpgsql VOLATILE;
SELECT oidtest();
oidtest
---------
(1 row)
\c test2
You are now connected to database "test2".
SELECT oidtest();
oidtest
---------
16568
(1 row)
--
Michael Fuhr
http://www.fuhr.org/~mfuhr/
From | Date | Subject | |
---|---|---|---|
Next Message | Kevin McArthur | 2005-07-27 00:12:04 | Re: RESULT_OID Bug |
Previous Message | Andrew Dunstan | 2005-07-26 23:57:49 | Re: ENUM type |