summaryrefslogtreecommitdiff
path: root/src/backend/commands/discard.c
diff options
context:
space:
mode:
authorRobert Haas2013-10-03 20:17:18 +0000
committerRobert Haas2013-10-03 20:23:31 +0000
commitd90ced8bb22194cbb45f58beb0961251103aeff5 (patch)
tree6f11b8ffc02e1eaeb3ba9d80bf5cfbf8f9232c09 /src/backend/commands/discard.c
parentc64e68fd9f1132fec563fb5de53dc3bcccb5fc3b (diff)
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();
}