aboutsummaryrefslogtreecommitdiff
path: root/src/backend/parser/gram.y
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/parser/gram.y')
-rw-r--r--src/backend/parser/gram.y35
1 files changed, 21 insertions, 14 deletions
diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y
index 7e48958ae85..4b5009b636d 100644
--- a/src/backend/parser/gram.y
+++ b/src/backend/parser/gram.y
@@ -404,7 +404,7 @@ static Node *makeRecursiveViewSelect(char *relname, List *aliases, Node *query);
%type <boolean> copy_from opt_program
%type <ival> opt_column event cursor_options opt_hold opt_set_data
-%type <objtype> reindex_type drop_type comment_type security_label_type
+%type <objtype> drop_type comment_type security_label_type
%type <node> fetch_args limit_clause select_limit_value
offset_clause select_offset_value
@@ -7198,41 +7198,48 @@ opt_if_exists: IF_P EXISTS { $$ = TRUE; }
*****************************************************************************/
ReindexStmt:
- REINDEX reindex_type qualified_name opt_force
+ REINDEX INDEX qualified_name opt_force
{
ReindexStmt *n = makeNode(ReindexStmt);
- n->kind = $2;
+ n->kind = REINDEX_OBJECT_INDEX;
n->relation = $3;
n->name = NULL;
$$ = (Node *)n;
}
+ | REINDEX TABLE qualified_name opt_force
+ {
+ ReindexStmt *n = makeNode(ReindexStmt);
+ n->kind = REINDEX_OBJECT_TABLE;
+ n->relation = $3;
+ n->name = NULL;
+ $$ = (Node *)n;
+ }
+ | REINDEX SCHEMA name opt_force
+ {
+ ReindexStmt *n = makeNode(ReindexStmt);
+ n->kind = REINDEX_OBJECT_SCHEMA;
+ n->name = $3;
+ n->relation = NULL;
+ $$ = (Node *)n;
+ }
| REINDEX SYSTEM_P name opt_force
{
ReindexStmt *n = makeNode(ReindexStmt);
- n->kind = OBJECT_DATABASE;
+ n->kind = REINDEX_OBJECT_SYSTEM;
n->name = $3;
n->relation = NULL;
- n->do_system = true;
- n->do_user = false;
$$ = (Node *)n;
}
| REINDEX DATABASE name opt_force
{
ReindexStmt *n = makeNode(ReindexStmt);
- n->kind = OBJECT_DATABASE;
+ n->kind = REINDEX_OBJECT_DATABASE;
n->name = $3;
n->relation = NULL;
- n->do_system = true;
- n->do_user = true;
$$ = (Node *)n;
}
;
-reindex_type:
- INDEX { $$ = OBJECT_INDEX; }
- | TABLE { $$ = OBJECT_TABLE; }
- ;
-
opt_force: FORCE { $$ = TRUE; }
| /* EMPTY */ { $$ = FALSE; }
;