Remove 'datlastsysoid'.
authorRobert Haas <rhaas@postgresql.org>
Thu, 20 Jan 2022 13:56:54 +0000 (08:56 -0500)
committerRobert Haas <rhaas@postgresql.org>
Thu, 20 Jan 2022 14:01:12 +0000 (09:01 -0500)
It hasn't been used for anything for a long time. Up until recently,
we still queried it when dumping very old servers, but since
commit 30e7c175b81d53c0f60f6ad12d1913a6d7d77008, there's no longer any
code at all that cares about it.

Discussion: http://postgr.es/m/CA+Tgmoa14=BRq0WEd0eevjEMn9EkghDB1FZEkBw7+UAb7tF49A@mail.gmail.com

doc/src/sgml/bki.sgml
doc/src/sgml/catalogs.sgml
doc/src/sgml/ecpg.sgml
src/backend/commands/dbcommands.c
src/bin/initdb/initdb.c
src/include/catalog/catversion.h
src/include/catalog/pg_database.dat
src/include/catalog/pg_database.h

index f900a01b82424f7c477fd2ce63b79fda8460a6da..ae32bfcb7e6a3d149429fb715a52d3d0c354a4d1 100644 (file)
   descr =&gt; 'database\'s default template',
   datname =&gt; 'template1', encoding =&gt; 'ENCODING', datcollate =&gt; 'LC_COLLATE',
   datctype =&gt; 'LC_CTYPE', datistemplate =&gt; 't', datallowconn =&gt; 't',
-  datconnlimit =&gt; '-1', datlastsysoid =&gt; '0', datfrozenxid =&gt; '0',
+  datconnlimit =&gt; '-1', datfrozenxid =&gt; '0',
   datminmxid =&gt; '1', dattablespace =&gt; 'pg_default', datacl =&gt; '_null_' },
 
 ]
index 2aeb2ef346e1ebb887afb08a2cc1e86a7cd3798d..1e65c426b28eac5aa20cf16f78dc3623cd9e84dd 100644 (file)
@@ -3001,16 +3001,6 @@ SCRAM-SHA-256$<replaceable>&lt;iteration count&gt;</replaceable>:<replaceable>&l
       </para></entry>
      </row>
 
-     <row>
-      <entry role="catalog_table_entry"><para role="column_definition">
-       <structfield>datlastsysoid</structfield> <type>oid</type>
-      </para>
-      <para>
-       Last system OID in the database; useful
-       particularly to <application>pg_dump</application>
-      </para></entry>
-     </row>
-
      <row>
       <entry role="catalog_table_entry"><para role="column_definition">
        <structfield>datfrozenxid</structfield> <type>xid</type>
index 5a2dc4a8ae8344aa828e4dc24626242000067b22..cdc4761c60276cfc91288d1e20b2c930827d1111 100644 (file)
@@ -4732,7 +4732,6 @@ encoding = 0 (type: 5)
 datistemplate = t (type: 1)
 datallowconn = t (type: 1)
 datconnlimit = -1 (type: 5)
-datlastsysoid = 11510 (type: 1)
 datfrozenxid = 379 (type: 1)
 dattablespace = 1663 (type: 1)
 datconfig =  (type: 1)
@@ -4757,7 +4756,6 @@ encoding = 0 (type: 5)
 datistemplate = f (type: 1)
 datallowconn = t (type: 1)
 datconnlimit = -1 (type: 5)
-datlastsysoid = 11510 (type: 1)
 datfrozenxid = 379 (type: 1)
 dattablespace = 1663 (type: 1)
 datconfig =  (type: 1)
index 509d1a3e92f0e382648599662a0c9d75ba8c9c38..da8345561d8f6536b187f8c8ebfd11cc12c1b9d9 100644 (file)
@@ -84,8 +84,7 @@ static void movedb_failure_callback(int code, Datum arg);
 static bool get_db_info(const char *name, LOCKMODE lockmode,
                        Oid *dbIdP, Oid *ownerIdP,
                        int *encodingP, bool *dbIsTemplateP, bool *dbAllowConnP,
-                       Oid *dbLastSysOidP, TransactionId *dbFrozenXidP,
-                       MultiXactId *dbMinMultiP,
+                       TransactionId *dbFrozenXidP, MultiXactId *dbMinMultiP,
                        Oid *dbTablespace, char **dbCollate, char **dbCtype);
 static bool have_createdb_privilege(void);
 static void remove_dbtablespaces(Oid db_id);
@@ -108,7 +107,6 @@ createdb(ParseState *pstate, const CreatedbStmt *stmt)
    char       *src_ctype = NULL;
    bool        src_istemplate;
    bool        src_allowconn;
-   Oid         src_lastsysoid = InvalidOid;
    TransactionId src_frozenxid = InvalidTransactionId;
    MultiXactId src_minmxid = InvalidMultiXactId;
    Oid         src_deftablespace;
