From: | imraan(at)techie(dot)com |
---|---|
To: | pgsql-bugs(at)postgresql(dot)org |
Subject: | BUG #14099: Altering temporary sequence in session has no effect |
Date: | 2016-04-18 17:13:47 |
Message-ID: | 20160418171347.22920.22798@wrigleys.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
The following bug has been logged on the website:
Bug reference: 14099
Logged by: Imraan Parker
Email address: imraan(at)techie(dot)com
PostgreSQL version: 9.5.2
Operating system: Linux
Description:
Altering a temporary sequence using ALTER SEQUENCE within a session has no
effect. I am trying to set the starting value of the sequence. All this
happens within a PL/PGSQL function as seen below.
CREATE OR REPLACE FUNCTION _test_seq() RETURNS integer AS
$BODY$
BEGIN
BEGIN
CREATE TEMP SEQUENCE tt_seq;
EXCEPTION WHEN OTHERS THEN
ALTER SEQUENCE tt_seq START 1;
--PERFORM setval('tt_seq', 1);
END;
PERFORM nextval('tt_seq');
PERFORM nextval('tt_seq');
PERFORM nextval('tt_seq');
RETURN currval('tt_seq');
END;
$BODY$ LANGUAGE plpgsql VOLATILE;
SELECT * FROM _test_seq();
Running the function increments the sequence but never sets it back to 1. If
you uncomment the setval(), then it works.
The ALTER SEQUENCE works on 9.1 and 9.3. I do not have a 9.4 instance to
test on so I cannot be sure if the problem is there too.
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2016-04-18 17:37:11 | Re: BUG #14098: misleading message "out of shared memory" when lock table space exhausted |
Previous Message | johnlumby | 2016-04-18 16:46:48 | BUG #14098: misleading message "out of shared memory" when lock table space exhausted |