[PATCH] Doc: improve documentation of oid columns that can be zero. (correct version)

Started by Joel Jacobsonalmost 5 years ago6 messages
#1Joel Jacobson
joel@compiler.org
1 attachment(s)

Please ignore previous email, the attached file was 0 bytes.
Here comes the patch again, now including data.

--

Doc: improve documentation of oid columns that can be zero.

pg_attribute.atttypid
Zero if column is dropped.

pg_class.relam
Can be zero, e.g. for views.

pg_depend.classid
Zero for pinned objects.

pg_language.lanplcallfoid
Zero for internal languages.

pg_operator.oprcode
Zero if none.

pg_operator.oprcom
Zero if none.

pg_operator.oprjoin
Zero if none.

pg_operator.oprnegate
Zero if none.

pg_operator.oprrest
Zero if none.

pg_operator.oprresult
Zero if none.

pg_policy.polroles
Array with a zero element if none.

pg_shdepend.classid
Zero for pinned objects (deptype='p'),
meaning there is no dependent object.

pg_shdepend.objid
Zero if none.

pg_trigger.tgconstrindid
Zero if none.

pg_trigger.tgconstrrelid
Zero if none.

Attachments:

document-all-zero-if-none-cases.patchapplication/octet-stream; name=document-all-zero-if-none-cases.patchDownload
diff --git a/doc/src/sgml/catalogs.sgml b/doc/src/sgml/catalogs.sgml
index 865e826fb0..d330687339 100644
--- a/doc/src/sgml/catalogs.sgml
+++ b/doc/src/sgml/catalogs.sgml
@@ -1150,7 +1150,7 @@
        (references <link linkend="catalog-pg-type"><structname>pg_type</structname></link>.<structfield>oid</structfield>)
       </para>
       <para>
-       The data type of this column
+       The data type of this column (zero if dropped)
       </para></entry>
      </row>
 
@@ -1932,7 +1932,7 @@ SCRAM-SHA-256$<replaceable>&lt;iteration count&gt;</replaceable>:<replaceable>&l
       </para>
       <para>
        If this is a table or an index, the access method used (heap,
-       B-tree, hash, etc.)
+       B-tree, hash, etc.), zero otherwise.
       </para></entry>
      </row>
 
@@ -3236,7 +3236,8 @@ SCRAM-SHA-256$<replaceable>&lt;iteration count&gt;</replaceable>:<replaceable>&l
        (references <link linkend="catalog-pg-class"><structname>pg_class</structname></link>.<structfield>oid</structfield>)
       </para>
       <para>
-       The OID of the system catalog the dependent object is in
+       The OID of the system catalog the dependent object is in, or zero
+       for pinned objects (deptype='p'), meaning there is no dependent object.
       </para></entry>
      </row>
 
@@ -3246,7 +3247,7 @@ SCRAM-SHA-256$<replaceable>&lt;iteration count&gt;</replaceable>:<replaceable>&l
        (references any OID column)
       </para>
       <para>
-       The OID of the specific dependent object
+       The OID of the specific dependent object (zero if none)
       </para></entry>
      </row>
 
@@ -4687,7 +4688,7 @@ SCRAM-SHA-256$<replaceable>&lt;iteration count&gt;</replaceable>:<replaceable>&l
        For noninternal languages this references the language
        handler, which is a special function that is responsible for
        executing all functions that are written in the particular
-       language
+       language. Zero for internal languages.
       </para></entry>
      </row>
 
@@ -5209,7 +5210,7 @@ SCRAM-SHA-256$<replaceable>&lt;iteration count&gt;</replaceable>:<replaceable>&l
        (references <link linkend="catalog-pg-type"><structname>pg_type</structname></link>.<structfield>oid</structfield>)
       </para>
       <para>
-       Type of the result
+       Type of the result (zero if none)
       </para></entry>
      </row>
 
@@ -5219,7 +5220,7 @@ SCRAM-SHA-256$<replaceable>&lt;iteration count&gt;</replaceable>:<replaceable>&l
        (references <link linkend="catalog-pg-operator"><structname>pg_operator</structname></link>.<structfield>oid</structfield>)
       </para>
       <para>
-       Commutator of this operator, if any
+       Commutator of this operator (zero if none)
       </para></entry>
      </row>
 
@@ -5229,7 +5230,7 @@ SCRAM-SHA-256$<replaceable>&lt;iteration count&gt;</replaceable>:<replaceable>&l
        (references <link linkend="catalog-pg-operator"><structname>pg_operator</structname></link>.<structfield>oid</structfield>)
       </para>
       <para>
-       Negator of this operator, if any
+       Negator of this operator (zero if none)
       </para></entry>
      </row>
 
@@ -5239,7 +5240,7 @@ SCRAM-SHA-256$<replaceable>&lt;iteration count&gt;</replaceable>:<replaceable>&l
        (references <link linkend="catalog-pg-proc"><structname>pg_proc</structname></link>.<structfield>oid</structfield>)
       </para>
       <para>
-       Function that implements this operator
+       Function that implements this operator (zero if none)
       </para></entry>
      </row>
 
@@ -5249,7 +5250,7 @@ SCRAM-SHA-256$<replaceable>&lt;iteration count&gt;</replaceable>:<replaceable>&l
        (references <link linkend="catalog-pg-proc"><structname>pg_proc</structname></link>.<structfield>oid</structfield>)
       </para>
       <para>
-       Restriction selectivity estimation function for this operator
+       Restriction selectivity estimation function for this operator (zero if none)
       </para></entry>
      </row>
 
