diff options
Diffstat (limited to 'src/backend/parser')
-rw-r--r-- | src/backend/parser/gram.y | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y index 0de9584e531..bd180e7e87b 100644 --- a/src/backend/parser/gram.y +++ b/src/backend/parser/gram.y @@ -6434,6 +6434,32 @@ IndexStmt: CREATE opt_unique INDEX opt_concurrently opt_index_name n->isconstraint = false; n->deferrable = false; n->initdeferred = false; + n->if_not_exists = false; + $$ = (Node *)n; + } + | CREATE opt_unique INDEX opt_concurrently IF_P NOT EXISTS index_name + ON qualified_name access_method_clause '(' index_params ')' + opt_reloptions OptTableSpace where_clause + { + IndexStmt *n = makeNode(IndexStmt); + n->unique = $2; + n->concurrent = $4; + n->idxname = $8; + n->relation = $10; + n->accessMethod = $11; + n->indexParams = $13; + n->options = $15; + n->tableSpace = $16; + n->whereClause = $17; + n->excludeOpNames = NIL; + n->idxcomment = NULL; + n->indexOid = InvalidOid; + n->oldNode = InvalidOid; + n->primary = false; + n->isconstraint = false; + n->deferrable = false; + n->initdeferred = false; + n->if_not_exists = true; $$ = (Node *)n; } ; |