Remove obsolete information schema tables
authorPeter Eisentraut <peter@eisentraut.org>
Fri, 25 Oct 2019 19:11:48 +0000 (21:11 +0200)
committerPeter Eisentraut <peter@eisentraut.org>
Fri, 25 Oct 2019 19:37:14 +0000 (21:37 +0200)
Remove SQL_LANGUAGES, which was eliminated in SQL:2008, and
SQL_PACKAGES and SQL_SIZING_PROFILES, which were eliminated in
SQL:2011.  Since they were dropped by the SQL standard, the
information in them was no longer updated and therefore no longer
useful.

This also removes the feature-package association information in
sql_feature_packages.txt, but for the time begin we are keeping the
information which features are in the Core package (that is, mandatory
SQL features).  Maybe at some point someone wants to invent a way to
store that that does not involve using the "package" mechanism
anymore.

Discussion https://www.postgresql.org/message-id/flat/91334220-7900-071b-9327-0c6ecd012017%402ndquadrant.com

doc/src/sgml/features.sgml
doc/src/sgml/information_schema.sgml
src/backend/catalog/information_schema.sql
src/backend/catalog/sql_feature_packages.txt
src/backend/catalog/sql_features.txt
src/include/catalog/catversion.h
src/test/regress/expected/sanity_check.out

index f767bee46e500d2671dc87067edde943cbc316cc..2c5a7e5d0c505c58f6dda11c40193501068d8da7 100644 (file)
   broad three levels found in <acronym>SQL-92</acronym>.  A large
   subset of these features represents the <quote>Core</quote>
   features, which every conforming SQL implementation must supply.
-  The rest of the features are purely optional.  Some optional
-  features are grouped together to form <quote>packages</quote>, which
-  SQL implementations can claim conformance to, thus claiming
-  conformance to particular groups of features.
+  The rest of the features are purely optional.
  </para>
 
  <para>
       <thead>
        <row>
         <entry>Identifier</entry>
-        <entry>Package</entry>
+        <entry>Core?</entry>
         <entry>Description</entry>
         <entry>Comment</entry>
        </row>
       <thead>
        <row>
         <entry>Identifier</entry>
-        <entry>Package</entry>
+        <entry>Core?</entry>
         <entry>Description</entry>
         <entry>Comment</entry>
        </row>
index 906fe7819f5e58d06929a7d09033afbe8c04598c..7a995a1b64998d2f7df0df786069892092779cb6 100644 (file)
@@ -4963,160 +4963,6 @@ ORDER BY c.ordinal_position;
   </table>
  </sect1>
 
