aboutsummaryrefslogtreecommitdiff
path: root/src/backend/commands/discard.c
diff options
context:
space:
mode:
authorRobert Haas <rhaas@postgresql.org>2013-10-03 16:17:18 -0400
committerRobert Haas <rhaas@postgresql.org>2013-10-03 16:23:31 -0400
commitd90ced8bb22194cbb45f58beb0961251103aeff5 (patch)
tree6f11b8ffc02e1eaeb3ba9d80bf5cfbf8f9232c09 /src/backend/commands/discard.c
parentc64e68fd9f1132fec563fb5de53dc3bcccb5fc3b (diff)
downloadpostgresql-d90ced8bb22194cbb45f58beb0961251103aeff5.tar.gz
postgresql-d90ced8bb22194cbb45f58beb0961251103aeff5.zip
Add DISCARD SEQUENCES command.
DISCARD ALL will now discard cached sequence information, as well. Fabrízio de Royes Mello, reviewed by Zoltán Böszörményi, with some further tweaks by me.
Diffstat (limited to 'src/backend/commands/discard.c')
-rw-r--r--src/backend/commands/discard.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/backend/commands/discard.c b/src/backend/commands/discard.c
index 76f3ab672ad..9010368f577 100644
--- a/src/backend/commands/discard.c
+++ b/src/backend/commands/discard.c
@@ -18,13 +18,14 @@
#include "commands/async.h"
#include "commands/discard.h"
#include "commands/prepare.h"
+#include "commands/sequence.h"
#include "utils/guc.h"
#include "utils/portal.h"
static void DiscardAll(bool isTopLevel);
/*
- * DISCARD { ALL | TEMP | PLANS }
+ * DISCARD { ALL | SEQUENCES | TEMP | PLANS }
*/
void
DiscardCommand(DiscardStmt *stmt, bool isTopLevel)
@@ -39,6 +40,10 @@ DiscardCommand(DiscardStmt *stmt, bool isTopLevel)
ResetPlanCache();
break;
+ case DISCARD_SEQUENCES:
+ ResetSequenceCaches();
+ break;
+
case DISCARD_TEMP:
ResetTempTableNamespace();
break;
@@ -69,4 +74,5 @@ DiscardAll(bool isTopLevel)
LockReleaseAll(USER_LOCKMETHOD, true);
ResetPlanCache();
ResetTempTableNamespace();
+ ResetSequenceCaches();
}