diff options
-rw-r--r-- | src/backend/commands/sequence.c | 2 | ||||
-rw-r--r-- | src/test/regress/expected/sequence.out | 3 | ||||
-rw-r--r-- | src/test/regress/sql/sequence.sql | 2 |
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'); |