summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/backend/commands/sequence.c2
-rw-r--r--src/test/regress/expected/sequence.out3
-rw-r--r--src/test/regress/sql/sequence.sql2
3 files changed, 7 insertions, 0 deletions
diff --git a/src/backend/commands/sequence.c b/src/backend/commands/sequence.c
index eba7cad6ec3..f3344c6207d 100644
--- a/src/backend/commands/sequence.c
+++ b/src/backend/commands/sequence.c
@@ -1617,4 +1617,6 @@ ResetSequenceCaches(void)
free(seqtab);
seqtab = next;
}
+
+ last_used_seq = NULL;
}
diff --git a/src/test/regress/expected/sequence.out b/src/test/regress/expected/sequence.out
index 37e9a8cfa1a..8fcb70015fb 100644
--- a/src/test/regress/expected/sequence.out
+++ b/src/test/regress/expected/sequence.out
@@ -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
diff --git a/src/test/regress/sql/sequence.sql b/src/test/regress/sql/sequence.sql
index 31cbc926c02..be5e9a97bf4 100644
--- a/src/test/regress/sql/sequence.sql
+++ b/src/test/regress/sql/sequence.sql
@@ -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');