mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-21 08:29:39 +08:00
Add sql_features table to information schema. Generate the features list
in the documentation from that same data.
This commit is contained in:
parent
1eddbd81fa
commit
2160c9177d
@ -8,7 +8,7 @@
|
||||
#
|
||||
#
|
||||
# IDENTIFICATION
|
||||
# $Header: /cvsroot/pgsql/doc/src/sgml/Makefile,v 1.54 2002/11/26 19:22:16 momjian Exp $
|
||||
# $Header: /cvsroot/pgsql/doc/src/sgml/Makefile,v 1.55 2003/01/14 23:19:34 petere Exp $
|
||||
#
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
@ -52,7 +52,10 @@ vpath %.sgml ./ref
|
||||
|
||||
ALLBOOKS = admin developer programmer reference tutorial user
|
||||
|
||||
ALLSGML := $(wildcard $(srcdir)/*.sgml $(srcdir)/ref/*.sgml) bookindex.sgml setindex.sgml version.sgml
|
||||
GENERATED_SGML = bookindex.sgml setindex.sgml version.sgml \
|
||||
features-supported.sgml features-unsupported.sgml
|
||||
|
||||
ALLSGML := $(wildcard $(srcdir)/*.sgml $(srcdir)/ref/*.sgml) $(GENERATED_SGML)
|
||||
|
||||
ifdef DOCBOOKSTYLE
|
||||
CATALOG = -c $(DOCBOOKSTYLE)/catalog
|
||||
@ -125,6 +128,12 @@ version.sgml: $(top_builddir)/src/Makefile.global
|
||||
echo "<!entity majorversion \"`expr $(VERSION) : '\([0-9][0-9]*\.[0-9][0-9]*\)'`\">"; \
|
||||
} >$@
|
||||
|
||||
features-supported.sgml: $(top_srcdir)/src/backend/catalog/sql_feature_packages.txt $(top_srcdir)/src/backend/catalog/sql_features.txt
|
||||
$(PERL) $(srcdir)/mk_feature_tables.pl YES $^ > $@
|
||||
|
||||
features-unsupported.sgml: $(top_srcdir)/src/backend/catalog/sql_feature_packages.txt $(top_srcdir)/src/backend/catalog/sql_features.txt
|
||||
$(PERL) $(srcdir)/mk_feature_tables.pl NO $^ > $@
|
||||
|
||||
|
||||
##
|
||||
## Print
|
||||
@ -218,10 +227,10 @@ regress_README.html: regress.sgml
|
||||
check: $(addprefix check-, $(ALLBOOKS)) check-postgres
|
||||
|
||||
# Quick syntax check without style processing
|
||||
$(addprefix check-, $(ALLBOOKS)): check-%: %.sgml bookindex.sgml
|
||||
$(addprefix check-, $(ALLBOOKS)): check-%: %.sgml $(ALLSGML)
|
||||
$(NSGMLS) $(SGMLINCLUDE) -s book-decl.sgml $<
|
||||
|
||||
check-postgres: postgres.sgml setindex.sgml
|
||||
check-postgres: postgres.sgml $(ALLSGML)
|
||||
$(NSGMLS) $(SGMLINCLUDE) -s $<
|
||||
|
||||
|
||||
@ -237,4 +246,4 @@ clean distclean maintainer-clean:
|
||||
# print
|
||||
rm -f *.rtf *.tex-ps *.tex-pdf *.dvi *.aux *.log *.ps *.pdf *.out *.eps *.fot
|
||||
# index
|
||||
rm -f HTML.index bookindex.sgml setindex.sgml version.sgml
|
||||
rm -f HTML.index $(GENERATED_SGML)
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,4 +1,4 @@
|
||||
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/filelist.sgml,v 1.25 2002/10/24 17:48:54 petere Exp $ -->
|
||||
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/filelist.sgml,v 1.26 2003/01/14 23:19:34 petere Exp $ -->
|
||||
|
||||
<!entity history SYSTEM "history.sgml">
|
||||
<!entity info SYSTEM "info.sgml">
|
||||
@ -34,6 +34,9 @@
|
||||
<!entity syntax SYSTEM "syntax.sgml">
|
||||
<!entity typeconv SYSTEM "typeconv.sgml">
|
||||
|
||||
<!entity features-supported SYSTEM "features-supported.sgml">
|
||||
<!entity features-unsupported SYSTEM "features-unsupported.sgml">
|
||||
|
||||
<!-- reference pages -->
|
||||
<!entity % allfiles SYSTEM "ref/allfiles.sgml">
|
||||
%allfiles;
|
||||
|
54
doc/src/sgml/mk_feature_tables.pl
Normal file
54
doc/src/sgml/mk_feature_tables.pl
Normal file
@ -0,0 +1,54 @@
|
||||
# /usr/bin/perl -w
|
||||
|
||||
my $yesno = $ARGV[0];
|
||||
|
||||
open PACK, $ARGV[1] or die;
|
||||
|
||||
my %feature_packages;
|
||||
|
||||
while (<PACK>) {
|
||||
chomp;
|
||||
my ($fid, $pname) = split /\t/;
|
||||
if ($feature_packages{$fid}) {
|
||||
$feature_packages{$fid} .= ", $pname";
|
||||
} else {
|
||||
$feature_packages{$fid} = $pname;
|
||||
}
|
||||
}
|
||||
|
||||
close PACK;
|
||||
|
||||
open FEAT, $ARGV[2] or die;
|
||||
|
||||
print "<tbody>\n";
|
||||
|
||||
while (<FEAT>) {
|
||||
chomp;
|
||||
my ($feature_id, $feature_name, $subfeature_id, $subfeature_name, $is_supported, $comments) = split /\t/;
|
||||
|
||||
$is_supported eq $yesno || next;
|
||||
|
||||
$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_packages{$feature_id} . "</entry>\n";
|
||||
if ($subfeature_id) {
|
||||
print " <entry>$subfeature_name</entry>\n";
|
||||
} else {
|
||||
print " <entry>$feature_name</entry>\n";
|
||||
}
|
||||
print " <entry>$comments</entry>\n";
|
||||
|
||||
print " </row>\n";
|
||||
}
|
||||
|
||||
print "</tbody>\n";
|
||||
|
||||
close FEAT;
|
@ -2,7 +2,7 @@
|
||||
#
|
||||
# Makefile for backend/catalog
|
||||
#
|
||||
# $Header: /cvsroot/pgsql/src/backend/catalog/Makefile,v 1.44 2003/01/13 20:37:18 tgl Exp $
|
||||
# $Header: /cvsroot/pgsql/src/backend/catalog/Makefile,v 1.45 2003/01/14 23:19:34 petere Exp $
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
|
||||
@ -46,13 +46,14 @@ install-data: $(BKIFILES) installdirs
|
||||
$(INSTALL_DATA) postgres.bki $(DESTDIR)$(datadir)/postgres.bki
|
||||
$(INSTALL_DATA) postgres.description $(DESTDIR)$(datadir)/postgres.description
|
||||
$(INSTALL_DATA) $(srcdir)/information_schema.sql $(DESTDIR)$(datadir)/information_schema.sql
|
||||
$(INSTALL_DATA) $(srcdir)/sql_features.txt $(DESTDIR)$(datadir)/sql_features.txt
|
||||
|
||||
installdirs:
|
||||
$(mkinstalldirs) $(DESTDIR)$(datadir)
|
||||
|
||||
.PHONY: uninstall-data
|
||||
uninstall-data:
|
||||
rm -f $(addprefix $(DESTDIR)$(datadir)/, $(BKIFILES) information_schema.sql)
|
||||
rm -f $(addprefix $(DESTDIR)$(datadir)/, $(BKIFILES) information_schema.sql sql_features.txt)
|
||||
|
||||
|
||||
clean:
|
||||
|
@ -4,7 +4,7 @@
|
||||
*
|
||||
* Copyright 2002, PostgreSQL Global Development Group
|
||||
*
|
||||
* $Id: information_schema.sql,v 1.1 2002/12/14 00:24:24 petere Exp $
|
||||
* $Id: information_schema.sql,v 1.2 2003/01/14 23:19:34 petere Exp $
|
||||
*/
|
||||
|
||||
|
||||
@ -312,15 +312,12 @@ CREATE TABLE sql_features (
|
||||
feature_name character_data,
|
||||
sub_feature_id character_data,
|
||||
sub_feature_name character_data,
|
||||
feature_subfeature_package_code character_data,
|
||||
is_supported character_data,
|
||||
is_verified_by character_data,
|
||||
comments character_data
|
||||
);
|
||||
) WITHOUT OIDS;
|
||||
|
||||
-- FIXME: Fill this in using the information in User's Guide Appendix
|
||||
-- C, and then figure out a way to generate the documentation from this
|
||||
-- table.
|
||||
-- Will be filled with external data by initdb.
|
||||
|
||||
GRANT SELECT ON sql_features TO PUBLIC;
|
||||
|
||||
@ -338,7 +335,7 @@ CREATE TABLE sql_languages (
|
||||
sql_language_implementation character_data,
|
||||
sql_language_binding_style character_data,
|
||||
sql_language_programming_language character_data
|
||||
);
|
||||
) WITHOUT OIDS;
|
||||
|
||||
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');
|
||||
@ -346,6 +343,33 @@ INSERT INTO sql_languages VALUES ('ISO 9075', '1999', 'CORE', NULL, NULL, 'EMBED
|
||||
GRANT SELECT ON sql_languages TO PUBLIC;
|
||||
|
||||
|
||||
/*
|
||||
* 20.50
|
||||
* SQL_PACKAGES table
|
||||
*/
|
||||
|
||||
CREATE TABLE sql_packages (
|
||||
feature_id character_data,
|
||||
feature_name character_data,
|
||||
is_supported character_data,
|
||||
is_verified_by character_data,
|
||||
comments character_data
|
||||
) WITHOUT OIDS;
|
||||
|
||||
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 ('PKG009', 'SQL/MM support', 'NO', NULL, '');
|
||||
|
||||
GRANT SELECT ON sql_packages TO PUBLIC;
|
||||
|
||||
|
||||
/*
|
||||
* 20.53
|
||||
* TABLE_CONSTRAINTS view
|
||||
|
82
src/backend/catalog/sql_feature_packages.txt
Normal file
82
src/backend/catalog/sql_feature_packages.txt
Normal file
@ -0,0 +1,82 @@
|
||||
B011 Core
|
||||
B012 Core
|
||||
B013 Core
|
||||
B014 Core
|
||||
B015 Core
|
||||
B016 Core
|
||||
B017 Core
|
||||
E011 Core
|
||||
E021 Core
|
||||
E031 Core
|
||||
E051 Core
|
||||
E061 Core
|
||||
E071 Core
|
||||
E081 Core
|
||||
E091 Core
|
||||
E101 Core
|
||||
E111 Core
|
||||
E121 Core
|
||||
E131 Core
|
||||
E141 Core
|
||||
E151 Core
|
||||
E152 Core
|
||||
E153 Core
|
||||
E161 Core
|
||||
E171 Core
|
||||
E182 Core
|
||||
F021 Core
|
||||
F031 Core
|
||||
F041 Core
|
||||
F051 Core
|
||||
F052 Enhanced datetime facilities
|
||||
F081 Core
|
||||
F131 Core
|
||||
F191 Enhanced integrity management
|
||||
F201 Core
|
||||
F221 Core
|
||||
F261 Core
|
||||
F302 OLAP facilities
|
||||
F304 OLAP facilities
|
||||
F311 Core
|
||||
F401 OLAP facilities
|
||||
F411 Enhanced datetime facilities
|
||||
F471 Core
|
||||
F481 Core
|
||||
F491 Enhanced integrity management
|
||||
F501 Core
|
||||
F521 Enhanced integrity management
|
||||
F555 Enhanced datetime facilities
|
||||
F591 OLAP facilities
|
||||
F641 OLAP facilities
|
||||
F671 Enhanced integrity management
|
||||
F701 Enhanced integrity management
|
||||
F812 Core
|
||||
S011 Core
|
||||
S023 Basic object support
|
||||
S023 SQL/MM support
|
||||
S024 Enhanced object support
|
||||
S024 SQL/MM support
|
||||
S041 Basic object support
|
||||
S043 Enhanced object support
|
||||
S051 Basic object support
|
||||
S071 Enhanced object support
|
||||
S081 Enhanced object support
|
||||
S091 SQL/MM support
|
||||
S092 SQL/MM support
|
||||
S111 Enhanced object support
|
||||
S151 Basic object support
|
||||
S161 Enhanced object support
|
||||
S211 Enhanced object support
|
||||
S211 SQL/MM support
|
||||
S231 Enhanced object support
|
||||
S241 Enhanced object support
|
||||
T041 Basic object support
|
||||
T191 Enhanced integrity management
|
||||
T201 Enhanced integrity management
|
||||
T211 Enhanced integrity management
|
||||
T211 Active database
|
||||
T212 Enhanced integrity management
|
||||
T321 Core
|
||||
T322 PSM
|
||||
T322 SQL/MM support
|
||||
T431 OLAP facilities
|
360
src/backend/catalog/sql_features.txt
Normal file
360
src/backend/catalog/sql_features.txt
Normal file
@ -0,0 +1,360 @@
|
||||
B011 Embedded Ada NO
|
||||
B012 Embedded C YES
|
||||
B013 Embedded COBOL NO
|
||||
B014 Embedded Fortran NO
|
||||
B015 Embedded MUMPS NO
|
||||
B016 Embedded Pascal NO
|
||||
B017 Embedded PL/I NO
|
||||
B021 Direct SQL YES
|
||||
B031 Basic dynamic SQL NO
|
||||
B032 Extended dynamic SQL NO
|
||||
B032 Extended dynamic SQL 01 <describe input> statement NO
|
||||
B041 Extensions to embedded SQL exception declarations NO
|
||||
B051 Enhanced execution rights NO
|
||||
E011 Numeric data types YES
|
||||
E011 Numeric data types 01 INTEGER and SMALLINT data types YES
|
||||
E011 Numeric data types 02 REAL, DOUBLE PRECISON, 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 data types 01 CHARACTER data type YES
|
||||
E021 Character data types 02 CHARACTER VARYING data type YES
|
||||
E021 Character data types 03 Character literals YES
|
||||
E021 Character data types 04 CHARACTER_LENGTH function YES
|
||||
E021 Character data types 05 OCTET_LENGTH function YES
|
||||
E021 Character data types 06 SUBSTRING function YES
|
||||
E021 Character data types 07 Character concatenation YES
|
||||
E021 Character data types 08 UPPER and LOWER functions YES
|
||||
E021 Character data types 09 TRIM function YES
|
||||
E021 Character data types 10 Implicit casting among the character data types YES
|
||||
E021 Character data types 11 POSITION function YES
|
||||
E021 Character data 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 AS is required
|
||||
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 NO
|
||||
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 NO
|
||||
E081 Basic Privileges 06 REFERENCES privilege at the table level YES
|
||||
E081 Basic Privileges 07 REFERENCES privilege at the column level NO
|
||||
E081 Basic Privileges 08 WITH GRANT OPTION NO
|
||||
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 NO
|
||||
E121 Basic cursor supoprt 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 NO
|
||||
E121 Basic cursor support 06 Positioned UPDATE statement NO
|
||||
E121 Basic cursor support 07 Positioned DELETE statement NO
|
||||
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 NO
|
||||
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 NO
|
||||
E161 SQL comments using leading double minus YES
|
||||
E171 SQLSTATE support NO
|
||||
E182 Module language NO
|
||||
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 NO
|
||||
F034 Extended REVOKE statement 01 REVOKE statement performed by other than the owner of a schema object NO
|
||||
F034 Extended REVOKE statement 02 REVOKE statement: GRANT OPTION FOR clause NO
|
||||
F034 Extended REVOKE statement 03 REVOKE statement to revoke a privilege that the grantee has WITH GRANT OPTION NO
|
||||
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 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
|
||||
F081 UNION and EXCEPT in views YES
|
||||
F111 Isolation levels other than SERIALIZABLE NO
|
||||
F111 Isolation levels other than SERIALIZABLE 01 READ UNCOMMITTED isolation level NO
|
||||
F111 Isolation levels other than SERIALIZABLE 02 READ COMMITTED isolation level YES
|
||||
F111 Isolation levels other than SERIALIZABLE 03 REPEATABLE READ isolation level NO
|
||||
F121 Basic diagnostics management NO
|
||||
F121 Basic diagnostics management 01 GET DIAGNOSTICS statement NO
|
||||
F121 Basic diagnostics management 02 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 NO
|
||||
F191 Referential delete actions YES
|
||||
F201 CAST function YES
|
||||
F221 Explicit defaults YES
|
||||
F222 INSERT statement: DEFAULT VALUES clause YES
|
||||
F231 Privilege Tables YES
|
||||
F231 Privilege Tables 01 TABLE_PRIVILEGES view YES
|
||||
F231 Privilege Tables 02 COLUMN_PRIVILEGES view YES
|
||||
F231 Privilege Tables 03 USAGE_PRIVILEGES view 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
|
||||
F271 Compound character literals YES
|
||||
F281 LIKE enhancements YES
|
||||
F291 UNIQUE predicate NO
|
||||
F301 CORRESPONDING in query expressions NO
|
||||
F302 INTERSECT table operator YES
|
||||
F302 INTERSECT table operator 01 INTERSECT DISTINCT table operator YES
|
||||
F302 INTERSECT table operator 02 INTERSECT ALL table operator YES
|
||||
F304 EXCEPT ALL table operator YES
|
||||
F311 Schema definition statement NO
|
||||
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 NO
|
||||
F311 Schema definition statement 05 GRANT statement YES
|
||||
F321 User authorization YES
|
||||
F341 Usage tables NO
|
||||
F361 Subprogram support YES
|
||||
F381 Extended schema manipulation YES
|
||||
F381 Extended schema manipulation 01 ALTER TABLE statement: ALTER COLUMN clause YES
|
||||
F381 Extended schema manipulation 02 ALTER TABLE statement: ADD CONSTRAINT clause YES
|
||||
F381 Extended schema manipulation 03 ALTER TABLE statement: DROP CONSTRAINT clause YES
|
||||
F391 Long identifiers YES
|
||||
F401 Extended joined table YES
|
||||
F401 Extended joined table 01 NATURAL JOIN YES
|
||||
F401 Extended joined table 02 FULL OUTER JOIN YES
|
||||
F401 Extended joined table 03 UNION JOIN YES
|
||||
F401 Extended joined table 04 CROSS JOIN YES
|
||||
F411 Time zone specification YES
|
||||
F421 National character YES
|
||||
F431 Read-only scrollable cursors NO
|
||||
F431 Read-only scrollable cursors 01 FETCH with explicit NEXT YES
|
||||
F431 Read-only scrollable cursors 02 FETCH FIRST NO
|
||||
F431 Read-only scrollable cursors 03 FETCH LAST NO
|
||||
F431 Read-only scrollable cursors 04 FETCH PRIOR YES
|
||||
F431 Read-only scrollable cursors 05 FETCH ABSOLUTE NO
|
||||
F431 Read-only scrollable cursors 06 FETCH RELATIVE YES
|
||||
F441 Extended set function support YES
|
||||
F451 Character set definition NO
|
||||
F461 Named character sets NO
|
||||
F471 Scalar subquery values YES
|
||||
F481 Expanded NULL predicate YES
|
||||
F491 Constraint management YES
|
||||
F501 Features and conformance views NO
|
||||
F501 Features and conformance views 01 SQL_FEATURES view YES
|
||||
F501 Features and conformance views 02 SQL_SIZING view NO
|
||||
F501 Features and conformance views 03 SQL_LANGUAGES view YES
|
||||
F502 Enhanced documentation tables NO
|
||||
F502 Enhanced documentation tables 01 SQL_SIZING_PROFILES view NO
|
||||
F502 Enhanced documentation tables 02 SQL_IMPLEMENTATION_INFO view NO
|
||||
F502 Enhanced documentation tables 03 SQL_PACKAGES view YES
|
||||
F511 BIT data type YES
|
||||
F521 Assertions NO
|
||||
F531 Temporary tables YES
|
||||
F555 Enhanced seconds precision YES
|
||||
F561 Full value expressions YES
|
||||
F571 Truth value tests YES
|
||||
F591 Derived tables YES
|
||||
F611 Indicator data types YES
|
||||
F641 Row and table constructors NO
|
||||
F651 Catalog name qualifiers YES
|
||||
F661 Simple tables NO
|
||||
F671 Subqueries in CHECK NO intentionally omitted
|
||||
F691 Collation and translation NO
|
||||
F701 Referential update actions YES
|
||||
F711 ALTER domain YES
|
||||
F721 Deferrable constraints NO foreign keys only
|
||||
F731 INSERT column privileges NO
|
||||
F741 Referential MATCH types NO no partial match yet
|
||||
F751 View CHECK enhancements NO
|
||||
F761 Session management YES
|
||||
F771 Connection management YES
|
||||
F781 Self-referencing operations YES
|
||||
F791 Insensitive cursors YES
|
||||
F801 Full set function YES
|
||||
F811 Extended flagging NO
|
||||
F812 Basic flagging NO
|
||||
F813 Extended flagging for "Core SQL Flagging" and "Catalog Lookup" only NO
|
||||
F821 Local table references NO
|
||||
F831 Full cursor update NO
|
||||
F831 Full cursor update 01 Updatable scrollable cursors NO
|
||||
F831 Full cursor update 02 Updatable ordered cursors 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
|
||||
S041 Basic reference types NO
|
||||
S043 Enhanced reference types NO
|
||||
S051 Create table of type NO
|
||||
S071 SQL paths in function and type name resolution YES
|
||||
S081 Subtables NO
|
||||
S091 Basic array support NO PostgreSQL arrays are different
|
||||
S091 Basic array support 01 Arrays of built-in data types NO
|
||||
S091 Basic array support 02 Arrays of distinct types NO
|
||||
S091 Basic array support 03 Array expressions NO
|
||||
S092 Arrays of user-defined types NO
|
||||
S094 Arrays of reference types NO
|
||||
S111 ONLY in query expressions YES
|
||||
S151 Type predicate NO
|
||||
S161 Subtype treatment NO
|
||||
S201 SQL routines on arrays NO
|
||||
S201 SQL routines on arrays 01 Array parameters NO
|
||||
S201 SQL routines on arrays 02 Array as result type of functions NO
|
||||
S211 User-defined cast functions YES
|
||||
S231 Structured type locators NO
|
||||
S232 Array locators NO
|
||||
S241 Transform functions NO
|
||||
S251 User-defined orderings NO
|
||||
S261 Specific type method NO
|
||||
T011 Timestamp in Information Schema NO
|
||||
T031 BOOLEAN data type YES
|
||||
T041 Basic LOB data type support NO
|
||||
T041 Basic LOB data type support 01 BLOB data type NO
|
||||
T041 Basic LOB data type support 02 CLOB data type NO
|
||||
T041 Basic LOB data type support 03 POSITION, LENGTH, LOWER, TRIM, UPPER, and SUBSTRING functions for LOB data types NO
|
||||
T041 Basic LOB data type support 04 Concatenation of LOB data types NO
|
||||
T041 Basic LOB data type support 05 LOB locator: non-holdable NO
|
||||
T042 Extended LOB data type support NO
|
||||
T051 Row types NO
|
||||
T111 Updatable joins, unions, and columns NO
|
||||
T121 WITH (excluding RECURSIVE) in query expression NO
|
||||
T131 Recursive query NO
|
||||
T141 SIMILAR predicate YES
|
||||
T151 DISTINCT predicate YES
|
||||
T171 LIKE clause in table definition NO
|
||||
T191 Referential action RESTRICT YES
|
||||
T201 Comparable data types for referential constraints YES
|
||||
T211 Basic trigger capability NO
|
||||
T211 Basic trigger capability 01 Triggers activated on UPDATE, INSERT, or DELETE of one base table YES
|
||||
T211 Basic trigger capability 02 BEFORE triggers YES
|
||||
T211 Basic trigger capability 03 AFTER triggers YES
|
||||
T211 Basic trigger capability 04 FOR EACH ROW triggers YES
|
||||
T211 Basic trigger capability 05 Ability to specify a search condition that must be true before the trigger is invoked NO
|
||||
T211 Basic trigger capability 06 Support for run-time rules for the interaction of triggers and constraints NO
|
||||
T211 Basic trigger capability 07 TRIGGER privilege YES
|
||||
T211 Basic trigger capability 08 Multiple triggers for the same the event are executed in the order in which they were created NO
|
||||
T212 Enhanced trigger capability YES
|
||||
T231 SENSITIVE cursors YES
|
||||
T241 START TRANSACTION statement YES
|
||||
T251 SET TRANSACTION statement: LOCAL option NO
|
||||
T261 Chained transactions NO
|
||||
T271 Savepoints NO
|
||||
T281 SELECT privilege with column granularity NO
|
||||
T301 Functional Dependencies NO
|
||||
T312 OVERLAY function YES
|
||||
T321 Basic SQL-invoked routines NO
|
||||
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 NO
|
||||
T321 Basic SQL-invoked routines 03 Function invocation YES
|
||||
T321 Basic SQL-invoked routines 04 CALL statement NO
|
||||
T321 Basic SQL-invoked routines 05 RETURN statement NO
|
||||
T321 Basic SQL-invoked routines 06 ROUTINES view NO
|
||||
T321 Basic SQL-invoked routines 07 PARAMETERS view NO
|
||||
T322 Overloading of SQL-invoked functions and procedures YES
|
||||
T323 Explicit security for external routines YES
|
||||
T331 Basic roles NO
|
||||
T332 Extended roles NO
|
||||
T351 Bracketed SQL comments (/*...*/ comments) YES
|
||||
T401 INSERT into a cursor NO
|
||||
T411 UPDATE statement: SET ROW option NO
|
||||
T431 CUBE and ROLLUP operations NO
|
||||
T441 ABS and MOD functions YES
|
||||
T461 Symmetric BETWEEN predicate NO
|
||||
T471 Result sets return value NO
|
||||
T491 LATERAL derived table NO
|
||||
T501 Enhanced EXISTS predicate YES
|
||||
T511 Transaction counts NO
|
||||
T541 Updatable table references NO
|
||||
T551 Optional key words for default syntax YES
|
||||
T561 Holdable locators NO
|
||||
T571 Array-returning external SQL-invoked functions NO
|
||||
T581 Regular expression substring function YES
|
||||
T591 UNIQUE constraints of possibly null columns YES
|
||||
T601 Local cursor references NO
|
@ -27,7 +27,7 @@
|
||||
# Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
|
||||
# Portions Copyright (c) 1994, Regents of the University of California
|
||||
#
|
||||
# $Header: /cvsroot/pgsql/src/bin/initdb/Attic/initdb.sh,v 1.178 2002/12/14 00:24:24 petere Exp $
|
||||
# $Header: /cvsroot/pgsql/src/bin/initdb/Attic/initdb.sh,v 1.179 2003/01/14 23:19:34 petere Exp $
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
|
||||
@ -1044,6 +1044,12 @@ echo "ok"
|
||||
|
||||
$ECHO_N "creating information schema... "$ECHO_C
|
||||
"$PGPATH"/postgres $PGSQL_OPT -N template1 > /dev/null < "$datadir"/information_schema.sql || exit_nicely
|
||||
(
|
||||
echo "COPY information_schema.sql_features (feature_id, feature_name, sub_feature_id, sub_feature_name, is_supported, comments) FROM STDIN;"
|
||||
cat "$datadir"/sql_features.txt
|
||||
echo "\."
|
||||
) \
|
||||
| "$PGPATH"/postgres $PGSQL_OPT template1 > /dev/null || exit_nicely
|
||||
echo "ok"
|
||||
|
||||
$ECHO_N "vacuuming database template1... "$ECHO_C
|
||||
|
Loading…
Reference in New Issue
Block a user