v1-0003-doc-Remove-subfeatures-from-SQL-features-listing.patch
text/plain
Filename: v1-0003-doc-Remove-subfeatures-from-SQL-features-listing.patch
Type: text/plain
Part: 2
Message:
documentation updates for SQL:2023
Patch
Format: format-patch
Series: patch v1-0003
Subject: doc: Remove subfeatures from SQL features listing
| File | + | − |
|---|---|---|
| doc/src/sgml/features.sgml | 0 | 8 |
| doc/src/sgml/mk_feature_tables.pl | 4 | 18 |
| src/backend/catalog/sql_features.txt | 0 | 141 |
From 4e95c8fc73c49da8f38ee18439280c1269163c60 Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <peter@eisentraut.org>
Date: Wed, 1 Mar 2023 09:52:26 +0100
Subject: [PATCH v1 3/3] doc: Remove subfeatures from SQL features listing
Non-optional subfeatures have been removed from SQL:2023. The
remaining mandatory subfeature specifications are poorly defined and
not very interesting. By removing them we can save some complexity in
the tooling and the final presentation.
TODO: Remove the columns for the subfeatures in src/backend/catalog/sql_features.txt.
---
doc/src/sgml/features.sgml | 8 --
doc/src/sgml/mk_feature_tables.pl | 22 +----
src/backend/catalog/sql_features.txt | 141 ---------------------------
3 files changed, 4 insertions(+), 167 deletions(-)
diff --git a/doc/src/sgml/features.sgml b/doc/src/sgml/features.sgml
index 575afa3476..44611e0509 100644
--- a/doc/src/sgml/features.sgml
+++ b/doc/src/sgml/features.sgml
@@ -98,14 +98,6 @@ <title>SQL Conformance</title>
information about what does and does not work.
</para>
- <note>
- <para>
- Feature codes containing a hyphen are subfeatures. Therefore, if a
- particular subfeature is not supported, the main feature is listed
- as unsupported even if some other subfeatures are supported.
- </para>
- </note>
-
<sect1 id="features-sql-standard">
<title>Supported Features</title>
diff --git a/doc/src/sgml/mk_feature_tables.pl b/doc/src/sgml/mk_feature_tables.pl
index 5a16da0d06..f519935f74 100644
--- a/doc/src/sgml/mk_feature_tables.pl
+++ b/doc/src/sgml/mk_feature_tables.pl
@@ -37,36 +37,22 @@
my ($feature_id, $feature_name, $subfeature_id,
$subfeature_name, $is_supported, $comments) = split /\t/;
+ die if $subfeature_id; # XXX
+
$is_supported eq $yesno || next;
$feature_name =~ s/</</g;
$feature_name =~ s/>/>/g;
- $subfeature_name =~ s/</</g;
- $subfeature_name =~ s/>/>/g;
print " <row>\n";
- if ($subfeature_id)
- {
- print " <entry>$feature_id-$subfeature_id</entry>\n";
- }
- else
- {
- print " <entry>$feature_id</entry>\n";
- }
+ print " <entry>$feature_id</entry>\n";
print " <entry>",
defined($feature_packages{$feature_id})
? $feature_packages{$feature_id}
: "",
"</entry>\n";
- if ($subfeature_id)
- {
- print " <entry>$subfeature_name</entry>\n";
- }
- else
- {
- print " <entry>$feature_name</entry>\n";
- }
+ print " <entry>$feature_name</entry>\n";
print " <entry>$comments</entry>\n";
print " </row>\n";
diff --git a/src/backend/catalog/sql_features.txt b/src/backend/catalog/sql_features.txt
index fc5c2a20bd..03ae11fc64 100644
--- a/src/backend/catalog/sql_features.txt
+++ b/src/backend/catalog/sql_features.txt
@@ -43,127 +43,26 @@ B209 PTF extended names NO
B211 Module language Ada: VARCHAR and NUMERIC support NO
B221 Routine language Ada: VARCHAR and NUMERIC support NO
E011 Numeric data types YES
-E011 Numeric data types 01 INTEGER and SMALLINT data types YES
-E011 Numeric data types 02 REAL, DOUBLE PRECISION, and FLOAT data types YES
-E011 Numeric data types 03 DECIMAL and NUMERIC data types YES
-E011 Numeric data types 04 Arithmetic operators YES
-E011 Numeric data types 05 Numeric comparison YES
-E011 Numeric data types 06 Implicit casting among the numeric data types YES
E021 Character data types YES
-E021 Character string types 01 CHARACTER data type YES
-E021 Character string types 02 CHARACTER VARYING data type YES
-E021 Character string types 03 Character literals YES
-E021 Character string types 04 CHARACTER_LENGTH function YES trims trailing spaces from CHARACTER values before counting
-E021 Character string types 05 OCTET_LENGTH function YES
-E021 Character string types 06 SUBSTRING function YES
-E021 Character string types 07 Character concatenation YES
-E021 Character string types 08 UPPER and LOWER functions YES
-E021 Character string types 09 TRIM function YES
-E021 Character string types 10 Implicit casting among the character string types YES
-E021 Character string types 11 POSITION function YES
-E021 Character string types 12 Character comparison YES
E031 Identifiers YES
-E031 Identifiers 01 Delimited identifiers YES
-E031 Identifiers 02 Lower case identifiers YES
-E031 Identifiers 03 Trailing underscore YES
E051 Basic query specification YES
-E051 Basic query specification 01 SELECT DISTINCT YES
-E051 Basic query specification 02 GROUP BY clause YES
-E051 Basic query specification 04 GROUP BY can contain columns not in <select list> YES
-E051 Basic query specification 05 Select list items can be renamed YES
-E051 Basic query specification 06 HAVING clause YES
-E051 Basic query specification 07 Qualified * in select list YES
-E051 Basic query specification 08 Correlation names in the FROM clause YES
-E051 Basic query specification 09 Rename columns in the FROM clause YES
E061 Basic predicates and search conditions YES
-E061 Basic predicates and search conditions 01 Comparison predicate YES
-E061 Basic predicates and search conditions 02 BETWEEN predicate YES
-E061 Basic predicates and search conditions 03 IN predicate with list of values YES
-E061 Basic predicates and search conditions 04 LIKE predicate YES
-E061 Basic predicates and search conditions 05 LIKE predicate ESCAPE clause YES
-E061 Basic predicates and search conditions 06 NULL predicate YES
-E061 Basic predicates and search conditions 07 Quantified comparison predicate YES
-E061 Basic predicates and search conditions 08 EXISTS predicate YES
-E061 Basic predicates and search conditions 09 Subqueries in comparison predicate YES
-E061 Basic predicates and search conditions 11 Subqueries in IN predicate YES
-E061 Basic predicates and search conditions 12 Subqueries in quantified comparison predicate YES
-E061 Basic predicates and search conditions 13 Correlated subqueries YES
-E061 Basic predicates and search conditions 14 Search condition YES
E071 Basic query expressions YES
-E071 Basic query expressions 01 UNION DISTINCT table operator YES
-E071 Basic query expressions 02 UNION ALL table operator YES
-E071 Basic query expressions 03 EXCEPT DISTINCT table operator YES
-E071 Basic query expressions 05 Columns combined via table operators need not have exactly the same data type YES
-E071 Basic query expressions 06 Table operators in subqueries YES
E081 Basic Privileges YES
-E081 Basic Privileges 01 SELECT privilege YES
-E081 Basic Privileges 02 DELETE privilege YES
-E081 Basic Privileges 03 INSERT privilege at the table level YES
-E081 Basic Privileges 04 UPDATE privilege at the table level YES
-E081 Basic Privileges 05 UPDATE privilege at the column level YES
-E081 Basic Privileges 06 REFERENCES privilege at the table level YES
-E081 Basic Privileges 07 REFERENCES privilege at the column level YES
-E081 Basic Privileges 08 WITH GRANT OPTION YES
-E081 Basic Privileges 09 USAGE privilege YES
-E081 Basic Privileges 10 EXECUTE privilege YES
E091 Set functions YES
-E091 Set functions 01 AVG YES
-E091 Set functions 02 COUNT YES
-E091 Set functions 03 MAX YES
-E091 Set functions 04 MIN YES
-E091 Set functions 05 SUM YES
-E091 Set functions 06 ALL quantifier YES
-E091 Set functions 07 DISTINCT quantifier YES
E101 Basic data manipulation YES
-E101 Basic data manipulation 01 INSERT statement YES
-E101 Basic data manipulation 03 Searched UPDATE statement YES
-E101 Basic data manipulation 04 Searched DELETE statement YES
E111 Single row SELECT statement YES
E121 Basic cursor support YES
-E121 Basic cursor support 01 DECLARE CURSOR YES
-E121 Basic cursor support 02 ORDER BY columns need not be in select list YES
-E121 Basic cursor support 03 Value expressions in ORDER BY clause YES
-E121 Basic cursor support 04 OPEN statement YES
-E121 Basic cursor support 06 Positioned UPDATE statement YES
-E121 Basic cursor support 07 Positioned DELETE statement YES
-E121 Basic cursor support 08 CLOSE statement YES
-E121 Basic cursor support 10 FETCH statement implicit NEXT YES
-E121 Basic cursor support 17 WITH HOLD cursors YES
E131 Null value support (nulls in lieu of values) YES
E141 Basic integrity constraints YES
-E141 Basic integrity constraints 01 NOT NULL constraints YES
-E141 Basic integrity constraints 02 UNIQUE constraints of NOT NULL columns YES
-E141 Basic integrity constraints 03 PRIMARY KEY constraints YES
-E141 Basic integrity constraints 04 Basic FOREIGN KEY constraint with the NO ACTION default for both referential delete action and referential update action YES
-E141 Basic integrity constraints 06 CHECK constraints YES
-E141 Basic integrity constraints 07 Column defaults YES
-E141 Basic integrity constraints 08 NOT NULL inferred on PRIMARY KEY YES
-E141 Basic integrity constraints 10 Names in a foreign key can be specified in any order YES
E151 Transaction support YES
-E151 Transaction support 01 COMMIT statement YES
-E151 Transaction support 02 ROLLBACK statement YES
E152 Basic SET TRANSACTION statement YES
-E152 Basic SET TRANSACTION statement 01 SET TRANSACTION statement: ISOLATION LEVEL SERIALIZABLE clause YES
-E152 Basic SET TRANSACTION statement 02 SET TRANSACTION statement: READ ONLY and READ WRITE clauses YES
E153 Updatable queries with subqueries YES
E161 SQL comments using leading double minus YES
E171 SQLSTATE support YES
E182 Host language binding YES
F021 Basic information schema YES
-F021 Basic information schema 01 COLUMNS view YES
-F021 Basic information schema 02 TABLES view YES
-F021 Basic information schema 03 VIEWS view YES
-F021 Basic information schema 04 TABLE_CONSTRAINTS view YES
-F021 Basic information schema 05 REFERENTIAL_CONSTRAINTS view YES
-F021 Basic information schema 06 CHECK_CONSTRAINTS view YES
F031 Basic schema manipulation YES
-F031 Basic schema manipulation 01 CREATE TABLE statement to create persistent base tables YES
-F031 Basic schema manipulation 02 CREATE VIEW statement YES
-F031 Basic schema manipulation 03 GRANT statement YES
-F031 Basic schema manipulation 04 ALTER TABLE statement: ADD COLUMN clause YES
-F031 Basic schema manipulation 13 DROP TABLE statement: RESTRICT clause YES
-F031 Basic schema manipulation 16 DROP VIEW statement: RESTRICT clause YES
-F031 Basic schema manipulation 19 REVOKE statement: RESTRICT clause YES
F032 CASCADE drop behavior YES
F033 ALTER TABLE statement: DROP COLUMN clause YES
F034 Extended REVOKE statement YES
@@ -172,22 +71,7 @@ F036 REVOKE statement performed by non-owner YES
F037 REVOKE statement: GRANT OPTION FOR clause YES
F038 REVOKE of a WITH GRANT OPTION privilege YES
F041 Basic joined table YES
-F041 Basic joined table 01 Inner join (but not necessarily the INNER keyword) YES
-F041 Basic joined table 02 INNER keyword YES
-F041 Basic joined table 03 LEFT OUTER JOIN YES
-F041 Basic joined table 04 RIGHT OUTER JOIN YES
-F041 Basic joined table 05 Outer joins can be nested YES
-F041 Basic joined table 07 The inner table in a left or right outer join can also be used in an inner join YES
-F041 Basic joined table 08 All comparison operators are supported (rather than just =) YES
F051 Basic date and time YES
-F051 Basic date and time 01 DATE data type (including support of DATE literal) YES
-F051 Basic date and time 02 TIME data type (including support of TIME literal) with fractional seconds precision of at least 0 YES
-F051 Basic date and time 03 TIMESTAMP data type (including support of TIMESTAMP literal) with fractional seconds precision of at least 0 and 6 YES
-F051 Basic date and time 04 Comparison predicate on DATE, TIME, and TIMESTAMP data types YES
-F051 Basic date and time 05 Explicit CAST between datetime types and character string types YES
-F051 Basic date and time 06 CURRENT_DATE YES
-F051 Basic date and time 07 LOCALTIME YES
-F051 Basic date and time 08 LOCALTIMESTAMP YES
F052 Intervals and datetime arithmetic YES
F053 OVERLAPS predicate YES
F054 TIMESTAMP in DATE type precedence list NO
@@ -202,11 +86,6 @@ F122 Enhanced diagnostics management NO
F123 All diagnostics NO
F124 SET TRANSACTION statement: DIAGNOSTICS SIZE clause NO
F131 Grouped operations YES
-F131 Grouped operations 01 WHERE, GROUP BY, and HAVING clauses supported in queries with grouped views YES
-F131 Grouped operations 02 Multiple tables supported in queries with grouped views YES
-F131 Grouped operations 03 Set functions supported in queries with grouped views YES
-F131 Grouped operations 04 Subqueries with GROUP BY and HAVING clauses and grouped views YES
-F131 Grouped operations 05 Single row SELECT with GROUP BY and HAVING clauses and grouped views YES
F171 Multiple schemas per user YES
F181 Multiple module support YES
F191 Referential delete actions YES
@@ -218,10 +97,6 @@ F222 INSERT statement: DEFAULT VALUES clause YES
F231 Privilege tables YES
F251 Domain support YES
F261 CASE expression YES
-F261 CASE expression 01 Simple CASE YES
-F261 CASE expression 02 Searched CASE YES
-F261 CASE expression 03 NULLIF YES
-F261 CASE expression 04 COALESCE YES
F262 Extended CASE expression YES
F263 Comma-separated predicates in simple CASE expression NO
F271 Compound character literals YES
@@ -231,15 +106,9 @@ F292 UNIQUE null treatment YES
F301 CORRESPONDING in query expressions NO
F302 INTERSECT table operator YES
F303 INTERSECT DISTINCT table operator YES
-F302 INTERSECT table operator 02 INTERSECT ALL table operator YES
F304 EXCEPT ALL table operator YES
F305 INTERSECT ALL table operator YES
F311 Schema definition statement YES
-F311 Schema definition statement 01 CREATE SCHEMA YES
-F311 Schema definition statement 02 CREATE TABLE for persistent base tables YES
-F311 Schema definition statement 03 CREATE VIEW YES
-F311 Schema definition statement 04 CREATE VIEW: WITH CHECK OPTION YES
-F311 Schema definition statement 05 GRANT statement YES
F312 MERGE statement YES
F313 Enhanced MERGE statement YES
F314 MERGE statement with DELETE branch YES
@@ -284,8 +153,6 @@ F481 Expanded NULL predicate YES
F491 Constraint management YES
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
F502 Enhanced documentation tables YES
F521 Assertions NO
F531 Temporary tables YES
@@ -352,7 +219,6 @@ R010 Row pattern recognition: FROM clause NO
R020 Row pattern recognition: WINDOW clause NO
R030 Row pattern recognition: full aggregate support NO
S011 Distinct data types NO
-S011 Distinct data types 01 USER_DEFINED_TYPES view NO
S023 Basic structured types NO
S024 Enhanced structured types NO
S025 Final structured types NO
@@ -471,13 +337,6 @@ T285 Enhanced derived column names YES
T301 Functional dependencies NO partially supported
T312 OVERLAY function YES
T321 Basic SQL-invoked routines NO partially supported
-T321 Basic SQL-invoked routines 01 User-defined functions with no overloading YES
-T321 Basic SQL-invoked routines 02 User-defined stored procedures with no overloading YES
-T321 Basic SQL-invoked routines 03 Function invocation YES
-T321 Basic SQL-invoked routines 04 CALL statement YES
-T321 Basic SQL-invoked routines 05 RETURN statement YES
-T321 Basic SQL-invoked routines 06 ROUTINES view YES
-T321 Basic SQL-invoked routines 07 PARAMETERS view YES
T322 Declared data type attributes NO
T323 Explicit security for external routines YES
T324 Explicit security for SQL routines NO
--
2.39.2