@@ -318,7 +316,7 @@ createdb(ParseState *pstate, const CreatedbStmt *stmt)
 
    if (!get_db_info(dbtemplate, ShareLock,
                     &src_dboid, &src_owner, &src_encoding,
-                    &src_istemplate, &src_allowconn, &src_lastsysoid,
+                    &src_istemplate, &src_allowconn,
                     &src_frozenxid, &src_minmxid, &src_deftablespace,
                     &src_collate, &src_ctype))
        ereport(ERROR,
@@ -532,7 +530,6 @@ createdb(ParseState *pstate, const CreatedbStmt *stmt)
    new_record[Anum_pg_database_datistemplate - 1] = BoolGetDatum(dbistemplate);
    new_record[Anum_pg_database_datallowconn - 1] = BoolGetDatum(dballowconnections);
    new_record[Anum_pg_database_datconnlimit - 1] = Int32GetDatum(dbconnlimit);
-   new_record[Anum_pg_database_datlastsysoid - 1] = ObjectIdGetDatum(src_lastsysoid);
    new_record[Anum_pg_database_datfrozenxid - 1] = TransactionIdGetDatum(src_frozenxid);
    new_record[Anum_pg_database_datminmxid - 1] = TransactionIdGetDatum(src_minmxid);
    new_record[Anum_pg_database_dattablespace - 1] = ObjectIdGetDatum(dst_deftablespace);
@@ -802,7 +799,7 @@ dropdb(const char *dbname, bool missing_ok, bool force)
    pgdbrel = table_open(DatabaseRelationId, RowExclusiveLock);
 
    if (!get_db_info(dbname, AccessExclusiveLock, &db_id, NULL, NULL,
-                    &db_istemplate, NULL, NULL, NULL, NULL, NULL, NULL, NULL))
+                    &db_istemplate, NULL, NULL, NULL, NULL, NULL, NULL))
    {
        if (!missing_ok)
        {
@@ -1001,7 +998,7 @@ RenameDatabase(const char *oldname, const char *newname)
    rel = table_open(DatabaseRelationId, RowExclusiveLock);
 
    if (!get_db_info(oldname, AccessExclusiveLock, &db_id, NULL, NULL,
-                    NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL))
+                    NULL, NULL, NULL, NULL, NULL, NULL, NULL))
        ereport(ERROR,
                (errcode(ERRCODE_UNDEFINED_DATABASE),
                 errmsg("database \"%s\" does not exist", oldname)));
@@ -1114,7 +1111,7 @@ movedb(const char *dbname, const char *tblspcname)
    pgdbrel = table_open(DatabaseRelationId, RowExclusiveLock);
 
    if (!get_db_info(dbname, AccessExclusiveLock, &db_id, NULL, NULL,
-                    NULL, NULL, NULL, NULL, NULL, &src_tblspcoid, NULL, NULL))
+                    NULL, NULL, NULL, NULL, &src_tblspcoid, NULL, NULL))
        ereport(ERROR,
                (errcode(ERRCODE_UNDEFINED_DATABASE),
                 errmsg("database \"%s\" does not exist", dbname)));
@@ -1757,8 +1754,7 @@ static bool
 get_db_info(const char *name, LOCKMODE lockmode,
            Oid *dbIdP, Oid *ownerIdP,
            int *encodingP, bool *dbIsTemplateP, bool *dbAllowConnP,
-           Oid *dbLastSysOidP, TransactionId *dbFrozenXidP,
-           MultiXactId *dbMinMultiP,
+           TransactionId *dbFrozenXidP, MultiXactId *dbMinMultiP,
            Oid *dbTablespace, char **dbCollate, char **dbCtype)
 {
    bool        result = false;
@@ -1839,9 +1835,6 @@ get_db_info(const char *name, LOCKMODE lockmode,
                /* allowing connections? */
                if (dbAllowConnP)
                    *dbAllowConnP = dbform->datallowconn;
-               /* last system OID used in database */
-               if (dbLastSysOidP)
-                   *dbLastSysOidP = dbform->datlastsysoid;
                /* limit of frozen XIDs */
                if (dbFrozenXidP)
                    *dbFrozenXidP = dbform->datfrozenxid;
index f964a000f80ded5cf331c404f2b43ff90ff71245..0a2dba7d18e6d8a6c6846ce91367b4baee3301f5 100644 (file)
@@ -1841,13 +1841,6 @@ make_template0(FILE *cmdfd)
    static const char *const template0_setup[] = {
        "CREATE DATABASE template0 IS_TEMPLATE = true ALLOW_CONNECTIONS = false;\n\n",
 
-       /*
-        * We use the OID of template0 to determine datlastsysoid
-        */
-       "UPDATE pg_database SET datlastsysoid = "
-       "    (SELECT oid FROM pg_database "
-       "    WHERE datname = 'template0');\n\n",
-
        /*
         * Explicitly revoke public create-schema and create-temp-table
         * privileges in template1 and template0; else the latter would be on
index 1c2e38daf42bbbb74128559af3d0f3dd74c0613e..2f32ae169671267b9d87cd43fdf273c823217f34 100644 (file)
@@ -53,6 +53,6 @@
  */
 
 /*                         yyyymmddN */
-#define CATALOG_VERSION_NO 202201191
+#define CATALOG_VERSION_NO 202201201
 
 #endif
index d05d8eecf490a1140038945d257bec26c547b513..d0b0c2d9a0e3aba1bb626fb44acbdfd5b240d9be 100644 (file)
@@ -16,7 +16,7 @@
   descr => 'default template for new databases',
   datname => 'template1', encoding => 'ENCODING', datcollate => 'LC_COLLATE',
   datctype => 'LC_CTYPE', datistemplate => 't', datallowconn => 't',
-  datconnlimit => '-1', datlastsysoid => '0', datfrozenxid => '0',
+  datconnlimit => '-1', datfrozenxid => '0',
   datminmxid => '1', dattablespace => 'pg_default', datacl => '_null_' },
 
 ]
index 570b1fd5e0fc1c9c42a4a8c6e141570d6f5c42c3..1ff6d3e50c81fc69b8d05c4b2c9a4f83d21e82bf 100644 (file)
@@ -55,9 +55,6 @@ CATALOG(pg_database,1262,DatabaseRelationId) BKI_SHARED_RELATION BKI_ROWTYPE_OID
    /* max connections allowed (-1=no limit) */
    int32       datconnlimit;
 
-   /* highest OID to consider a system OID */
-   Oid         datlastsysoid;
-
    /* all Xids < this are frozen in this DB */
    TransactionId datfrozenxid;