diff options
Diffstat (limited to 'src/backend/bootstrap')
-rw-r--r-- | src/backend/bootstrap/bootparse.y | 34 | ||||
-rw-r--r-- | src/backend/bootstrap/bootscanner.l | 1 | ||||
-rw-r--r-- | src/backend/bootstrap/bootstrap.c | 14 |
3 files changed, 14 insertions, 35 deletions
diff --git a/src/backend/bootstrap/bootparse.y b/src/backend/bootstrap/bootparse.y index 4c72989cc25..71c3714c48c 100644 --- a/src/backend/bootstrap/bootparse.y +++ b/src/backend/bootstrap/bootparse.y @@ -113,8 +113,8 @@ static int num_columns_read = 0; %type <list> boot_index_params %type <ielem> boot_index_param %type <str> boot_ident -%type <ival> optbootstrap optsharedrelation optwithoutoids boot_column_nullness -%type <oidval> oidspec optoideq optrowtypeoid +%type <ival> optbootstrap optsharedrelation boot_column_nullness +%type <oidval> oidspec optrowtypeoid %token <str> ID %token COMMA EQUALS LPAREN RPAREN @@ -123,7 +123,7 @@ static int num_columns_read = 0; /* All the rest are unreserved, and should be handled in boot_ident! */ %token <kw> OPEN XCLOSE XCREATE INSERT_TUPLE %token <kw> XDECLARE INDEX ON USING XBUILD INDICES UNIQUE XTOAST -%token <kw> OBJ_ID XBOOTSTRAP XSHARED_RELATION XWITHOUT_OIDS XROWTYPE_OID +%token <kw> OBJ_ID XBOOTSTRAP XSHARED_RELATION XROWTYPE_OID %token <kw> XFORCE XNOT XNULL %start TopLevel @@ -170,7 +170,7 @@ Boot_CloseStmt: ; Boot_CreateStmt: - XCREATE boot_ident oidspec optbootstrap optsharedrelation optwithoutoids optrowtypeoid LPAREN + XCREATE boot_ident oidspec optbootstrap optsharedrelation optrowtypeoid LPAREN { do_start(); numattr = 0; @@ -192,7 +192,7 @@ Boot_CreateStmt: do_start(); - tupdesc = CreateTupleDesc(numattr, !($6), attrtypes); + tupdesc = CreateTupleDesc(numattr, attrtypes); shared_relation = $5; @@ -236,7 +236,7 @@ Boot_CreateStmt: PG_CATALOG_NAMESPACE, shared_relation ? GLOBALTABLESPACE_OID : 0, $3, - $7, + $6, InvalidOid, BOOTSTRAP_SUPERUSERID, tupdesc, @@ -245,8 +245,6 @@ Boot_CreateStmt: RELPERSISTENCE_PERMANENT, shared_relation, mapped_relation, - true, - 0, ONCOMMIT_NOOP, (Datum) 0, false, @@ -261,13 +259,10 @@ Boot_CreateStmt: ; Boot_InsertStmt: - INSERT_TUPLE optoideq + INSERT_TUPLE { do_start(); - if ($2) - elog(DEBUG4, "inserting row with oid %u", $2); - else - elog(DEBUG4, "inserting row"); + elog(DEBUG4, "inserting row"); num_columns_read = 0; } LPAREN boot_column_val_list RPAREN @@ -277,7 +272,7 @@ Boot_InsertStmt: numattr, num_columns_read); if (boot_reldesc == NULL) elog(FATAL, "relation not open"); - InsertOneTuple($2); + InsertOneTuple(); do_end(); } ; @@ -432,11 +427,6 @@ optsharedrelation: | { $$ = 0; } ; -optwithoutoids: - XWITHOUT_OIDS { $$ = 1; } - | { $$ = 0; } - ; - optrowtypeoid: XROWTYPE_OID oidspec { $$ = $2; } | { $$ = InvalidOid; } @@ -466,11 +456,6 @@ oidspec: boot_ident { $$ = atooid($1); } ; -optoideq: - OBJ_ID EQUALS oidspec { $$ = $3; } - | { $$ = InvalidOid; } - ; - boot_column_val_list: boot_column_val | boot_column_val_list boot_column_val @@ -501,7 +486,6 @@ boot_ident: | OBJ_ID { $$ = pstrdup($1); } | XBOOTSTRAP { $$ = pstrdup($1); } | XSHARED_RELATION { $$ = pstrdup($1); } - | XWITHOUT_OIDS { $$ = pstrdup($1); } | XROWTYPE_OID { $$ = pstrdup($1); } | XFORCE { $$ = pstrdup($1); } | XNOT { $$ = pstrdup($1); } diff --git a/src/backend/bootstrap/bootscanner.l b/src/backend/bootstrap/bootscanner.l index 739087b786f..14bc0888979 100644 --- a/src/backend/bootstrap/bootscanner.l +++ b/src/backend/bootstrap/bootscanner.l @@ -91,7 +91,6 @@ create { yylval.kw = "create"; return XCREATE; } OID { yylval.kw = "OID"; return OBJ_ID; } bootstrap { yylval.kw = "bootstrap"; return XBOOTSTRAP; } shared_relation { yylval.kw = "shared_relation"; return XSHARED_RELATION; } -without_oids { yylval.kw = "without_oids"; return XWITHOUT_OIDS; } rowtype_oid { yylval.kw = "rowtype_oid"; return XROWTYPE_OID; } insert { yylval.kw = "insert"; return INSERT_TUPLE; } diff --git a/src/backend/bootstrap/bootstrap.c b/src/backend/bootstrap/bootstrap.c index 578af2e66d8..7caab64ce78 100644 --- a/src/backend/bootstrap/bootstrap.c +++ b/src/backend/bootstrap/bootstrap.c @@ -616,7 +616,7 @@ boot_openrel(char *relname) app = Typ; while ((tup = heap_getnext(scan, ForwardScanDirection)) != NULL) { - (*app)->am_oid = HeapTupleGetOid(tup); + (*app)->am_oid = ((Form_pg_type) GETSTRUCT(tup))->oid; memcpy((char *) &(*app)->am_typ, (char *) GETSTRUCT(tup), sizeof((*app)->am_typ)); @@ -799,20 +799,16 @@ DefineAttr(char *name, char *type, int attnum, int nullness) * ---------------- */ void -InsertOneTuple(Oid objectid) +InsertOneTuple(void) { HeapTuple tuple; TupleDesc tupDesc; int i; - elog(DEBUG4, "inserting row oid %u, %d columns", objectid, numattr); + elog(DEBUG4, "inserting row with %d columns", numattr); - tupDesc = CreateTupleDesc(numattr, - RelationGetForm(boot_reldesc)->relhasoids, - attrtypes); + tupDesc = CreateTupleDesc(numattr, attrtypes); tuple = heap_form_tuple(tupDesc, values, Nulls); - if (objectid != (Oid) 0) - HeapTupleSetOid(tuple, objectid); pfree(tupDesc); /* just free's tupDesc, not the attrtypes */ simple_heap_insert(boot_reldesc, tuple); @@ -946,7 +942,7 @@ gettype(char *type) app = Typ; while ((tup = heap_getnext(scan, ForwardScanDirection)) != NULL) { - (*app)->am_oid = HeapTupleGetOid(tup); + (*app)->am_oid = ((Form_pg_type) GETSTRUCT(tup))->oid; memmove((char *) &(*app++)->am_typ, (char *) GETSTRUCT(tup), sizeof((*app)->am_typ)); |