@@ -5259,7 +5260,7 @@ SCRAM-SHA-256$<replaceable>&lt;iteration count&gt;</replaceable>:<replaceable>&l
        (references <link linkend="catalog-pg-proc"><structname>pg_proc</structname></link>.<structfield>oid</structfield>)
       </para>
       <para>
-       Join selectivity estimation function for this operator
+       Join selectivity estimation function for this operator (zero if none)
       </para></entry>
      </row>
     </tbody>
@@ -5588,7 +5589,7 @@ SCRAM-SHA-256$<replaceable>&lt;iteration count&gt;</replaceable>:<replaceable>&l
        (references <link linkend="catalog-pg-authid"><structname>pg_authid</structname></link>.<structfield>oid</structfield>)
       </para>
       <para>
-       The roles to which the policy is applied
+       The roles to which the policy is applied (array with zero element if none)
       </para></entry>
      </row>
 
@@ -6742,7 +6743,8 @@ SCRAM-SHA-256$<replaceable>&lt;iteration count&gt;</replaceable>:<replaceable>&l
        (references <link linkend="catalog-pg-class"><structname>pg_class</structname></link>.<structfield>oid</structfield>)
       </para>
       <para>
-       The OID of the system catalog the dependent object is in
+       The OID of the system catalog the dependent object is in, or zero
+       for pinned objects (deptype='p'), meaning there is no dependent object.
       </para></entry>
      </row>
 
@@ -6752,7 +6754,7 @@ SCRAM-SHA-256$<replaceable>&lt;iteration count&gt;</replaceable>:<replaceable>&l
        (references any OID column)
       </para>
       <para>
-       The OID of the specific dependent object
+       The OID of the specific dependent object (zero if none)
       </para></entry>
      </row>
 
@@ -7975,7 +7977,7 @@ SCRAM-SHA-256$<replaceable>&lt;iteration count&gt;</replaceable>:<replaceable>&l
        (references <link linkend="catalog-pg-class"><structname>pg_class</structname></link>.<structfield>oid</structfield>)
       </para>
       <para>
-       The table referenced by a referential integrity constraint
+       The table referenced by a referential integrity constraint (zero if none)
       </para></entry>
      </row>
 
@@ -7986,7 +7988,7 @@ SCRAM-SHA-256$<replaceable>&lt;iteration count&gt;</replaceable>:<replaceable>&l
       </para>
       <para>
        The index supporting a unique, primary key, referential integrity,
-       or exclusion constraint
+       or exclusion constraint (zero if none)
       </para></entry>
      </row>
 
#2Euler Taveira
euler@eulerto.com
In reply to: Joel Jacobson (#1)
Re: [PATCH] Doc: improve documentation of oid columns that can be zero. (correct version)

On Sun, Jan 31, 2021, at 10:27 AM, Joel Jacobson wrote:

Here comes the patch again, now including data.

Joel, register this patch into the next CF [1]https://commitfest.postgresql.org/32/ so we don't lose track of it.

[1]: https://commitfest.postgresql.org/32/

--
Euler Taveira
EDB https://www.enterprisedb.com/

#3Joel Jacobson
joel@compiler.org
In reply to: Euler Taveira (#2)
Re: [PATCH] Doc: improve documentation of oid columns that can be zero. (correct version)

Hi Euler,

I've tried to login to the CF interface a couple of times now, but seems to have lost my password.
I've tried to use the "Password reset" form [1]https://www.postgresql.org/account/reset/, but I don't get any email.
The email is correct, because when I try to re-register it says it's taken.

Not sure who I should ask for help. Anyone?

/Joel

[1]: https://www.postgresql.org/account/reset/

On Tue, Feb 2, 2021, at 03:10, Euler Taveira wrote:

On Sun, Jan 31, 2021, at 10:27 AM, Joel Jacobson wrote:

Here comes the patch again, now including data.

Joel, register this patch into the next CF [1] so we don't lose track of it.

[1] https://commitfest.postgresql.org/32/

--
Euler Taveira
EDB https://www.enterprisedb.com/

Kind regards,

Joel

#4Euler Taveira
euler@eulerto.com
In reply to: Joel Jacobson (#3)
Re: [PATCH] Doc: improve documentation of oid columns that can be zero. (correct version)

On Tue, Feb 2, 2021, at 5:13 AM, Joel Jacobson wrote:

I've tried to login to the CF interface a couple of times now, but seems to have lost my password.
I've tried to use the "Password reset" form [1], but I don't get any email.
The email is correct, because when I try to re-register it says it's taken.

Not sure who I should ask for help. Anyone?

You should probably email: webmaster (at) postgresql (dot) org

--
Euler Taveira
EDB https://www.enterprisedb.com/

#5Joel Jacobson
joel@compiler.org
In reply to: Euler Taveira (#4)
Re: [PATCH] Doc: improve documentation of oid columns that can be zero. (correct version)

On Tue, Feb 2, 2021, at 12:34, Euler Taveira wrote:

You should probably email: webmaster (at) postgresql (dot) org

Thanks, done.

/Joel

#6Tom Lane
tgl@sss.pgh.pa.us
In reply to: Joel Jacobson (#1)
Re: [PATCH] Doc: improve documentation of oid columns that can be zero. (correct version)

"Joel Jacobson" <joel@compiler.org> writes:

Doc: improve documentation of oid columns that can be zero.

Since this is pretty closely tied to the catalog-foreign-key work,
I went ahead and reviewed/pushed it. The zero notations now match
up with what we'd found in the other thread.

regards, tom lane