diff options
author | Simon Riggs <simon@2ndQuadrant.com> | 2014-12-09 00:28:00 +0900 |
---|---|---|
committer | Simon Riggs <simon@2ndQuadrant.com> | 2014-12-09 00:28:00 +0900 |
commit | fe263d115a7dd16095b8b8f1e943aff2bb4574d2 (patch) | |
tree | 2aad301f83277d605f7b87a0a2f91957fbe5771e /src/backend/tcop/utility.c | |
parent | 8001fe67a3d66c95861ce1f7075ef03953670d13 (diff) | |
download | postgresql-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.c | 15 |
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", |