mirror of
https://github.com/postgres/postgres.git
synced 2025-07-28 23:42:10 +03:00
Make DISCARD SEQUENCES also discard the last used sequence.
Otherwise, we access already-freed memory. Oops. Report by Michael Paquier. Fix by me.
This commit is contained in:
@ -1617,4 +1617,6 @@ ResetSequenceCaches(void)
|
||||
free(seqtab);
|
||||
seqtab = next;
|
||||
}
|
||||
|
||||
last_used_seq = NULL;
|
||||
}
|
||||
|
@ -344,6 +344,9 @@ SELECT lastval();
|
||||
99
|
||||
(1 row)
|
||||
|
||||
DISCARD SEQUENCES;
|
||||
SELECT lastval();
|
||||
ERROR: lastval is not yet defined in this session
|
||||
CREATE SEQUENCE seq2;
|
||||
SELECT nextval('seq2');
|
||||
nextval
|
||||
|
@ -154,6 +154,8 @@ SELECT nextval('seq');
|
||||
SELECT lastval();
|
||||
SELECT setval('seq', 99);
|
||||
SELECT lastval();
|
||||
DISCARD SEQUENCES;
|
||||
SELECT lastval();
|
||||
|
||||
CREATE SEQUENCE seq2;
|
||||
SELECT nextval('seq2');
|
||||
|
Reference in New Issue
Block a user