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