- <sect1 id="infoschema-sql-languages">
-  <title><literal>sql_languages</literal></title>
-
-  <para>
-   The table <literal>sql_languages</literal> contains one row for
-   each SQL language binding that is supported by
-   <productname>PostgreSQL</productname>.
-   <productname>PostgreSQL</productname> supports direct SQL and
-   embedded SQL in C; that is all you will learn from this table.
-  </para>
-
-  <para>
-   This table was removed from the SQL standard in SQL:2008, so there
-   are no entries referring to standards later than SQL:2003.
-  </para>
-
-  <table>
-   <title><literal>sql_languages</literal> Columns</title>
-
-   <tgroup cols="3">
-    <thead>
-     <row>
-      <entry>Name</entry>
-      <entry>Data Type</entry>
-      <entry>Description</entry>
-     </row>
-    </thead>
-
-    <tbody>
-     <row>
-      <entry><literal>sql_language_source</literal></entry>
-      <entry><type>character_data</type></entry>
-      <entry>
-       The name of the source of the language definition; always
-       <literal>ISO 9075</literal>, that is, the SQL standard
-      </entry>
-     </row>
-
-     <row>
-      <entry><literal>sql_language_year</literal></entry>
-      <entry><type>character_data</type></entry>
-      <entry>
-       The year the standard referenced in
-       <literal>sql_language_source</literal> was approved.
-      </entry>
-     </row>
-
-     <row>
-      <entry><literal>sql_language_conformance</literal></entry>
-      <entry><type>character_data</type></entry>
-      <entry>
-       The standard conformance level for the language binding.  For
-       ISO 9075:2003 this is always <literal>CORE</literal>.
-      </entry>
-     </row>
-
-     <row>
-      <entry><literal>sql_language_integrity</literal></entry>
-      <entry><type>character_data</type></entry>
-      <entry>Always null (This value is relevant to an earlier version of the SQL standard.)</entry>
-     </row>
-
-     <row>
-      <entry><literal>sql_language_implementation</literal></entry>
-      <entry><type>character_data</type></entry>
-      <entry>Always null</entry>
-     </row>
-
-     <row>
-      <entry><literal>sql_language_binding_style</literal></entry>
-      <entry><type>character_data</type></entry>
-      <entry>
-       The language binding style, either <literal>DIRECT</literal> or
-       <literal>EMBEDDED</literal>
-      </entry>
-     </row>
-
-     <row>
-      <entry><literal>sql_language_programming_language</literal></entry>
-      <entry><type>character_data</type></entry>
-      <entry>
-       The programming language, if the binding style is
-       <literal>EMBEDDED</literal>, else null.  <productname>PostgreSQL</productname> only
-       supports the language C.
-      </entry>
-     </row>
-    </tbody>
-   </tgroup>
-  </table>
- </sect1>
-
- <sect1 id="infoschema-sql-packages">
-  <title><literal>sql_packages</literal></title>
-
-  <para>
-   The table <literal>sql_packages</literal> contains information
-   about which feature packages defined in the SQL standard are
-   supported by <productname>PostgreSQL</productname>.  Refer to <xref
-   linkend="features"/> for background information on feature packages.
-  </para>
-
-  <table>
-   <title><literal>sql_packages</literal> Columns</title>
-
-   <tgroup cols="3">
-    <thead>
-     <row>
-      <entry>Name</entry>
-      <entry>Data Type</entry>
-      <entry>Description</entry>
-     </row>
-    </thead>
-
-    <tbody>
-     <row>
-      <entry><literal>feature_id</literal></entry>
-      <entry><type>character_data</type></entry>
-      <entry>Identifier string of the package</entry>
-     </row>
-
-     <row>
-      <entry><literal>feature_name</literal></entry>
-      <entry><type>character_data</type></entry>
-      <entry>Descriptive name of the package</entry>
-     </row>
-
-     <row>
-      <entry><literal>is_supported</literal></entry>
-      <entry><type>yes_or_no</type></entry>
-      <entry>
-       <literal>YES</literal> if the package is fully supported by the
-       current version of <productname>PostgreSQL</productname>, <literal>NO</literal> if not
-      </entry>
-     </row>
-
-     <row>
-      <entry><literal>is_verified_by</literal></entry>
-      <entry><type>character_data</type></entry>
-      <entry>
-       Always null, since the <productname>PostgreSQL</productname> development group does not
-       perform formal testing of feature conformance
-      </entry>
-     </row>
-
-     <row>
-      <entry><literal>comments</literal></entry>
-      <entry><type>character_data</type></entry>
-      <entry>Possibly a comment about the supported status of the package</entry>
-     </row>
-    </tbody>
-   </tgroup>
-  </table>
- </sect1>
-
  <sect1 id="infoschema-sql-parts">
   <title><literal>sql_parts</literal></title>
 
@@ -5239,68 +5085,6 @@ ORDER BY c.ordinal_position;
   </table>
  </sect1>
 
