From: Peter Eisentraut Date: Thu, 12 Jul 2018 10:31:49 +0000 (+0200) Subject: Add regression test for system catalog toast tables X-Git-Tag: REL_12_BETA1~1890 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ecd6b4342ad9f867e62979e85efa8fdb5fc904e5;p=postgresql Add regression test for system catalog toast tables For the moment, this just records which system catalogs have toast tables right now. Future patches will possibly change that set. from Tom Lane via Joe Conway Discussion: https://www.postgresql.org/message-id/flat/84ddff04-f122-784b-b6c5-3536804495f8@joeconway.com/ --- diff --git a/src/test/regress/expected/misc_sanity.out b/src/test/regress/expected/misc_sanity.out index 5aaae6c39f..baf302953c 100644 --- a/src/test/regress/expected/misc_sanity.out +++ b/src/test/regress/expected/misc_sanity.out @@ -76,3 +76,70 @@ NOTICE: pg_database contains unpinned initdb-created object(s) NOTICE: pg_extension contains unpinned initdb-created object(s) NOTICE: pg_rewrite contains unpinned initdb-created object(s) NOTICE: pg_tablespace contains unpinned initdb-created object(s) +-- **************** pg_class **************** +-- Look for system tables with varlena columns but no toast table. At +-- the moment, the result just records the status quo so that changes +-- are deliberate. Which system tables have toast tables is a bit +-- arbitrary at the moment. +SELECT relname, attname, atttypid::regtype +FROM pg_class c JOIN pg_attribute a ON c.oid = attrelid +WHERE c.oid < 16384 AND + reltoastrelid = 0 AND + relkind = 'r' AND + attstorage != 'p' +ORDER BY 1, 2; + relname | attname | atttypid +-------------------------+-----------------+-------------- + pg_aggregate | agginitval | text + pg_aggregate | aggminitval | text + pg_attribute | attacl | aclitem[] + pg_attribute | attfdwoptions | text[] + pg_attribute | attmissingval | anyarray + pg_attribute | attoptions | text[] + pg_authid | rolpassword | text + pg_class | relacl | aclitem[] + pg_class | reloptions | text[] + pg_class | relpartbound | pg_node_tree + pg_collation | collversion | text + pg_database | datacl | aclitem[] + pg_default_acl | defaclacl | aclitem[] + pg_event_trigger | evttags | text[] + pg_extension | extcondition | text[] + pg_extension | extconfig | oid[] + pg_extension | extversion | text + pg_foreign_data_wrapper | fdwacl | aclitem[] + pg_foreign_data_wrapper | fdwoptions | text[] + pg_foreign_server | srvacl | aclitem[] + pg_foreign_server | srvoptions | text[] + pg_foreign_server | srvtype | text + pg_foreign_server | srvversion | text + pg_foreign_table | ftoptions | text[] + pg_index | indexprs | pg_node_tree + pg_index | indpred | pg_node_tree + pg_init_privs | initprivs | aclitem[] + pg_language | lanacl | aclitem[] + pg_largeobject | data | bytea + pg_largeobject_metadata | lomacl | aclitem[] + pg_namespace | nspacl | aclitem[] + pg_partitioned_table | partexprs | pg_node_tree + pg_pltemplate | tmplacl | aclitem[] + pg_pltemplate | tmplhandler | text + pg_pltemplate | tmplinline | text + pg_pltemplate | tmpllibrary | text + pg_pltemplate | tmplvalidator | text + pg_policy | polqual | pg_node_tree + pg_policy | polroles | oid[] + pg_policy | polwithcheck | pg_node_tree + pg_replication_origin | roname | text + pg_subscription | subconninfo | text + pg_subscription | subpublications | text[] + pg_subscription | subsynccommit | text + pg_tablespace | spcacl | aclitem[] + pg_tablespace | spcoptions | text[] + pg_ts_dict | dictinitoption | text + pg_type | typacl | aclitem[] + pg_type | typdefault | text + pg_type | typdefaultbin | pg_node_tree + pg_user_mapping | umoptions | text[] +(51 rows) + diff --git a/src/test/regress/sql/misc_sanity.sql b/src/test/regress/sql/misc_sanity.sql index b921117fa5..fe15fdda80 100644 --- a/src/test/regress/sql/misc_sanity.sql +++ b/src/test/regress/sql/misc_sanity.sql @@ -72,3 +72,18 @@ loop end if; end loop; end$$; + +-- **************** pg_class **************** + +-- Look for system tables with varlena columns but no toast table. At +-- the moment, the result just records the status quo so that changes +-- are deliberate. Which system tables have toast tables is a bit +-- arbitrary at the moment. + +SELECT relname, attname, atttypid::regtype +FROM pg_class c JOIN pg_attribute a ON c.oid = attrelid +WHERE c.oid < 16384 AND + reltoastrelid = 0 AND + relkind = 'r' AND + attstorage != 'p' +ORDER BY 1, 2;