diff options
Diffstat (limited to 'src/backend/bootstrap/bootparse.y')
-rw-r--r-- | src/backend/bootstrap/bootparse.y | 68 |
1 files changed, 50 insertions, 18 deletions
diff --git a/src/backend/bootstrap/bootparse.y b/src/backend/bootstrap/bootparse.y index 18f0add852e..ec634f1660e 100644 --- a/src/backend/bootstrap/bootparse.y +++ b/src/backend/bootstrap/bootparse.y @@ -279,18 +279,34 @@ Boot_InsertStmt: Boot_DeclareIndexStmt: XDECLARE INDEX boot_ident oidspec ON boot_ident USING boot_ident LPAREN boot_index_params RPAREN { + IndexStmt *stmt = makeNode(IndexStmt); + do_start(); - DefineIndex(makeRangeVar(NULL, $6, -1), - $3, + stmt->idxname = $3; + stmt->relation = makeRangeVar(NULL, $6, -1); + stmt->accessMethod = $8; + stmt->tableSpace = NULL; + stmt->indexParams = $10; + stmt->options = NIL; + stmt->whereClause = NULL; + stmt->excludeOpNames = NIL; + stmt->idxcomment = NULL; + stmt->indexOid = InvalidOid; + stmt->oldNode = InvalidOid; + stmt->unique = false; + stmt->primary = false; + stmt->isconstraint = false; + stmt->deferrable = false; + stmt->initdeferred = false; + stmt->concurrent = false; + + DefineIndex(stmt, $4, - InvalidOid, - $8, - NULL, - $10, - NULL, NIL, NIL, - false, false, false, false, false, - false, false, true, false, false); + false, + false, + true, /* skip_build */ + false); do_end(); } ; @@ -298,18 +314,34 @@ Boot_DeclareIndexStmt: Boot_DeclareUniqueIndexStmt: XDECLARE UNIQUE INDEX boot_ident oidspec ON boot_ident USING boot_ident LPAREN boot_index_params RPAREN { + IndexStmt *stmt = makeNode(IndexStmt); + do_start(); - DefineIndex(makeRangeVar(NULL, $7, -1), - $4, + stmt->idxname = $4; + stmt->relation = makeRangeVar(NULL, $7, -1); + stmt->accessMethod = $9; + stmt->tableSpace = NULL; + stmt->indexParams = $11; + stmt->options = NIL; + stmt->whereClause = NULL; + stmt->excludeOpNames = NIL; + stmt->idxcomment = NULL; + stmt->indexOid = InvalidOid; + stmt->oldNode = InvalidOid; + stmt->unique = true; + stmt->primary = false; + stmt->isconstraint = false; + stmt->deferrable = false; + stmt->initdeferred = false; + stmt->concurrent = false; + + DefineIndex(stmt, $5, - InvalidOid, - $9, - NULL, - $11, - NULL, NIL, NIL, - true, false, false, false, false, - false, false, true, false, false); + false, + false, + true, /* skip_build */ + false); do_end(); } ; |