- <sect1 id="infoschema-sql-sizing-profiles">
-  <title><literal>sql_sizing_profiles</literal></title>
-
-  <para>
-   The table <literal>sql_sizing_profiles</literal> contains
-   information about the <literal>sql_sizing</literal> values that are
-   required by various profiles of the SQL standard.  <productname>PostgreSQL</productname> does
-   not track any SQL profiles, so this table is empty.
-  </para>
-
-  <table>
-   <title><literal>sql_sizing_profiles</literal> Columns</title>
-
-   <tgroup cols="3">
-    <thead>
-     <row>
-      <entry>Name</entry>
-      <entry>Data Type</entry>
-      <entry>Description</entry>
-     </row>
-    </thead>
-
-    <tbody>
-     <row>
-      <entry><literal>sizing_id</literal></entry>
-      <entry><type>cardinal_number</type></entry>
-      <entry>Identifier of the sizing item</entry>
-     </row>
-
-     <row>
-      <entry><literal>sizing_name</literal></entry>
-      <entry><type>character_data</type></entry>
-      <entry>Descriptive name of the sizing item</entry>
-     </row>
-
-     <row>
-      <entry><literal>profile_id</literal></entry>
-      <entry><type>character_data</type></entry>
-      <entry>Identifier string of a profile</entry>
-     </row>
-
-     <row>
-      <entry><literal>required_value</literal></entry>
-      <entry><type>cardinal_number</type></entry>
-      <entry>
-       The value required by the SQL profile for the sizing item, or 0
-       if the profile places no limit on the sizing item, or null if
-       the profile does not require any of the features for which the
-       sizing item is applicable
-      </entry>
-     </row>
-
-     <row>
-      <entry><literal>comments</literal></entry>
-      <entry><type>character_data</type></entry>
-      <entry>Possibly a comment pertaining to the sizing item within the profile</entry>
-     </row>
-    </tbody>
-   </tgroup>
-  </table>
- </sect1>
-
  <sect1 id="infoschema-table-constraints">
   <title><literal>table_constraints</literal></title>
 
