提交 16a906f5 编写于 作者: R Robert Haas

Make DISCARD SEQUENCES also discard the last used sequence.

Otherwise, we access already-freed memory.  Oops.

Report by Michael Paquier.  Fix by me.
上级 689746c0
......@@ -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');
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册