diff --git a/doc/src/sgml/bki.sgml b/doc/src/sgml/bki.sgml index 0fb309a1bd..1919bac936 100644 --- a/doc/src/sgml/bki.sgml +++ b/doc/src/sgml/bki.sgml @@ -89,7 +89,7 @@ The CATALOG line can also be annotated, with some other BKI property macros described in genbki.h, to define other properties of the catalog as a whole, such as whether - it has OIDs (by default, it does). + it is a shared relation. @@ -354,7 +354,7 @@ also needed if the row's OID must be referenced from C code. If neither case applies, the oid metadata field can be omitted, in which case the bootstrap code assigns an OID - automatically, or leaves it zero in a catalog that has no OIDs. + automatically. In practice we usually preassign OIDs for all or none of the pre-loaded rows in a given catalog, even if only some of them are actually cross-referenced. @@ -387,15 +387,16 @@ through the catalog headers and .dat files to see which ones do not appear. You can also use the duplicate_oids script to check for mistakes. - (genbki.pl will also detect duplicate OIDs + (genbki.pl will assign OIDs for any rows that + didn't get one hand-assigned to them and also detect duplicate OIDs at compile time.) The OID counter starts at 10000 at the beginning of a bootstrap run. - If a catalog row is in a table that requires OIDs, but no OID was - preassigned by an oid field, then it will - receive an OID of 10000 or above. + If a row from a source other than postgres.bki + is inserted into a table that requires OIDs, then it will receive an + OID of 10000 or above. @@ -714,7 +715,6 @@ $ perl rewrite_dat_with_prokind.pl pg_proc.dat tableoid bootstrap shared_relation - without_oids rowtype_oid oid (name1 = type1 @@ -766,7 +766,6 @@ $ perl rewrite_dat_with_prokind.pl pg_proc.dat The table is created as shared if shared_relation is specified. - It will have OIDs unless without_oids is specified. The table's row type OID (pg_type OID) can optionally be specified via the rowtype_oid clause; if not specified, an OID is automatically generated for it. (The rowtype_oid @@ -805,7 +804,7 @@ $ perl rewrite_dat_with_prokind.pl pg_proc.dat - insert OID = oid_value ( value1 value2 ... ) + insert OID = oid_value ( oid_value value1 value2 ... ) @@ -813,11 +812,10 @@ $ perl rewrite_dat_with_prokind.pl pg_proc.dat Insert a new row into the open table using value1, value2, etc., for its column - values and oid_value for its OID. If - oid_value is zero - (0) or the clause is omitted, and the table has OIDs, then the - next available OID is assigned. + values and oid_value + for its OID. Note that OID is stored in an ordinary column; the + OID = oid_value + statement is only there for debugging purposes. @@ -991,10 +989,10 @@ $ perl rewrite_dat_with_prokind.pl pg_proc.dat int4 and text, respectively, and insert two rows into the table: -create test_table 420 (cola = int4, colb = text) +create test_table 420 (oid = oid, cola = int4, colb = text) open test_table -insert OID=421 ( 1 "value1" ) -insert OID=422 ( 2 _null_ ) +insert OID=421 ( 421 1 "value1" ) +insert OID=422 ( 422 2 _null_ ) close test_table