index c42e76ea894bd1a3b5063d2d2b8c1c14dc7c0449..5d64791c5d8193134f3f04335817dc5c8132e8b7 100644 (file)
@@ -1648,56 +1648,6 @@ INSERT INTO sql_implementation_info VALUES ('46',    'TRANSACTION CAPABLE', 2, N
 GRANT SELECT ON sql_implementation_info TO PUBLIC;
 
 
-/*
- * SQL_LANGUAGES table
- * apparently removed in SQL:2008
- */
-
-CREATE TABLE sql_languages (
-    sql_language_source         character_data,
-    sql_language_year           character_data,
-    sql_language_conformance    character_data,
-    sql_language_integrity      character_data,
-    sql_language_implementation character_data,
-    sql_language_binding_style  character_data,
-    sql_language_programming_language character_data
-);
-
-INSERT INTO sql_languages VALUES ('ISO 9075', '1999', 'CORE', NULL, NULL, 'DIRECT', NULL);
-INSERT INTO sql_languages VALUES ('ISO 9075', '1999', 'CORE', NULL, NULL, 'EMBEDDED', 'C');
-INSERT INTO sql_languages VALUES ('ISO 9075', '2003', 'CORE', NULL, NULL, 'DIRECT', NULL);
-INSERT INTO sql_languages VALUES ('ISO 9075', '2003', 'CORE', NULL, NULL, 'EMBEDDED', 'C');
-
-GRANT SELECT ON sql_languages TO PUBLIC;
-
-
-/*
- * SQL_PACKAGES table
- * removed in SQL:2011
- */
-
-CREATE TABLE sql_packages (
-    feature_id      character_data,
-    feature_name    character_data,
-    is_supported    yes_or_no,
-    is_verified_by  character_data,
-    comments        character_data
-);
-
-INSERT INTO sql_packages VALUES ('PKG000', 'Core', 'NO', NULL, '');
-INSERT INTO sql_packages VALUES ('PKG001', 'Enhanced datetime facilities', 'YES', NULL, '');
-INSERT INTO sql_packages VALUES ('PKG002', 'Enhanced integrity management', 'NO', NULL, '');
-INSERT INTO sql_packages VALUES ('PKG003', 'OLAP facilities', 'NO', NULL, '');
-INSERT INTO sql_packages VALUES ('PKG004', 'PSM', 'NO', NULL, 'PL/pgSQL is similar.');
-INSERT INTO sql_packages VALUES ('PKG005', 'CLI', 'NO', NULL, 'ODBC is similar.');
-INSERT INTO sql_packages VALUES ('PKG006', 'Basic object support', 'NO', NULL, '');
-INSERT INTO sql_packages VALUES ('PKG007', 'Enhanced object support', 'NO', NULL, '');
-INSERT INTO sql_packages VALUES ('PKG008', 'Active database', 'NO', NULL, '');
-INSERT INTO sql_packages VALUES ('PKG010', 'OLAP', 'NO', NULL, 'NO');
-
-GRANT SELECT ON sql_packages TO PUBLIC;
-
-
 /*
  * 5.59
  * SQL_PARTS table
@@ -1768,26 +1718,6 @@ UPDATE sql_sizing
 GRANT SELECT ON sql_sizing TO PUBLIC;
 
 
-/*
- * SQL_SIZING_PROFILES table
- * removed in SQL:2011
- */
-
--- The data in this table are defined by various profiles of SQL.
--- Since we don't have any information about such profiles, we provide
--- an empty table.
-
-CREATE TABLE sql_sizing_profiles (
-    sizing_id       cardinal_number,
-    sizing_name     character_data,
-    profile_id      character_data,
-    required_value  cardinal_number,
-    comments        character_data
-);
-
-GRANT SELECT ON sql_sizing_profiles TO PUBLIC;
-
-
 /*
  * 5.61
  * TABLE_CONSTRAINTS view
index 382e4aea5c24901b28286a709a64f02ce4bdae1f..1d87a3e31e40d2d155fba5fe43edb393526b97b1 100644 (file)
@@ -22,46 +22,17 @@ F021        Core
 F031   Core
 F041   Core
 F051   Core
-F052   Enhanced datetime facilities
 F081   Core
 F131   Core
 F181   Core
-F191   Enhanced integrity management
 F201   Core
 F221   Core
 F261   Core
 F311   Core
-F411   Enhanced datetime facilities
 F471   Core
 F481   Core
-F491   Enhanced integrity management
 F501   Core
-F521   Enhanced integrity management
-F555   Enhanced datetime facilities
-F671   Enhanced integrity management
-F701   Enhanced integrity management
 F812   Core
 S011   Core
-S023   Basic object support
-S024   Enhanced object support
-S041   Basic object support
-S043   Enhanced object support
-S051   Basic object support
-S071   Enhanced object support
-S081   Enhanced object support
-S111   Enhanced object support
-S151   Basic object support
-S161   Enhanced object support
-S211   Enhanced object support
-S231   Enhanced object support
-T041   Basic object support
-T191   Enhanced integrity management
-T201   Enhanced integrity management
-T211   Active database
-T211   Enhanced integrity management
-T212   Enhanced integrity management
 T321   Core
-T322   PSM
-T431   OLAP
-T611   OLAP
 T631   Core
index 9c68292a54d6edc109ce1cb328f721ac85cc8514..ab3e381cffbc6772eadb8db34b752ef6a173f9a5 100644 (file)
@@ -285,11 +285,7 @@ F492       Optional table constraint enforcement                   NO
 F501   Features and conformance views                  YES     
 F501   Features and conformance views  01      SQL_FEATURES view       YES     
 F501   Features and conformance views  02      SQL_SIZING view YES     
-F501   Features and conformance views  03      SQL_LANGUAGES view      YES     
 F502   Enhanced documentation tables                   YES     
-F502   Enhanced documentation tables   01      SQL_SIZING_PROFILES view        YES     
-F502   Enhanced documentation tables   02      SQL_IMPLEMENTATION_INFO view    YES     
-F502   Enhanced documentation tables   03      SQL_PACKAGES view       YES     
 F521   Assertions                      NO      
 F531   Temporary tables                        YES     
 F555   Enhanced seconds precision                      YES     
index c689b8fd0b277dc7e67bba24473122e269ec67d3..1f6de76e9c4c4892c1e33242ff88cbd819fb7fe1 100644 (file)
@@ -53,6 +53,6 @@
  */
 
 /*                                                     yyyymmddN */
-#define CATALOG_VERSION_NO     201909251
+#define CATALOG_VERSION_NO     201910251
 
 #endif
index d6e75ffce6dcfeda7c9b11e5b67fb081056db847..070de78e85cab9074fc2329a44b82b2d2b5c0e66 100644 (file)
@@ -177,11 +177,8 @@ shighway|t
 slow_emp4000|f
 sql_features|f
 sql_implementation_info|f
-sql_languages|f
-sql_packages|f
 sql_parts|f
 sql_sizing|f
-sql_sizing_profiles|f
 stud_emp|f
 student|f
 tableam_parted_a_heap2|f