aboutsummaryrefslogtreecommitdiff
path: root/src/backend/tcop/utility.c
diff options
context:
space:
mode:
authorSimon Riggs <simon@2ndQuadrant.com>2014-12-09 00:28:00 +0900
committerSimon Riggs <simon@2ndQuadrant.com>2014-12-09 00:28:00 +0900
commitfe263d115a7dd16095b8b8f1e943aff2bb4574d2 (patch)
tree2aad301f83277d605f7b87a0a2f91957fbe5771e /src/backend/tcop/utility.c
parent8001fe67a3d66c95861ce1f7075ef03953670d13 (diff)
downloadpostgresql-fe263d115a7dd16095b8b8f1e943aff2bb4574d2.tar.gz
postgresql-fe263d115a7dd16095b8b8f1e943aff2bb4574d2.zip
REINDEX SCHEMA
Add new SCHEMA option to REINDEX and reindexdb. Sawada Masahiko Reviewed by Michael Paquier and Fabrízio de Royes Mello
Diffstat (limited to 'src/backend/tcop/utility.c')
-rw-r--r--src/backend/tcop/utility.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/backend/tcop/utility.c b/src/backend/tcop/utility.c
index 58f78ce50d5..aa8fe880d7e 100644
--- a/src/backend/tcop/utility.c
+++ b/src/backend/tcop/utility.c
@@ -749,14 +749,15 @@ standard_ProcessUtility(Node *parsetree,
PreventCommandDuringRecovery("REINDEX");
switch (stmt->kind)
{
- case OBJECT_INDEX:
+ case REINDEX_OBJECT_INDEX:
ReindexIndex(stmt->relation);
break;
- case OBJECT_TABLE:
- case OBJECT_MATVIEW:
+ case REINDEX_OBJECT_TABLE:
ReindexTable(stmt->relation);
break;
- case OBJECT_DATABASE:
+ case REINDEX_OBJECT_SCHEMA:
+ case REINDEX_OBJECT_SYSTEM:
+ case REINDEX_OBJECT_DATABASE:
/*
* This cannot run inside a user transaction block; if
@@ -765,9 +766,9 @@ standard_ProcessUtility(Node *parsetree,
* intended effect!
*/
PreventTransactionChain(isTopLevel,
- "REINDEX DATABASE");
- ReindexDatabase(stmt->name,
- stmt->do_system, stmt->do_user);
+ (stmt->kind == REINDEX_OBJECT_SCHEMA) ?
+ "REINDEX SCHEMA" : "REINDEX DATABASE");
+ ReindexObject(stmt->name, stmt->kind);
break;
default:
elog(ERROR, "unrecognized object type: %d",