On 2019-10-17 09:44, Michael Paquier wrote:
> I have a question here.  Per the notes in information_schema.sql,
> SQL_SIZING_PROFILES has been removed in SQL:2011,

OK, we can remove that one as well.  New patch attached.

> attributes.isnullable and DOMAIN_UDT_USAGE in SQL:2003~.  Would it
> make sense to cleanup those ones?

OK, I'll look into those, but it seems like a separate undertaking.  We
don't always remove things just because they were dropped by the SQL
standard.

-- 
Peter Eisentraut              http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
>From aec53faf22966ee56ccd812996e40527cc2cea49 Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <pe...@eisentraut.org>
Date: Sat, 19 Oct 2019 22:56:18 +0200
Subject: [PATCH v2] Remove obsolete information schema tables

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                   |   9 +-
 doc/src/sgml/information_schema.sgml         | 216 -------------------
 src/backend/catalog/information_schema.sql   |  70 ------
 src/backend/catalog/sql_feature_packages.txt |  29 ---
 src/backend/catalog/sql_features.txt         |   4 -
 src/test/regress/expected/sanity_check.out   |   3 -
 6 files changed, 3 insertions(+), 328 deletions(-)

diff --git a/doc/src/sgml/features.sgml b/doc/src/sgml/features.sgml
index f767bee46e..2c5a7e5d0c 100644
--- a/doc/src/sgml/features.sgml
+++ b/doc/src/sgml/features.sgml
@@ -44,10 +44,7 @@ <title>SQL Conformance</title>
   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>
@@ -116,7 +113,7 @@ <title>Supported Features</title>
       <thead>
        <row>
         <entry>Identifier</entry>
-        <entry>Package</entry>
+        <entry>Core?</entry>
         <entry>Description</entry>
         <entry>Comment</entry>
        </row>
@@ -143,7 +140,7 @@ <title>Unsupported Features</title>
       <thead>
        <row>
         <entry>Identifier</entry>
-        <entry>Package</entry>
+        <entry>Core?</entry>
         <entry>Description</entry>
         <entry>Comment</entry>
        </row>
diff --git a/doc/src/sgml/information_schema.sgml 
b/doc/src/sgml/information_schema.sgml
index 906fe7819f..7a995a1b64 100644
--- a/doc/src/sgml/information_schema.sgml
+++ b/doc/src/sgml/information_schema.sgml
@@ -4963,160 +4963,6 @@ <title><literal>sql_implementation_info</literal> 
Columns</title>
   </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 @@ <title><literal>sql_sizing</literal> Columns</title>
   </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>
 
diff --git a/src/backend/catalog/information_schema.sql 
b/src/backend/catalog/information_schema.sql
index c42e76ea89..5d64791c5d 100644
--- a/src/backend/catalog/information_schema.sql
+++ b/src/backend/catalog/information_schema.sql
@@ -1648,56 +1648,6 @@ CREATE TABLE sql_implementation_info (
 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 @@ CREATE TABLE 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
diff --git a/src/backend/catalog/sql_feature_packages.txt 
b/src/backend/catalog/sql_feature_packages.txt
index 382e4aea5c..1d87a3e31e 100644
--- a/src/backend/catalog/sql_feature_packages.txt
+++ b/src/backend/catalog/sql_feature_packages.txt
@@ -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
diff --git a/src/backend/catalog/sql_features.txt 
b/src/backend/catalog/sql_features.txt
index 9c68292a54..ab3e381cff 100644
--- a/src/backend/catalog/sql_features.txt
+++ b/src/backend/catalog/sql_features.txt
@@ -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     
diff --git a/src/test/regress/expected/sanity_check.out 
b/src/test/regress/expected/sanity_check.out
index d6e75ffce6..070de78e85 100644
--- a/src/test/regress/expected/sanity_check.out
+++ b/src/test/regress/expected/sanity_check.out
@@ -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
-- 
2.23.0

Reply via email to