doc: Generate keywords table automatically
authorPeter Eisentraut
Tue, 7 May 2019 13:29:39 +0000 (15:29 +0200)
committerPeter Eisentraut
Tue, 7 May 2019 13:29:39 +0000 (15:29 +0200)
The SQL keywords table in the documentation had until now been
generated by some ad hoc scripting outside the source tree once for
each major release.  This changes it to an automated process.

We have the PostgreSQL keywords available in a parseable format in
parser/kwlist.h.  For the relevant SQL standard versions, keep the
keyword lists in new text files.  A new script
generate-keywords-table.pl pulls it all together and produces a
DocBook table.

The final output in the documentation should be identical after this
change.

Discussion: https://www.postgresql.org/message-id/flat/07daeadd-8c82-0d95-5e19-e350502cb749%402ndquadrant.com

19 files changed:
doc/src/sgml/.gitignore
doc/src/sgml/Makefile
doc/src/sgml/filelist.sgml
doc/src/sgml/generate-keywords-table.pl [new file with mode: 0644]
doc/src/sgml/keywords.sgml
doc/src/sgml/keywords/sql1992-nonreserved.txt [new file with mode: 0644]
doc/src/sgml/keywords/sql1992-reserved.txt [new file with mode: 0644]
doc/src/sgml/keywords/sql2008-02-nonreserved.txt [new file with mode: 0644]
doc/src/sgml/keywords/sql2008-02-reserved.txt [new file with mode: 0644]
doc/src/sgml/keywords/sql2008-09-nonreserved.txt [new file with mode: 0644]
doc/src/sgml/keywords/sql2008-09-reserved.txt [new file with mode: 0644]
doc/src/sgml/keywords/sql2008-14-nonreserved.txt [new file with mode: 0644]
doc/src/sgml/keywords/sql2008-14-reserved.txt [new file with mode: 0644]
doc/src/sgml/keywords/sql2011-02-nonreserved.txt [new file with mode: 0644]
doc/src/sgml/keywords/sql2011-02-reserved.txt [new file with mode: 0644]
doc/src/sgml/keywords/sql2011-09-nonreserved.txt [new file with mode: 0644]
doc/src/sgml/keywords/sql2011-09-reserved.txt [new file with mode: 0644]
doc/src/sgml/keywords/sql2011-14-nonreserved.txt [new file with mode: 0644]
doc/src/sgml/keywords/sql2011-14-reserved.txt [new file with mode: 0644]

index a72b7ccb06cbbf9e84987d9a3f009a990cbced22..acf7b4f10f7d752ab2c172cf68cce51a84db2c3e 100644 (file)
@@ -15,6 +15,7 @@
 /features-supported.sgml
 /features-unsupported.sgml
 /errcodes-table.sgml
+/keywords-table.sgml
 /version.sgml
 # Assorted byproducts from building the above
 /postgres.xml
index 0d0db18ff8957d1d335ba3d8fe309de2d9119652..05dc51ace854647d4eb2e7ffdffecadbeaf6ed0d 100644 (file)
@@ -53,7 +53,8 @@ override XSLTPROCFLAGS += --stringparam pg.version '$(VERSION)'
 
 
 GENERATED_SGML = version.sgml \
-   features-supported.sgml features-unsupported.sgml errcodes-table.sgml
+   features-supported.sgml features-unsupported.sgml errcodes-table.sgml \
+   keywords-table.sgml
 
 ALLSGML := $(wildcard $(srcdir)/*.sgml $(srcdir)/ref/*.sgml) $(GENERATED_SGML)
 
@@ -96,6 +97,9 @@ features-unsupported.sgml: $(top_srcdir)/src/backend/catalog/sql_feature_package
 errcodes-table.sgml: $(top_srcdir)/src/backend/utils/errcodes.txt generate-errcodes-table.pl
    $(PERL) $(srcdir)/generate-errcodes-table.pl $< > $@
 
+keywords-table.sgml: $(top_srcdir)/src/include/parser/kwlist.h $(wildcard $(srcdir)/keywords/sql*.txt) generate-keywords-table.pl
+   $(PERL) $(srcdir)/generate-keywords-table.pl $(srcdir) > $@
+
 
 ##
 ## Generation of some text files.
index 7e37042a55ee87c108a162d754c778ac4cb3c254..8960f11278640cff2ec569dbca7347c2c6619cb0 100644 (file)
 
 
 
+
 
 
 
diff --git a/doc/src/sgml/generate-keywords-table.pl b/doc/src/sgml/generate-keywords-table.pl
new file mode 100644 (file)
index 0000000..611c22b
--- /dev/null
@@ -0,0 +1,122 @@
+#!/usr/bin/perl
+#
+# Generate the keywords table file
+# Copyright (c) 2019, PostgreSQL Global Development Group
+
+use strict;
+use warnings;
+
+my @sql_versions = reverse sort ('1992', '2008', '2011');
+
+my $srcdir = $ARGV[0];
+
+my %keywords;
+
+# read SQL keywords
+
+foreach my $ver (@sql_versions)
+{
+   foreach my $res ('reserved', 'nonreserved')
+   {
+       foreach my $file (glob "$srcdir/keywords/sql${ver}*-${res}.txt")
+       {
+           open my $fh, '<', $file or die;
+
+           while (<$fh>)
+           {
+               chomp;
+               $keywords{$_}{$ver}{$res} = 1;
+           }
+
+           close $fh;
+       }
+   }
+}
+
+# read PostgreSQL keywords
+
+open my $fh, '<', "$srcdir/../../../src/include/parser/kwlist.h" or die;
+
+while (<$fh>)
+{
+   if (/^PG_KEYWORD\("(\w+)", \w+, (\w+)_KEYWORD\)/)
+   {
+       $keywords{ uc $1 }{'pg'}{ lc $2 } = 1;
+   }
+}
+
+close $fh;
+
+# print output
+
+print "\n";
+
+print <
+
<acronym>SQL</acronym> Key Words
+
+  
+   
+    Key Word
+    PostgreSQL
+END
+
+foreach my $ver (@sql_versions)
+{
+   my $s = ($ver eq '1992' ? 'SQL-92' : "SQL:$ver");
+   print "    $s\n";
+}
+
+print <
+   
+  
+
+  
+END
+
+foreach my $word (sort keys %keywords)
+{
+   print "   \n";
+   print "    $word\n";
+
+   print "    ";
+   if ($keywords{$word}{pg}{'unreserved'})
+   {
+       print "non-reserved";
+   }
+   elsif ($keywords{$word}{pg}{'col_name'})
+   {
+       print "non-reserved (cannot be function or type)";
+   }
+   elsif ($keywords{$word}{pg}{'type_func_name'})
+   {
+       print "reserved (can be function or type)";
+   }
+   elsif ($keywords{$word}{pg}{'reserved'})
+   {
+       print "reserved";
+   }
+   print "\n";
+
+   foreach my $ver (@sql_versions)
+   {
+       print "    ";
+       if ($keywords{$word}{$ver}{'reserved'})
+       {
+           print "reserved";
+       }
+       elsif ($keywords{$word}{$ver}{'nonreserved'})
+       {
+           print "non-reserved";
+       }
+       print "\n";
+   }
+   print "   \n";
+}
+
+print <
+  
+
+END
index 197c3f48540bbd29a27e8b0ad2e510cea7f0294f..57dcd6ae5c7b4e48893b585d72a441df5d1ef48d 100644 (file)
   presence of a key word does not indicate the existence of a feature.
  
 
-
-
-
-
<acronym>SQL</acronym> Key Words
-
-  
-   
-    Key Word
-    PostgreSQL
-    SQL:2011
-    SQL:2008
-    SQL-92
-   
-  
-
-  
-   
-    A
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    ABORT
-    non-reserved
-    
-    
-    
-   
-   
-    ABS
-    
-    reserved
-    reserved
-    
-   
-   
-    ABSENT
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    ABSOLUTE
-    non-reserved
-    non-reserved
-    non-reserved
-    reserved
-   
-   
-    ACCESS
-    non-reserved
-    
-    
-    
-   
-   
-    ACCORDING
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    ACTION
-    non-reserved
-    non-reserved
-    non-reserved
-    reserved
-   
-   
-    ADA
-    
-    non-reserved
-    non-reserved
-    non-reserved
-   
-   
-    ADD
-    non-reserved
-    non-reserved
-    non-reserved
-    reserved
-   
-   
-    ADMIN
-    non-reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    AFTER
-    non-reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    AGGREGATE
-    non-reserved
-    
-    
-    
-   
-   
-    ALL
-    reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    ALLOCATE
-    
-    reserved
-    reserved
-    reserved
-   
-   
-    ALSO
-    non-reserved
-    
-    
-    
-   
-   
-    ALTER
-    non-reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    ALWAYS
-    non-reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    ANALYSE
-    reserved
-    
-    
-    
-   
-   
-    ANALYZE
-    reserved
-    
-    
-    
-   
-   
-    AND
-    reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    ANY
-    reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    ARE
-    
-    reserved
-    reserved
-    reserved
-   
-   
-    ARRAY
-    reserved
-    reserved
-    reserved
-    
-   
-   
-    ARRAY_AGG
-    
-    reserved
-    reserved
-    
-   
-   
-    ARRAY_MAX_CARDINALITY
-    
-    reserved
-    
-    
-   
-   
-    AS
-    reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    ASC
-    reserved
-    non-reserved
-    non-reserved
-    reserved
-   
-   
-    ASENSITIVE
-    
-    reserved
-    reserved
-    
-   
-   
-    ASSERTION
-    non-reserved
-    non-reserved
-    non-reserved
-    reserved
-   
-   
-    ASSIGNMENT
-    non-reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    ASYMMETRIC
-    reserved
-    reserved
-    reserved
-    
-   
-   
-    AT
-    non-reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    ATOMIC
-    
-    reserved
-    reserved
-    
-   
-   
-    ATTACH
-    non-reserved
-    
-    
-    
-   
-   
-    ATTRIBUTE
-    non-reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    ATTRIBUTES
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    AUTHORIZATION
-    reserved (can be function or type)
-    reserved
-    reserved
-    reserved
-   
-   
-    AVG
-    
-    reserved
-    reserved
-    reserved
-   
-   
-    BACKWARD
-    non-reserved
-    
-    
-    
-   
-   
-    BASE64
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    BEFORE
-    non-reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    BEGIN
-    non-reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    BEGIN_FRAME
-    
-    reserved
-    
-    
-   
-   
-    BEGIN_PARTITION
-    
-    reserved
-    
-    
-   
-   
-    BERNOULLI
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    BETWEEN
-    non-reserved (cannot be function or type)
-    reserved
-    reserved
-    reserved
-   
-   
-    BIGINT
-    non-reserved (cannot be function or type)
-    reserved
-    reserved
-    
-   
-   
-    BINARY
-    reserved (can be function or type)
-    reserved
-    reserved
-    
-   
-   
-    BIT
-    non-reserved (cannot be function or type)
-    
-    
-    reserved
-   
-   
-    BIT_LENGTH
-    
-    
-    
-    reserved
-   
-   
-    BLOB
-    
-    reserved
-    reserved
-    
-   
-   
-    BLOCKED
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    BOM
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    BOOLEAN
-    non-reserved (cannot be function or type)
-    reserved
-    reserved
-    
-   
-   
-    BOTH
-    reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    BREADTH
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    BY
-    non-reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    C
-    
-    non-reserved
-    non-reserved
-    non-reserved
-   
-   
-    CACHE
-    non-reserved
-    
-    
-    
-   
-   
-    CALL
-    non-reserved
-    reserved
-    reserved
-    
-   
-   
-    CALLED
-    non-reserved
-    reserved
-    reserved
-    
-   
-   
-    CARDINALITY
-    
-    reserved
-    reserved
-    
-   
-   
-    CASCADE
-    non-reserved
-    non-reserved
-    non-reserved
-    reserved
-   
-   
-    CASCADED
-    non-reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    CASE
-    reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    CAST
-    reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    CATALOG
-    non-reserved
-    non-reserved
-    non-reserved
-    reserved
-   
-   
-    CATALOG_NAME
-    
-    non-reserved
-    non-reserved
-    non-reserved
-   
-   
-    CEIL
-    
-    reserved
-    reserved
-    
-   
-   
-    CEILING
-    
-    reserved
-    reserved
-    
-   
-   
-    CHAIN
-    non-reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    CHAR
-    non-reserved (cannot be function or type)
-    reserved
-    reserved
-    reserved
-   
-   
-    CHARACTER
-    non-reserved (cannot be function or type)
-    reserved
-    reserved
-    reserved
-   
-   
-    CHARACTERISTICS
-    non-reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    CHARACTERS
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    CHARACTER_LENGTH
-    
-    reserved
-    reserved
-    reserved
-   
-   
-    CHARACTER_SET_CATALOG
-    
-    non-reserved
-    non-reserved
-    non-reserved
-   
-   
-    CHARACTER_SET_NAME
-    
-    non-reserved
-    non-reserved
-    non-reserved
-   
-   
-    CHARACTER_SET_SCHEMA
-    
-    non-reserved
-    non-reserved
-    non-reserved
-   
-   
-    CHAR_LENGTH
-    
-    reserved
-    reserved
-    reserved
-   
-   
-    CHECK
-    reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    CHECKPOINT
-    non-reserved
-    
-    
-    
-   
-   
-    CLASS
-    non-reserved
-    
-    
-    
-   
-   
-    CLASS_ORIGIN
-    
-    non-reserved
-    non-reserved
-    non-reserved
-   
-   
-    CLOB
-    
-    reserved
-    reserved
-    
-   
-   
-    CLOSE
-    non-reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    CLUSTER
-    non-reserved
-    
-    
-    
-   
-   
-    COALESCE
-    non-reserved (cannot be function or type)
-    reserved
-    reserved
-    reserved
-   
-   
-    COBOL
-    
-    non-reserved
-    non-reserved
-    non-reserved
-   
-   
-    COLLATE
-    reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    COLLATION
-    reserved (can be function or type)
-    non-reserved
-    non-reserved
-    reserved
-   
-   
-    COLLATION_CATALOG
-    
-    non-reserved
-    non-reserved
-    non-reserved
-   
-   
-    COLLATION_NAME
-    
-    non-reserved
-    non-reserved
-    non-reserved
-   
-   
-    COLLATION_SCHEMA
-    
-    non-reserved
-    non-reserved
-    non-reserved
-   
-   
-    COLLECT
-    
-    reserved
-    reserved
-    
-   
-   
-    COLUMN
-    reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    COLUMNS
-    non-reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    COLUMN_NAME
-    
-    non-reserved
-    non-reserved
-    non-reserved
-   
-   
-    COMMAND_FUNCTION
-    
-    non-reserved
-    non-reserved
-    non-reserved
-   
-   
-    COMMAND_FUNCTION_CODE
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    COMMENT
-    non-reserved
-    
-    
-    
-   
-   
-    COMMENTS
-    non-reserved
-    
-    
-    
-   
-   
-    COMMIT
-    non-reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    COMMITTED
-    non-reserved
-    non-reserved
-    non-reserved
-    non-reserved
-   
-   
-    CONCURRENTLY
-    reserved (can be function or type)
-    
-    
-    
-   
-   
-    CONDITION
-    
-    reserved
-    reserved
-    
-   
-   
-    CONDITION_NUMBER
-    
-    non-reserved
-    non-reserved
-    non-reserved
-   
-   
-    CONFIGURATION
-    non-reserved
-    
-    
-    
-   
-   
-    CONFLICT
-    non-reserved
-    
-    
-    
-   
-   
-    CONNECT
-    
-    reserved
-    reserved
-    reserved
-   
-   
-    CONNECTION
-    non-reserved
-    non-reserved
-    non-reserved
-    reserved
-   
-   
-    CONNECTION_NAME
-    
-    non-reserved
-    non-reserved
-    non-reserved
-   
-   
-    CONSTRAINT
-    reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    CONSTRAINTS
-    non-reserved
-    non-reserved
-    non-reserved
-    reserved
-   
-   
-    CONSTRAINT_CATALOG
-    
-    non-reserved
-    non-reserved
-    non-reserved
-   
-   
-    CONSTRAINT_NAME
-    
-    non-reserved
-    non-reserved
-    non-reserved
-   
-   
-    CONSTRAINT_SCHEMA
-    
-    non-reserved
-    non-reserved
-    non-reserved
-   
-   
-    CONSTRUCTOR
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    CONTAINS
-    
-    reserved
-    non-reserved
-    
-   
-   
-    CONTENT
-    non-reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    CONTINUE
-    non-reserved
-    non-reserved
-    non-reserved
-    reserved
-   
-   
-    CONTROL
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    CONVERSION
-    non-reserved
-    
-    
-    
-   
-   
-    CONVERT
-    
-    reserved
-    reserved
-    reserved
-   
-   
-    COPY
-    non-reserved
-    
-    
-    
-   
-   
-    CORR
-    
-    reserved
-    reserved
-    
-   
-   
-    CORRESPONDING
-    
-    reserved
-    reserved
-    reserved
-   
-   
-    COST
-    non-reserved
-    
-    
-    
-   
-   
-    COUNT
-    
-    reserved
-    reserved
-    reserved
-   
-   
-    COVAR_POP
-    
-    reserved
-    reserved
-    
-   
-   
-    COVAR_SAMP
-    
-    reserved
-    reserved
-    
-   
-   
-    CREATE
-    reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    CROSS
-    reserved (can be function or type)
-    reserved
-    reserved
-    reserved
-   
-   
-    CSV
-    non-reserved
-    
-    
-    
-   
-   
-    CUBE
-    non-reserved
-    reserved
-    reserved
-    
-   
-   
-    CUME_DIST
-    
-    reserved
-    reserved
-    
-   
-   
-    CURRENT
-    non-reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    CURRENT_CATALOG
-    reserved
-    reserved
-    reserved
-    
-   
-   
-    CURRENT_DATE
-    reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    CURRENT_DEFAULT_TRANSFORM_GROUP
-    
-    reserved
-    reserved
-    
-   
-   
-    CURRENT_PATH
-    
-    reserved
-    reserved
-    
-   
-   
-    CURRENT_ROLE
-    reserved
-    reserved
-    reserved
-    
-   
-   
-    CURRENT_ROW
-    
-    reserved
-    
-    
-   
-   
-    CURRENT_SCHEMA
-    reserved (can be function or type)
-    reserved
-    reserved
-    
-   
-   
-    CURRENT_TIME
-    reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    CURRENT_TIMESTAMP
-    reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    CURRENT_TRANSFORM_GROUP_FOR_TYPE
-    
-    reserved
-    reserved
-    
-   
-   
-    CURRENT_USER
-    reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    CURSOR
-    non-reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    CURSOR_NAME
-    
-    non-reserved
-    non-reserved
-    non-reserved
-   
-   
-    CYCLE
-    non-reserved
-    reserved
-    reserved
-    
-   
-   
-    DATA
-    non-reserved
-    non-reserved
-    non-reserved
-    non-reserved
-   
-   
-    DATABASE
-    non-reserved
-    
-    
-    
-   
-   
-    DATALINK
-    
-    reserved
-    reserved
-    
-   
-   
-    DATE
-    
-    reserved
-    reserved
-    reserved
-   
-   
-    DATETIME_INTERVAL_CODE
-    
-    non-reserved
-    non-reserved
-    non-reserved
-   
-   
-    DATETIME_INTERVAL_PRECISION
-    
-    non-reserved
-    non-reserved
-    non-reserved
-   
-   
-    DAY
-    non-reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    DB
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    DEALLOCATE
-    non-reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    DEC
-    non-reserved (cannot be function or type)
-    reserved
-    reserved
-    reserved
-   
-   
-    DECIMAL
-    non-reserved (cannot be function or type)
-    reserved
-    reserved
-    reserved
-   
-   
-    DECLARE
-    non-reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    DEFAULT
-    reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    DEFAULTS
-    non-reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    DEFERRABLE
-    reserved
-    non-reserved
-    non-reserved
-    reserved
-   
-   
-    DEFERRED
-    non-reserved
-    non-reserved
-    non-reserved
-    reserved
-   
-   
-    DEFINED
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    DEFINER
-    non-reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    DEGREE
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    DELETE
-    non-reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    DELIMITER
-    non-reserved
-    
-    
-    
-   
-   
-    DELIMITERS
-    non-reserved
-    
-    
-    
-   
-   
-    DENSE_RANK
-    
-    reserved
-    reserved
-    
-   
-   
-    DEPENDS
-    non-reserved
-    
-    
-    
-   
-   
-    DEPTH
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    DEREF
-    
-    reserved
-    reserved
-    
-   
-   
-    DERIVED
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    DESC
-    reserved
-    non-reserved
-    non-reserved
-    reserved
-   
-   
-    DESCRIBE
-    
-    reserved
-    reserved
-    reserved
-   
-   
-    DESCRIPTOR
-    
-    non-reserved
-    non-reserved
-    reserved
-   
-   
-    DETACH
-    non-reserved
-    
-    
-    
-   
-   
-    DETERMINISTIC
-    
-    reserved
-    reserved
-    
-   
-   
-    DIAGNOSTICS
-    
-    non-reserved
-    non-reserved
-    reserved
-   
-   
-    DICTIONARY
-    non-reserved
-    
-    
-    
-   
-   
-    DISABLE
-    non-reserved
-    
-    
-    
-   
-   
-    DISCARD
-    non-reserved
-    
-    
-    
-   
-   
-    DISCONNECT
-    
-    reserved
-    reserved
-    reserved
-   
-   
-    DISPATCH
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    DISTINCT
-    reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    DLNEWCOPY
-    
-    reserved
-    reserved
-    
-   
-   
-    DLPREVIOUSCOPY
-    
-    reserved
-    reserved
-    
-   
-   
-    DLURLCOMPLETE
-    
-    reserved
-    reserved
-    
-   
-   
-    DLURLCOMPLETEONLY
-    
-    reserved
-    reserved
-    
-   
-   
-    DLURLCOMPLETEWRITE
-    
-    reserved
-    reserved
-    
-   
-   
-    DLURLPATH
-    
-    reserved
-    reserved
-    
-   
-   
-    DLURLPATHONLY
-    
-    reserved
-    reserved
-    
-   
-   
-    DLURLPATHWRITE
-    
-    reserved
-    reserved
-    
-   
-   
-    DLURLSCHEME
-    
-    reserved
-    reserved
-    
-   
-   
-    DLURLSERVER
-    
-    reserved
-    reserved
-    
-   
-   
-    DLVALUE
-    
-    reserved
-    reserved
-    
-   
-   
-    DO
-    reserved
-    
-    
-    
-   
-   
-    DOCUMENT
-    non-reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    DOMAIN
-    non-reserved
-    non-reserved
-    non-reserved
-    reserved
-   
-   
-    DOUBLE
-    non-reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    DROP
-    non-reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    DYNAMIC
-    
-    reserved
-    reserved
-    
-   
-   
-    DYNAMIC_FUNCTION
-    
-    non-reserved
-    non-reserved
-    non-reserved
-   
-   
-    DYNAMIC_FUNCTION_CODE
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    EACH
-    non-reserved
-    reserved
-    reserved
-    
-   
-   
-    ELEMENT
-    
-    reserved
-    reserved
-    
-   
-   
-    ELSE
-    reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    EMPTY
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    ENABLE
-    non-reserved
-    
-    
-    
-   
-   
-    ENCODING
-    non-reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    ENCRYPTED
-    non-reserved
-    
-    
-    
-   
-   
-    END
-    reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    END-EXEC
-    
-    reserved
-    reserved
-    reserved
-   
-   
-    END_FRAME
-    
-    reserved
-    
-    
-   
-   
-    END_PARTITION
-    
-    reserved
-    
-    
-   
-   
-    ENFORCED
-    
-    non-reserved
-    
-    
-   
-   
-    ENUM
-    non-reserved
-    
-    
-    
-   
-   
-    EQUALS
-    
-    reserved
-    non-reserved
-    
-   
-   
-    ESCAPE
-    non-reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    EVENT
-    non-reserved
-    
-    
-    
-   
-   
-    EVERY
-    
-    reserved
-    reserved
-    
-   
-   
-    EXCEPT
-    reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    EXCEPTION
-    
-    
-    
-    reserved
-   
-   
-    EXCLUDE
-    non-reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    EXCLUDING
-    non-reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    EXCLUSIVE
-    non-reserved
-    
-    
-    
-   
-   
-    EXEC
-    
-    reserved
-    reserved
-    reserved
-   
-   
-    EXECUTE
-    non-reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    EXISTS
-    non-reserved (cannot be function or type)
-    reserved
-    reserved
-    reserved
-   
-   
-    EXP
-    
-    reserved
-    reserved
-    
-   
-   
-    EXPLAIN
-    non-reserved
-    
-    
-    
-   
-   
-    EXPRESSION
-    
-    non-reserved
-    
-    
-   
-   
-    EXTENSION
-    non-reserved
-    
-    
-    
-   
-   
-    EXTERNAL
-    non-reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    EXTRACT
-    non-reserved (cannot be function or type)
-    reserved
-    reserved
-    reserved
-   
-   
-    FALSE
-    reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    FAMILY
-    non-reserved
-    
-    
-    
-   
-   
-    FETCH
-    reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    FILE
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    FILTER
-    non-reserved
-    reserved
-    reserved
-    
-   
-   
-    FINAL
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    FIRST
-    non-reserved
-    non-reserved
-    non-reserved
-    reserved
-   
-   
-    FIRST_VALUE
-    
-    reserved
-    reserved
-    
-   
-   
-    FLAG
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    FLOAT
-    non-reserved (cannot be function or type)
-    reserved
-    reserved
-    reserved
-   
-   
-    FLOOR
-    
-    reserved
-    reserved
-    
-   
-   
-    FOLLOWING
-    non-reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    FOR
-    reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    FORCE
-    non-reserved
-    
-    
-    
-   
-   
-    FOREIGN
-    reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    FORTRAN
-    
-    non-reserved
-    non-reserved
-    non-reserved
-   
-   
-    FORWARD
-    non-reserved
-    
-    
-    
-   
-   
-    FOUND
-    
-    non-reserved
-    non-reserved
-    reserved
-   
-   
-    FRAME_ROW
-    
-    reserved
-    
-    
-   
-   
-    FREE
-    
-    reserved
-    reserved
-    
-   
-   
-    FREEZE
-    reserved (can be function or type)
-    
-    
-    
-   
-   
-    FROM
-    reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    FS
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    FULL
-    reserved (can be function or type)
-    reserved
-    reserved
-    reserved
-   
-   
-    FUNCTION
-    non-reserved
-    reserved
-    reserved
-    
-   
-   
-    FUNCTIONS
-    non-reserved
-    
-    
-    
-   
-   
-    FUSION
-    
-    reserved
-    reserved
-    
-   
-   
-    G
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    GENERAL
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    GENERATED
-    non-reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    GET
-    
-    reserved
-    reserved
-    reserved
-   
-   
-    GLOBAL
-    non-reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    GO
-    
-    non-reserved
-    non-reserved
-    reserved
-   
-   
-    GOTO
-    
-    non-reserved
-    non-reserved
-    reserved
-   
-   
-    GRANT
-    reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    GRANTED
-    non-reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    GREATEST
-    non-reserved (cannot be function or type)
-    
-    
-    
-   
-   
-    GROUP
-    reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    GROUPING
-    non-reserved (cannot be function or type)
-    reserved
-    reserved
-    
-   
-   
-    GROUPS
-    non-reserved
-    reserved
-    
-    
-   
-   
-    HANDLER
-    non-reserved
-    
-    
-    
-   
-   
-    HAVING
-    reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    HEADER
-    non-reserved
-    
-    
-    
-   
-   
-    HEX
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    HIERARCHY
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    HOLD
-    non-reserved
-    reserved
-    reserved
-    
-   
-   
-    HOUR
-    non-reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    ID
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    IDENTITY
-    non-reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    IF
-    non-reserved
-    
-    
-    
-   
-   
-    IGNORE
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    ILIKE
-    reserved (can be function or type)
-    
-    
-    
-   
-   
-    IMMEDIATE
-    non-reserved
-    non-reserved
-    non-reserved
-    reserved
-   
-   
-    IMMEDIATELY
-    
-    non-reserved
-    
-    
-   
-   
-    IMMUTABLE
-    non-reserved
-    
-    
-    
-   
-   
-    IMPLEMENTATION
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    IMPLICIT
-    non-reserved
-    
-    
-    
-   
-   
-    IMPORT
-    non-reserved
-    reserved
-    reserved
-    
-   
-   
-    IN
-    reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    INCLUDE
-    non-reserved
-    
-    
-    
-   
-   
-    INCLUDING
-    non-reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    INCREMENT
-    non-reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    INDENT
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    INDEX
-    non-reserved
-    
-    
-    
-   
-   
-    INDEXES
-    non-reserved
-    
-    
-    
-   
-   
-    INDICATOR
-    
-    reserved
-    reserved
-    reserved
-   
-   
-    INHERIT
-    non-reserved
-    
-    
-    
-   
-   
-    INHERITS
-    non-reserved
-    
-    
-    
-   
-   
-    INITIALLY
-    reserved
-    non-reserved
-    non-reserved
-    reserved
-   
-   
-    INLINE
-    non-reserved
-    
-    
-    
-   
-   
-    INNER
-    reserved (can be function or type)
-    reserved
-    reserved
-    reserved
-   
-   
-    INOUT
-    non-reserved (cannot be function or type)
-    reserved
-    reserved
-    
-   
-   
-    INPUT
-    non-reserved
-    non-reserved
-    non-reserved
-    reserved
-   
-   
-    INSENSITIVE
-    non-reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    INSERT
-    non-reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    INSTANCE
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    INSTANTIABLE
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    INSTEAD
-    non-reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    INT
-    non-reserved (cannot be function or type)
-    reserved
-    reserved
-    reserved
-   
-   
-    INTEGER
-    non-reserved (cannot be function or type)
-    reserved
-    reserved
-    reserved
-   
-   
-    INTEGRITY
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    INTERSECT
-    reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    INTERSECTION
-    
-    reserved
-    reserved
-    
-   
-   
-    INTERVAL
-    non-reserved (cannot be function or type)
-    reserved
-    reserved
-    reserved
-   
-   
-    INTO
-    reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    INVOKER
-    non-reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    IS
-    reserved (can be function or type)
-    reserved
-    reserved
-    reserved
-   
-   
-    ISNULL
-    reserved (can be function or type)
-    
-    
-    
-   
-   
-    ISOLATION
-    non-reserved
-    non-reserved
-    non-reserved
-    reserved
-   
-   
-    JOIN
-    reserved (can be function or type)
-    reserved
-    reserved
-    reserved
-   
-   
-    K
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    KEY
-    non-reserved
-    non-reserved
-    non-reserved
-    reserved
-   
-   
-    KEY_MEMBER
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    KEY_TYPE
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    LABEL
-    non-reserved
-    
-    
-    
-   
-   
-    LAG
-    
-    reserved
-    reserved
-    
-   
-   
-    LANGUAGE
-    non-reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    LARGE
-    non-reserved
-    reserved
-    reserved
-    
-   
-   
-    LAST
-    non-reserved
-    non-reserved
-    non-reserved
-    reserved
-   
-   
-    LAST_VALUE
-    
-    reserved
-    reserved
-    
-   
-   
-    LATERAL
-    reserved
-    reserved
-    reserved
-    
-   
-   
-    LEAD
-    
-    reserved
-    reserved
-    
-   
-   
-    LEADING
-    reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    LEAKPROOF
-    non-reserved
-    
-    
-    
-   
-   
-    LEAST
-    non-reserved (cannot be function or type)
-    
-    
-    
-   
-   
-    LEFT
-    reserved (can be function or type)
-    reserved
-    reserved
-    reserved
-   
-   
-    LENGTH
-    
-    non-reserved
-    non-reserved
-    non-reserved
-   
-   
-    LEVEL
-    non-reserved
-    non-reserved
-    non-reserved
-    reserved
-   
-   
-    LIBRARY
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    LIKE
-    reserved (can be function or type)
-    reserved
-    reserved
-    reserved
-   
-   
-    LIKE_REGEX
-    
-    reserved
-    reserved
-    
-   
-   
-    LIMIT
-    reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    LINK
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    LISTEN
-    non-reserved
-    
-    
-    
-   
-   
-    LN
-    
-    reserved
-    reserved
-    
-   
-   
-    LOAD
-    non-reserved
-    
-    
-    
-   
-   
-    LOCAL
-    non-reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    LOCALTIME
-    reserved
-    reserved
-    reserved
-    
-   
-   
-    LOCALTIMESTAMP
-    reserved
-    reserved
-    reserved
-    
-   
-   
-    LOCATION
-    non-reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    LOCATOR
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    LOCK
-    non-reserved
-    
-    
-    
-   
-   
-    LOCKED
-    non-reserved
-    
-    
-    
-   
-   
-    LOGGED
-    non-reserved
-    
-    
-    
-   
-   
-    LOWER
-    
-    reserved
-    reserved
-    reserved
-   
-   
-    M
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    MAP
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    MAPPING
-    non-reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    MATCH
-    non-reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    MATCHED
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    MATERIALIZED
-    non-reserved
-    
-    
-    
-   
-   
-    MAX
-    
-    reserved
-    reserved
-    reserved
-   
-   
-    MAXVALUE
-    non-reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    MAX_CARDINALITY
-    
-    
-    reserved
-    
-   
-   
-    MEMBER
-    
-    reserved
-    reserved
-    
-   
-   
-    MERGE
-    
-    reserved
-    reserved
-    
-   
-   
-    MESSAGE_LENGTH
-    
-    non-reserved
-    non-reserved
-    non-reserved
-   
-   
-    MESSAGE_OCTET_LENGTH
-    
-    non-reserved
-    non-reserved
-    non-reserved
-   
-   
-    MESSAGE_TEXT
-    
-    non-reserved
-    non-reserved
-    non-reserved
-   
-   
-    METHOD
-    non-reserved
-    reserved
-    reserved
-    
-   
-   
-    MIN
-    
-    reserved
-    reserved
-    reserved
-   
-   
-    MINUTE
-    non-reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    MINVALUE
-    non-reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    MOD
-    
-    reserved
-    reserved
-    
-   
-   
-    MODE
-    non-reserved
-    
-    
-    
-   
-   
-    MODIFIES
-    
-    reserved
-    reserved
-    
-   
-   
-    MODULE
-    
-    reserved
-    reserved
-    reserved
-   
-   
-    MONTH
-    non-reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    MORE
-    
-    non-reserved
-    non-reserved
-    non-reserved
-   
-   
-    MOVE
-    non-reserved
-    
-    
-    
-   
-   
-    MULTISET
-    
-    reserved
-    reserved
-    
-   
-   
-    MUMPS
-    
-    non-reserved
-    non-reserved
-    non-reserved
-   
-   
-    NAME
-    non-reserved
-    non-reserved
-    non-reserved
-    non-reserved
-   
-   
-    NAMES
-    non-reserved
-    non-reserved
-    non-reserved
-    reserved
-   
-   
-    NAMESPACE
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    NATIONAL
-    non-reserved (cannot be function or type)
-    reserved
-    reserved
-    reserved
-   
-   
-    NATURAL
-    reserved (can be function or type)
-    reserved
-    reserved
-    reserved
-   
-   
-    NCHAR
-    non-reserved (cannot be function or type)
-    reserved
-    reserved
-    reserved
-   
-   
-    NCLOB
-    
-    reserved
-    reserved
-    
-   
-   
-    NESTING
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    NEW
-    non-reserved
-    reserved
-    reserved
-    
-   
-   
-    NEXT
-    non-reserved
-    non-reserved
-    non-reserved
-    reserved
-   
-   
-    NFC
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    NFD
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    NFKC
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    NFKD
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    NIL
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    NO
-    non-reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    NONE
-    non-reserved (cannot be function or type)
-    reserved
-    reserved
-    
-   
-   
-    NORMALIZE
-    
-    reserved
-    reserved
-    
-   
-   
-    NORMALIZED
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    NOT
-    reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    NOTHING
-    non-reserved
-    
-    
-    
-   
-   
-    NOTIFY
-    non-reserved
-    
-    
-    
-   
-   
-    NOTNULL
-    reserved (can be function or type)
-    
-    
-    
-   
-   
-    NOWAIT
-    non-reserved
-    
-    
-    
-   
-   
-    NTH_VALUE
-    
-    reserved
-    reserved
-    
-   
-   
-    NTILE
-    
-    reserved
-    reserved
-    
-   
-   
-    NULL
-    reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    NULLABLE
-    
-    non-reserved
-    non-reserved
-    non-reserved
-   
-   
-    NULLIF
-    non-reserved (cannot be function or type)
-    reserved
-    reserved
-    reserved
-   
-   
-    NULLS
-    non-reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    NUMBER
-    
-    non-reserved
-    non-reserved
-    non-reserved
-   
-   
-    NUMERIC
-    non-reserved (cannot be function or type)
-    reserved
-    reserved
-    reserved
-   
-   
-    OBJECT
-    non-reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    OCCURRENCES_REGEX
-    
-    reserved
-    reserved
-    
-   
-   
-    OCTETS
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    OCTET_LENGTH
-    
-    reserved
-    reserved
-    reserved
-   
-   
-    OF
-    non-reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    OFF
-    non-reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    OFFSET
-    reserved
-    reserved
-    reserved
-    
-   
-   
-    OIDS
-    non-reserved
-    
-    
-    
-   
-   
-    OLD
-    non-reserved
-    reserved
-    reserved
-    
-   
-   
-    ON
-    reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    ONLY
-    reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    OPEN
-    
-    reserved
-    reserved
-    reserved
-   
-   
-    OPERATOR
-    non-reserved
-    
-    
-    
-   
-   
-    OPTION
-    non-reserved
-    non-reserved
-    non-reserved
-    reserved
-   
-   
-    OPTIONS
-    non-reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    OR
-    reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    ORDER
-    reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    ORDERING
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    ORDINALITY
-    non-reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    OTHERS
-    non-reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    OUT
-    non-reserved (cannot be function or type)
-    reserved
-    reserved
-    
-   
-   
-    OUTER
-    reserved (can be function or type)
-    reserved
-    reserved
-    reserved
-   
-   
-    OUTPUT
-    
-    non-reserved
-    non-reserved
-    reserved
-   
-   
-    OVER
-    non-reserved
-    reserved
-    reserved
-    
-   
-   
-    OVERLAPS
-    reserved (can be function or type)
-    reserved
-    reserved
-    reserved
-   
-   
-    OVERLAY
-    non-reserved (cannot be function or type)
-    reserved
-    reserved
-    
-   
-   
-    OVERRIDING
-    non-reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    OWNED
-    non-reserved
-    
-    
-    
-   
-   
-    OWNER
-    non-reserved
-    
-    
-    
-   
-   
-    P
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    PAD
-    
-    non-reserved
-    non-reserved
-    reserved
-   
-   
-    PARALLEL
-    non-reserved
-    
-    
-    
-   
-   
-    PARAMETER
-    
-    reserved
-    reserved
-    
-   
-   
-    PARAMETER_MODE
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    PARAMETER_NAME
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    PARAMETER_ORDINAL_POSITION
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    PARAMETER_SPECIFIC_CATALOG
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    PARAMETER_SPECIFIC_NAME
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    PARAMETER_SPECIFIC_SCHEMA
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    PARSER
-    non-reserved
-    
-    
-    
-   
-   
-    PARTIAL
-    non-reserved
-    non-reserved
-    non-reserved
-    reserved
-   
-   
-    PARTITION
-    non-reserved
-    reserved
-    reserved
-    
-   
-   
-    PASCAL
-    
-    non-reserved
-    non-reserved
-    non-reserved
-   
-   
-    PASSING
-    non-reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    PASSTHROUGH
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    PASSWORD
-    non-reserved
-    
-    
-    
-   
-   
-    PATH
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    PERCENT
-    
-    reserved
-    
-    
-   
-   
-    PERCENTILE_CONT
-    
-    reserved
-    reserved
-    
-   
-   
-    PERCENTILE_DISC
-    
-    reserved
-    reserved
-    
-   
-   
-    PERCENT_RANK
-    
-    reserved
-    reserved
-    
-   
-   
-    PERIOD
-    
-    reserved
-    
-    
-   
-   
-    PERMISSION
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    PLACING
-    reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    PLANS
-    non-reserved
-    
-    
-    
-   
-   
-    PLI
-    
-    non-reserved
-    non-reserved
-    non-reserved
-   
-   
-    POLICY
-    non-reserved
-    
-    
-    
-   
-   
-    PORTION
-    
-    reserved
-    
-    
-   
-   
-    POSITION
-    non-reserved (cannot be function or type)
-    reserved
-    reserved
-    reserved
-   
-   
-    POSITION_REGEX
-    
-    reserved
-    reserved
-    
-   
-   
-    POWER
-    
-    reserved
-    reserved
-    
-   
-   
-    PRECEDES
-    
-    reserved
-    
-    
-   
-   
-    PRECEDING
-    non-reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    PRECISION
-    non-reserved (cannot be function or type)
-    reserved
-    reserved
-    reserved
-   
-   
-    PREPARE
-    non-reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    PREPARED
-    non-reserved
-    
-    
-    
-   
-   
-    PRESERVE
-    non-reserved
-    non-reserved
-    non-reserved
-    reserved
-   
-   
-    PRIMARY
-    reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    PRIOR
-    non-reserved
-    non-reserved
-    non-reserved
-    reserved
-   
-   
-    PRIVILEGES
-    non-reserved
-    non-reserved
-    non-reserved
-    reserved
-   
-   
-    PROCEDURAL
-    non-reserved
-    
-    
-    
-   
-   
-    PROCEDURE
-    non-reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    PROCEDURES
-    non-reserved
-    
-    
-    
-   
-   
-    PROGRAM
-    non-reserved
-    
-    
-    
-   
-   
-    PUBLIC
-    
-    non-reserved
-    non-reserved
-    reserved
-   
-   
-    PUBLICATION
-    non-reserved
-    
-    
-    
-   
-   
-    QUOTE
-    non-reserved
-    
-    
-    
-   
-   
-    RANGE
-    non-reserved
-    reserved
-    reserved
-    
-   
-   
-    RANK
-    
-    reserved
-    reserved
-    
-   
-   
-    READ
-    non-reserved
-    non-reserved
-    non-reserved
-    reserved
-   
-   
-    READS
-    
-    reserved
-    reserved
-    
-   
-   
-    REAL
-    non-reserved (cannot be function or type)
-    reserved
-    reserved
-    reserved
-   
-   
-    REASSIGN
-    non-reserved
-    
-    
-    
-   
-   
-    RECHECK
-    non-reserved
-    
-    
-    
-   
-   
-    RECOVERY
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    RECURSIVE
-    non-reserved
-    reserved
-    reserved
-    
-   
-   
-    REF
-    non-reserved
-    reserved
-    reserved
-    
-   
-   
-    REFERENCES
-    reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    REFERENCING
-    non-reserved
-    reserved
-    reserved
-    
-   
-   
-    REFRESH
-    non-reserved
-    
-    
-    
-   
-   
-    REGR_AVGX
-    
-    reserved
-    reserved
-    
-   
-   
-    REGR_AVGY
-    
-    reserved
-    reserved
-    
-   
-   
-    REGR_COUNT
-    
-    reserved
-    reserved
-    
-   
-   
-    REGR_INTERCEPT
-    
-    reserved
-    reserved
-    
-   
-   
-    REGR_R2
-    
-    reserved
-    reserved
-    
-   
-   
-    REGR_SLOPE
-    
-    reserved
-    reserved
-    
-   
-   
-    REGR_SXX
-    
-    reserved
-    reserved
-    
-   
-   
-    REGR_SXY
-    
-    reserved
-    reserved
-    
-   
-   
-    REGR_SYY
-    
-    reserved
-    reserved
-    
-   
-   
-    REINDEX
-    non-reserved
-    
-    
-    
-   
-   
-    RELATIVE
-    non-reserved
-    non-reserved
-    non-reserved
-    reserved
-   
-   
-    RELEASE
-    non-reserved
-    reserved
-    reserved
-    
-   
-   
-    RENAME
-    non-reserved
-    
-    
-    
-   
-   
-    REPEATABLE
-    non-reserved
-    non-reserved
-    non-reserved
-    non-reserved
-   
-   
-    REPLACE
-    non-reserved
-    
-    
-    
-   
-   
-    REPLICA
-    non-reserved
-    
-    
-    
-   
-   
-    REQUIRING
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    RESET
-    non-reserved
-    
-    
-    
-   
-   
-    RESPECT
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    RESTART
-    non-reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    RESTORE
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    RESTRICT
-    non-reserved
-    non-reserved
-    non-reserved
-    reserved
-   
-   
-    RESULT
-    
-    reserved
-    reserved
-    
-   
-   
-    RETURN
-    
-    reserved
-    reserved
-    
-   
-   
-    RETURNED_CARDINALITY
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    RETURNED_LENGTH
-    
-    non-reserved
-    non-reserved
-    non-reserved
-   
-   
-    RETURNED_OCTET_LENGTH
-    
-    non-reserved
-    non-reserved
-    non-reserved
-   
-   
-    RETURNED_SQLSTATE
-    
-    non-reserved
-    non-reserved
-    non-reserved
-   
-   
-    RETURNING
-    reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    RETURNS
-    non-reserved
-    reserved
-    reserved
-    
-   
-   
-    REVOKE
-    non-reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    RIGHT
-    reserved (can be function or type)
-    reserved
-    reserved
-    reserved
-   
-   
-    ROLE
-    non-reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    ROLLBACK
-    non-reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    ROLLUP
-    non-reserved
-    reserved
-    reserved
-    
-   
-   
-    ROUTINE
-    non-reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    ROUTINES
-    non-reserved
-    
-    
-    
-   
-   
-    ROUTINE_CATALOG
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    ROUTINE_NAME
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    ROUTINE_SCHEMA
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    ROW
-    non-reserved (cannot be function or type)
-    reserved
-    reserved
-    
-   
-   
-    ROWS
-    non-reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    ROW_COUNT
-    
-    non-reserved
-    non-reserved
-    non-reserved
-   
-   
-    ROW_NUMBER
-    
-    reserved
-    reserved
-    
-   
-   
-    RULE
-    non-reserved
-    
-    
-    
-   
-   
-    SAVEPOINT
-    non-reserved
-    reserved
-    reserved
-    
-   
-   
-    SCALE
-    
-    non-reserved
-    non-reserved
-    non-reserved
-   
-   
-    SCHEMA
-    non-reserved
-    non-reserved
-    non-reserved
-    reserved
-   
-   
-    SCHEMAS
-    non-reserved
-    
-    
-    
-   
-   
-    SCHEMA_NAME
-    
-    non-reserved
-    non-reserved
-    non-reserved
-   
-   
-    SCOPE
-    
-    reserved
-    reserved
-    
-   
-   
-    SCOPE_CATALOG
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    SCOPE_NAME
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    SCOPE_SCHEMA
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    SCROLL
-    non-reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    SEARCH
-    non-reserved
-    reserved
-    reserved
-    
-   
-   
-    SECOND
-    non-reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    SECTION
-    
-    non-reserved
-    non-reserved
-    reserved
-   
-   
-    SECURITY
-    non-reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    SELECT
-    reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    SELECTIVE
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    SELF
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    SENSITIVE
-    
-    reserved
-    reserved
-    
-   
-   
-    SEQUENCE
-    non-reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    SEQUENCES
-    non-reserved
-    
-    
-    
-   
-   
-    SERIALIZABLE
-    non-reserved
-    non-reserved
-    non-reserved
-    non-reserved
-   
-   
-    SERVER
-    non-reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    SERVER_NAME
-    
-    non-reserved
-    non-reserved
-    non-reserved
-   
-   
-    SESSION
-    non-reserved
-    non-reserved
-    non-reserved
-    reserved
-   
-   
-    SESSION_USER
-    reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    SET
-    non-reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    SETOF
-    non-reserved (cannot be function or type)
-    
-    
-    
-   
-   
-    SETS
-    non-reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    SHARE
-    non-reserved
-    
-    
-    
-   
-   
-    SHOW
-    non-reserved
-    
-    
-    
-   
-   
-    SIMILAR
-    reserved (can be function or type)
-    reserved
-    reserved
-    
-   
-   
-    SIMPLE
-    non-reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    SIZE
-    
-    non-reserved
-    non-reserved
-    reserved
-   
-   
-    SKIP
-    non-reserved
-    
-    
-    
-   
-   
-    SMALLINT
-    non-reserved (cannot be function or type)
-    reserved
-    reserved
-    reserved
-   
-   
-    SNAPSHOT
-    non-reserved
-    
-    
-    
-   
-   
-    SOME
-    reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    SOURCE
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    SPACE
-    
-    non-reserved
-    non-reserved
-    reserved
-   
-   
-    SPECIFIC
-    
-    reserved
-    reserved
-    
-   
-   
-    SPECIFICTYPE
-    
-    reserved
-    reserved
-    
-   
-   
-    SPECIFIC_NAME
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    SQL
-    non-reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    SQLCODE
-    
-    
-    
-    reserved
-   
-   
-    SQLERROR
-    
-    
-    
-    reserved
-   
-   
-    SQLEXCEPTION
-    
-    reserved
-    reserved
-    
-   
-   
-    SQLSTATE
-    
-    reserved
-    reserved
-    reserved
-   
-   
-    SQLWARNING
-    
-    reserved
-    reserved
-    
-   
-   
-    SQRT
-    
-    reserved
-    reserved
-    
-   
-   
-    STABLE
-    non-reserved
-    
-    
-    
-   
-   
-    STANDALONE
-    non-reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    START
-    non-reserved
-    reserved
-    reserved
-    
-   
-   
-    STATE
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    STATEMENT
-    non-reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    STATIC
-    
-    reserved
-    reserved
-    
-   
-   
-    STATISTICS
-    non-reserved
-    
-    
-    
-   
-   
-    STDDEV_POP
-    
-    reserved
-    reserved
-    
-   
-   
-    STDDEV_SAMP
-    
-    reserved
-    reserved
-    
-   
-   
-    STDIN
-    non-reserved
-    
-    
-    
-   
-   
-    STDOUT
-    non-reserved
-    
-    
-    
-   
-   
-    STORAGE
-    non-reserved
-    
-    
-    
-   
-   
-    STORED
-    non-reserved
-    
-    
-    
-   
-   
-    STRICT
-    non-reserved
-    
-    
-    
-   
-   
-    STRIP
-    non-reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    STRUCTURE
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    STYLE
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    SUBCLASS_ORIGIN
-    
-    non-reserved
-    non-reserved
-    non-reserved
-   
-   
-    SUBMULTISET
-    
-    reserved
-    reserved
-    
-   
-   
-    SUBSCRIPTION
-    non-reserved
-    
-    
-    
-   
-   
-    SUBSTRING
-    non-reserved (cannot be function or type)
-    reserved
-    reserved
-    reserved
-   
-   
-    SUBSTRING_REGEX
-    
-    reserved
-    reserved
-    
-   
-   
-    SUCCEEDS
-    
-    reserved
-    
-    
-   
-   
-    SUM
-    
-    reserved
-    reserved
-    reserved
-   
-   
-    SUPPORT
-    non-reserved
-    
-    
-    
-   
-   
-    SYMMETRIC
-    reserved
-    reserved
-    reserved
-    
-   
-   
-    SYSID
-    non-reserved
-    
-    
-    
-   
-   
-    SYSTEM
-    non-reserved
-    reserved
-    reserved
-    
-   
-   
-    SYSTEM_TIME
-    
-    reserved
-    
-    
-   
-   
-    SYSTEM_USER
-    
-    reserved
-    reserved
-    reserved
-   
-   
-    T
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    TABLE
-    reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    TABLES
-    non-reserved
-    
-    
-    
-   
-   
-    TABLESAMPLE
-    reserved (can be function or type)
-    reserved
-    reserved
-    
-   
-   
-    TABLESPACE
-    non-reserved
-    
-    
-    
-   
-   
-    TABLE_NAME
-    
-    non-reserved
-    non-reserved
-    non-reserved
-   
-   
-    TEMP
-    non-reserved
-    
-    
-    
-   
-   
-    TEMPLATE
-    non-reserved
-    
-    
-    
-   
-   
-    TEMPORARY
-    non-reserved
-    non-reserved
-    non-reserved
-    reserved
-   
-   
-    TEXT
-    non-reserved
-    
-    
-    
-   
-   
-    THEN
-    reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    TIES
-    non-reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    TIME
-    non-reserved (cannot be function or type)
-    reserved
-    reserved
-    reserved
-   
-   
-    TIMESTAMP
-    non-reserved (cannot be function or type)
-    reserved
-    reserved
-    reserved
-   
-   
-    TIMEZONE_HOUR
-    
-    reserved
-    reserved
-    reserved
-   
-   
-    TIMEZONE_MINUTE
-    
-    reserved
-    reserved
-    reserved
-   
-   
-    TO
-    reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    TOKEN
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    TOP_LEVEL_COUNT
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    TRAILING
-    reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    TRANSACTION
-    non-reserved
-    non-reserved
-    non-reserved
-    reserved
-   
-   
-    TRANSACTIONS_COMMITTED
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    TRANSACTIONS_ROLLED_BACK
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    TRANSACTION_ACTIVE
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    TRANSFORM
-    non-reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    TRANSFORMS
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    TRANSLATE
-    
-    reserved
-    reserved
-    reserved
-   
-   
-    TRANSLATE_REGEX
-    
-    reserved
-    reserved
-    
-   
-   
-    TRANSLATION
-    
-    reserved
-    reserved
-    reserved
-   
-   
-    TREAT
-    non-reserved (cannot be function or type)
-    reserved
-    reserved
-    
-   
-   
-    TRIGGER
-    non-reserved
-    reserved
-    reserved
-    
-   
-   
-    TRIGGER_CATALOG
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    TRIGGER_NAME
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    TRIGGER_SCHEMA
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    TRIM
-    non-reserved (cannot be function or type)
-    reserved
-    reserved
-    reserved
-   
-   
-    TRIM_ARRAY
-    
-    reserved
-    reserved
-    
-   
-   
-    TRUE
-    reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    TRUNCATE
-    non-reserved
-    reserved
-    reserved
-    
-   
-   
-    TRUSTED
-    non-reserved
-    
-    
-    
-   
-   
-    TYPE
-    non-reserved
-    non-reserved
-    non-reserved
-    non-reserved
-   
-   
-    TYPES
-    non-reserved
-    
-    
-    
-   
-   
-    UESCAPE
-    
-    reserved
-    reserved
-    
-   
-   
-    UNBOUNDED
-    non-reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    UNCOMMITTED
-    non-reserved
-    non-reserved
-    non-reserved
-    non-reserved
-   
-   
-    UNDER
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    UNENCRYPTED
-    non-reserved
-    
-    
-    
-   
-   
-    UNION
-    reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    UNIQUE
-    reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    UNKNOWN
-    non-reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    UNLINK
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    UNLISTEN
-    non-reserved
-    
-    
-    
-   
-   
-    UNLOGGED
-    non-reserved
-    
-    
-    
-   
-   
-    UNNAMED
-    
-    non-reserved
-    non-reserved
-    non-reserved
-   
-   
-    UNNEST
-    
-    reserved
-    reserved
-    
-   
-   
-    UNTIL
-    non-reserved
-    
-    
-    
-   
-   
-    UNTYPED
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    UPDATE
-    non-reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    UPPER
-    
-    reserved
-    reserved
-    reserved
-   
-   
-    URI
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    USAGE
-    
-    non-reserved
-    non-reserved
-    reserved
-   
-   
-    USER
-    reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    USER_DEFINED_TYPE_CATALOG
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    USER_DEFINED_TYPE_CODE
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    USER_DEFINED_TYPE_NAME
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    USER_DEFINED_TYPE_SCHEMA
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    USING
-    reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    VACUUM
-    non-reserved
-    
-    
-    
-   
-   
-    VALID
-    non-reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    VALIDATE
-    non-reserved
-    
-    
-    
-   
-   
-    VALIDATOR
-    non-reserved
-    
-    
-    
-   
-   
-    VALUE
-    non-reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    VALUES
-    non-reserved (cannot be function or type)
-    reserved
-    reserved
-    reserved
-   
-   
-    VALUE_OF
-    
-    reserved
-    
-    
-   
-   
-    VARBINARY
-    
-    reserved
-    reserved
-    
-   
-   
-    VARCHAR
-    non-reserved (cannot be function or type)
-    reserved
-    reserved
-    reserved
-   
-   
-    VARIADIC
-    reserved
-    
-    
-    
-   
-   
-    VARYING
-    non-reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    VAR_POP
-    
-    reserved
-    reserved
-    
-   
-   
-    VAR_SAMP
-    
-    reserved
-    reserved
-    
-   
-   
-    VERBOSE
-    reserved (can be function or type)
-    
-    
-    
-   
-   
-    VERSION
-    non-reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    VERSIONING
-    
-    reserved
-    
-    
-   
-   
-    VIEW
-    non-reserved
-    non-reserved
-    non-reserved
-    reserved
-   
-   
-    VIEWS
-    non-reserved
-    
-    
-    
-   
-   
-    VOLATILE
-    non-reserved
-    
-    
-    
-   
-   
-    WHEN
-    reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    WHENEVER
-    
-    reserved
-    reserved
-    reserved
-   
-   
-    WHERE
-    reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    WHITESPACE
-    non-reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    WIDTH_BUCKET
-    
-    reserved
-    reserved
-    
-   
-   
-    WINDOW
-    reserved
-    reserved
-    reserved
-    
-   
-   
-    WITH
-    reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    WITHIN
-    non-reserved
-    reserved
-    reserved
-    
-   
-   
-    WITHOUT
-    non-reserved
-    reserved
-    reserved
-    
-   
-   
-    WORK
-    non-reserved
-    non-reserved
-    non-reserved
-    reserved
-   
-   
-    WRAPPER
-    non-reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    WRITE
-    non-reserved
-    non-reserved
-    non-reserved
-    reserved
-   
-   
-    XML
-    non-reserved
-    reserved
-    reserved
-    
-   
-   
-    XMLAGG
-    
-    reserved
-    reserved
-    
-   
-   
-    XMLATTRIBUTES
-    non-reserved (cannot be function or type)
-    reserved
-    reserved
-    
-   
-   
-    XMLBINARY
-    
-    reserved
-    reserved
-    
-   
-   
-    XMLCAST
-    
-    reserved
-    reserved
-    
-   
-   
-    XMLCOMMENT
-    
-    reserved
-    reserved
-    
-   
-   
-    XMLCONCAT
-    non-reserved (cannot be function or type)
-    reserved
-    reserved
-    
-   
-   
-    XMLDECLARATION
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    XMLDOCUMENT
-    
-    reserved
-    reserved
-    
-   
-   
-    XMLELEMENT
-    non-reserved (cannot be function or type)
-    reserved
-    reserved
-    
-   
-   
-    XMLEXISTS
-    non-reserved (cannot be function or type)
-    reserved
-    reserved
-    
-   
-   
-    XMLFOREST
-    non-reserved (cannot be function or type)
-    reserved
-    reserved
-    
-   
-   
-    XMLITERATE
-    
-    reserved
-    reserved
-    
-   
-   
-    XMLNAMESPACES
-    non-reserved (cannot be function or type)
-    reserved
-    reserved
-    
-   
-   
-    XMLPARSE
-    non-reserved (cannot be function or type)
-    reserved
-    reserved
-    
-   
-   
-    XMLPI
-    non-reserved (cannot be function or type)
-    reserved
-    reserved
-    
-   
-   
-    XMLQUERY
-    
-    reserved
-    reserved
-    
-   
-   
-    XMLROOT
-    non-reserved (cannot be function or type)
-    
-    
-    
-   
-   
-    XMLSCHEMA
-    
-    non-reserved
-    non-reserved
-    
-   
-   
-    XMLSERIALIZE
-    non-reserved (cannot be function or type)
-    reserved
-    reserved
-    
-   
-   
-    XMLTABLE
-    non-reserved (cannot be function or type)
-    reserved
-    reserved
-    
-   
-   
-    XMLTEXT
-    
-    reserved
-    reserved
-    
-   
-   
-    XMLVALIDATE
-    
-    reserved
-    reserved
-    
-   
-   
-    YEAR
-    non-reserved
-    reserved
-    reserved
-    reserved
-   
-   
-    YES
-    non-reserved
-    non-reserved
-    non-reserved
-    
-   
-   
-    ZONE
-    non-reserved
-    non-reserved
-    non-reserved
-    reserved
-   
-  
-
-
+ &keywords-table;
 
 
diff --git a/doc/src/sgml/keywords/sql1992-nonreserved.txt b/doc/src/sgml/keywords/sql1992-nonreserved.txt
new file mode 100644 (file)
index 0000000..00abeda
--- /dev/null
@@ -0,0 +1,50 @@
+ADA
+C
+CATALOG_NAME
+CHARACTER_SET_CATALOG
+CHARACTER_SET_NAME
+CHARACTER_SET_SCHEMA
+CLASS_ORIGIN
+COBOL
+COLLATION_CATALOG
+COLLATION_NAME
+COLLATION_SCHEMA
+COLUMN_NAME
+COMMAND_FUNCTION
+COMMITTED
+CONDITION_NUMBER
+CONNECTION_NAME
+CONSTRAINT_CATALOG
+CONSTRAINT_NAME
+CONSTRAINT_SCHEMA
+CURSOR_NAME
+DATA
+DATETIME_INTERVAL_CODE
+DATETIME_INTERVAL_PRECISION
+DYNAMIC_FUNCTION
+FORTRAN
+LENGTH
+MESSAGE_LENGTH
+MESSAGE_OCTET_LENGTH
+MESSAGE_TEXT
+MORE
+MUMPS
+NAME
+NULLABLE
+NUMBER
+PASCAL
+PLI
+REPEATABLE
+RETURNED_LENGTH
+RETURNED_OCTET_LENGTH
+RETURNED_SQLSTATE
+ROW_COUNT
+SCALE
+SCHEMA_NAME
+SERIALIZABLE
+SERVER_NAME
+SUBCLASS_ORIGIN
+TABLE_NAME
+TYPE
+UNCOMMITTED
+UNNAMED
diff --git a/doc/src/sgml/keywords/sql1992-reserved.txt b/doc/src/sgml/keywords/sql1992-reserved.txt
new file mode 100644 (file)
index 0000000..5bda213
--- /dev/null
@@ -0,0 +1,227 @@
+ABSOLUTE
+ACTION
+ADD
+ALL
+ALLOCATE
+ALTER
+AND
+ANY
+ARE
+AS
+ASC
+ASSERTION
+AT
+AUTHORIZATION
+AVG
+BEGIN
+BETWEEN
+BIT
+BIT_LENGTH
+BOTH
+BY
+CASCADE
+CASCADED
+CASE
+CAST
+CATALOG
+CHAR
+CHARACTER
+CHAR_LENGTH
+CHARACTER_LENGTH
+CHECK
+CLOSE
+COALESCE
+COLLATE
+COLLATION
+COLUMN
+COMMIT
+CONNECT
+CONNECTION
+CONSTRAINT
+CONSTRAINTS
+CONTINUE
+CONVERT
+CORRESPONDING
+COUNT
+CREATE
+CROSS
+CURRENT
+CURRENT_DATE
+CURRENT_TIME
+CURRENT_TIMESTAMP
+CURRENT_USER
+CURSOR
+DATE
+DAY
+DEALLOCATE
+DEC
+DECIMAL
+DECLARE
+DEFAULT
+DEFERRABLE
+DEFERRED
+DELETE
+DESC
+DESCRIBE
+DESCRIPTOR
+DIAGNOSTICS
+DISCONNECT
+DISTINCT
+DOMAIN
+DOUBLE
+DROP
+ELSE
+END
+END-EXEC
+ESCAPE
+EXCEPT
+EXCEPTION
+EXEC
+EXECUTE
+EXISTS
+EXTERNAL
+EXTRACT
+FALSE
+FETCH
+FIRST
+FLOAT
+FOR
+FOREIGN
+FOUND
+FROM
+FULL
+GET
+GLOBAL
+GO
+GOTO
+GRANT
+GROUP
+HAVING
+HOUR
+IDENTITY
+IMMEDIATE
+IN
+INDICATOR
+INITIALLY
+INNER
+INPUT
+INSENSITIVE
+INSERT
+INT
+INTEGER
+INTERSECT
+INTERVAL
+INTO
+IS
+ISOLATION
+JOIN
+KEY
+LANGUAGE
+LAST
+LEADING
+LEFT
+LEVEL
+LIKE
+LOCAL
+LOWER
+MATCH
+MAX
+MIN
+MINUTE
+MODULE
+MONTH
+NAMES
+NATIONAL
+NATURAL
+NCHAR
+NEXT
+NO
+NOT
+NULL
+NULLIF
+NUMERIC
+OCTET_LENGTH
+OF
+ON
+ONLY
+OPEN
+OPTION
+OR
+ORDER
+OUTER
+OUTPUT
+OVERLAPS
+PAD
+PARTIAL
+POSITION
+PRECISION
+PREPARE
+PRESERVE
+PRIMARY
+PRIOR
+PRIVILEGES
+PROCEDURE
+PUBLIC
+READ
+REAL
+REFERENCES
+RELATIVE
+RESTRICT
+REVOKE
+RIGHT
+ROLLBACK
+ROWS
+SCHEMA
+SCROLL
+SECOND
+SECTION
+SELECT
+SESSION
+SESSION_USER
+SET
+SIZE
+SMALLINT
+SOME
+SPACE
+SQL
+SQLCODE
+SQLERROR
+SQLSTATE
+SUBSTRING
+SUM
+SYSTEM_USER
+TABLE
+TEMPORARY
+THEN
+TIME
+TIMESTAMP
+TIMEZONE_HOUR
+TIMEZONE_MINUTE
+TO
+TRAILING
+TRANSACTION
+TRANSLATE
+TRANSLATION
+TRIM
+TRUE
+UNION
+UNIQUE
+UNKNOWN
+UPDATE
+UPPER
+USAGE
+USER
+USING
+VALUE
+VALUES
+VARCHAR
+VARYING
+VIEW
+WHEN
+WHENEVER
+WHERE
+WITH
+WORK
+WRITE
+YEAR
+ZONE
diff --git a/doc/src/sgml/keywords/sql2008-02-nonreserved.txt b/doc/src/sgml/keywords/sql2008-02-nonreserved.txt
new file mode 100644 (file)
index 0000000..9c30628
--- /dev/null
@@ -0,0 +1,218 @@
+A
+ABSOLUTE
+ACTION
+ADA
+ADD
+ADMIN
+AFTER
+ALWAYS
+ASC
+ASSERTION
+ASSIGNMENT
+ATTRIBUTE
+ATTRIBUTES
+BEFORE
+BERNOULLI
+BREADTH
+C
+CASCADE
+CATALOG
+CATALOG_NAME
+CHAIN
+CHARACTER_SET_CATALOG
+CHARACTER_SET_NAME
+CHARACTER_SET_SCHEMA
+CHARACTERISTICS
+CHARACTERS
+CLASS_ORIGIN
+COBOL
+COLLATION
+COLLATION_CATALOG
+COLLATION_NAME
+COLLATION_SCHEMA
+COLUMN_NAME
+COMMAND_FUNCTION
+COMMAND_FUNCTION_CODE
+COMMITTED
+CONDITION_NUMBER
+CONNECTION
+CONNECTION_NAME
+CONSTRAINT_CATALOG
+CONSTRAINT_NAME
+CONSTRAINT_SCHEMA
+CONSTRAINTS
+CONSTRUCTOR
+CONTAINS
+CONTINUE
+CURSOR_NAME
+DATA
+DATETIME_INTERVAL_CODE
+DATETIME_INTERVAL_PRECISION
+DEFAULTS
+DEFERRABLE
+DEFERRED
+DEFINED
+DEFINER
+DEGREE
+DEPTH
+DERIVED
+DESC
+DESCRIPTOR
+DIAGNOSTICS
+DISPATCH
+DOMAIN
+DYNAMIC_FUNCTION
+DYNAMIC_FUNCTION_CODE
+EQUALS
+EXCLUDE
+EXCLUDING
+FINAL
+FIRST
+FLAG
+FOLLOWING
+FORTRAN
+FOUND
+G
+GENERAL
+GENERATED
+GO
+GOTO
+GRANTED
+HIERARCHY
+IGNORE
+IMMEDIATE
+IMPLEMENTATION
+INCLUDING
+INCREMENT
+INITIALLY
+INPUT
+INSTANCE
+INSTANTIABLE
+INSTEAD
+INVOKER
+ISOLATION
+K
+KEY
+KEY_MEMBER
+KEY_TYPE
+LAST
+LENGTH
+LEVEL
+LOCATOR
+M
+MAP
+MATCHED
+MAXVALUE
+MESSAGE_LENGTH
+MESSAGE_OCTET_LENGTH
+MESSAGE_TEXT
+MINVALUE
+MORE
+MUMPS
+NAME
+NAMES
+NESTING
+NEXT
+NFC
+NFD
+NFKC
+NFKD
+NORMALIZED
+NULLABLE
+NULLS
+NUMBER
+OBJECT
+OCTETS
+OPTION
+OPTIONS
+ORDERING
+ORDINALITY
+OTHERS
+OUTPUT
+OVERRIDING
+P
+PAD
+PARAMETER_MODE
+PARAMETER_NAME
+PARAMETER_ORDINAL_POSITION
+PARAMETER_SPECIFIC_CATALOG
+PARAMETER_SPECIFIC_NAME
+PARAMETER_SPECIFIC_SCHEMA
+PARTIAL
+PASCAL
+PATH
+PLACING
+PLI
+PRECEDING
+PRESERVE
+PRIOR
+PRIVILEGES
+PUBLIC
+READ
+RELATIVE
+REPEATABLE
+RESPECT
+RESTART
+RESTRICT
+RETURNED_CARDINALITY
+RETURNED_LENGTH
+RETURNED_OCTET_LENGTH
+RETURNED_SQLSTATE
+ROLE
+ROUTINE
+ROUTINE_CATALOG
+ROUTINE_NAME
+ROUTINE_SCHEMA
+ROW_COUNT
+SCALE
+SCHEMA
+SCHEMA_NAME
+SCOPE_CATALOG
+SCOPE_NAME
+SCOPE_SCHEMA
+SECTION
+SECURITY
+SELF
+SEQUENCE
+SERIALIZABLE
+SERVER_NAME
+SESSION
+SETS
+SIMPLE
+SIZE
+SOURCE
+SPACE
+SPECIFIC_NAME
+STATE
+STATEMENT
+STRUCTURE
+STYLE
+SUBCLASS_ORIGIN
+T
+TABLE_NAME
+TEMPORARY
+TIES
+TOP_LEVEL_COUNT
+TRANSACTION
+TRANSACTION_ACTIVE
+TRANSACTIONS_COMMITTED
+TRANSACTIONS_ROLLED_BACK
+TRANSFORM
+TRANSFORMS
+TRIGGER_CATALOG
+TRIGGER_NAME
+TRIGGER_SCHEMA
+TYPE
+UNBOUNDED
+UNCOMMITTED
+UNDER
+UNNAMED
+USAGE
+USER_DEFINED_TYPE_CATALOG
+USER_DEFINED_TYPE_CODE
+USER_DEFINED_TYPE_NAME
+USER_DEFINED_TYPE_SCHEMA
+VIEW
+WORK
+WRITE
+ZONE
diff --git a/doc/src/sgml/keywords/sql2008-02-reserved.txt b/doc/src/sgml/keywords/sql2008-02-reserved.txt
new file mode 100644 (file)
index 0000000..b4a2c64
--- /dev/null
@@ -0,0 +1,307 @@
+ABS
+ALL
+ALLOCATE
+ALTER
+AND
+ANY
+ARE
+ARRAY
+ARRAY_AGG
+AS
+ASENSITIVE
+ASYMMETRIC
+AT
+ATOMIC
+AUTHORIZATION
+AVG
+BEGIN
+BETWEEN
+BIGINT
+BINARY
+BLOB
+BOOLEAN
+BOTH
+BY
+CALL
+CALLED
+CARDINALITY
+CASCADED
+CASE
+CAST
+CEIL
+CEILING
+CHAR
+CHAR_LENGTH
+CHARACTER
+CHARACTER_LENGTH
+CHECK
+CLOB
+CLOSE
+COALESCE
+COLLATE
+COLLECT
+COLUMN
+COMMIT
+CONDITION
+CONNECT
+CONSTRAINT
+CONVERT
+CORR
+CORRESPONDING
+COUNT
+COVAR_POP
+COVAR_SAMP
+CREATE
+CROSS
+CUBE
+CUME_DIST
+CURRENT
+CURRENT_CATALOG
+CURRENT_DATE
+CURRENT_DEFAULT_TRANSFORM_GROUP
+CURRENT_PATH
+CURRENT_ROLE
+CURRENT_SCHEMA
+CURRENT_TIME
+CURRENT_TIMESTAMP
+CURRENT_TRANSFORM_GROUP_FOR_TYPE
+CURRENT_USER
+CURSOR
+CYCLE
+DATE
+DAY
+DEALLOCATE
+DEC
+DECIMAL
+DECLARE
+DEFAULT
+DELETE
+DENSE_RANK
+DEREF
+DESCRIBE
+DETERMINISTIC
+DISCONNECT
+DISTINCT
+DOUBLE
+DROP
+DYNAMIC
+EACH
+ELEMENT
+ELSE
+END
+END-EXEC
+ESCAPE
+EVERY
+EXCEPT
+EXEC
+EXECUTE
+EXISTS
+EXP
+EXTERNAL
+EXTRACT
+FALSE
+FETCH
+FILTER
+FIRST_VALUE
+FLOAT
+FLOOR
+FOR
+FOREIGN
+FREE
+FROM
+FULL
+FUNCTION
+FUSION
+GET
+GLOBAL
+GRANT
+GROUP
+GROUPING
+HAVING
+HOLD
+HOUR
+IDENTITY
+IN
+INDICATOR
+INNER
+INOUT
+INSENSITIVE
+INSERT
+INT
+INTEGER
+INTERSECT
+INTERSECTION
+INTERVAL
+INTO
+IS
+JOIN
+LAG
+LANGUAGE
+LARGE
+LAST_VALUE
+LATERAL
+LEAD
+LEADING
+LEFT
+LIKE
+LIKE_REGEX
+LN
+LOCAL
+LOCALTIME
+LOCALTIMESTAMP
+LOWER
+MATCH
+MAX
+MAX_CARDINALITY
+MEMBER
+MERGE
+METHOD
+MIN
+MINUTE
+MOD
+MODIFIES
+MODULE
+MONTH
+MULTISET
+NATIONAL
+NATURAL
+NCHAR
+NCLOB
+NEW
+NO
+NONE
+NORMALIZE
+NOT
+NTH_VALUE
+NTILE
+NULL
+NULLIF
+NUMERIC
+OCTET_LENGTH
+OCCURRENCES_REGEX
+OF
+OFFSET
+OLD
+ON
+ONLY
+OPEN
+OR
+ORDER
+OUT
+OUTER
+OVER
+OVERLAPS
+OVERLAY
+PARAMETER
+PARTITION
+PERCENT_RANK
+PERCENTILE_CONT
+PERCENTILE_DISC
+POSITION
+POSITION_REGEX
+POWER
+PRECISION
+PREPARE
+PRIMARY
+PROCEDURE
+RANGE
+RANK
+READS
+REAL
+RECURSIVE
+REF
+REFERENCES
+REFERENCING
+REGR_AVGX
+REGR_AVGY
+REGR_COUNT
+REGR_INTERCEPT
+REGR_R2
+REGR_SLOPE
+REGR_SXX
+REGR_SXY
+REGR_SYY
+RELEASE
+RESULT
+RETURN
+RETURNS
+REVOKE
+RIGHT
+ROLLBACK
+ROLLUP
+ROW
+ROW_NUMBER
+ROWS
+SAVEPOINT
+SCOPE
+SCROLL
+SEARCH
+SECOND
+SELECT
+SENSITIVE
+SESSION_USER
+SET
+SIMILAR
+SMALLINT
+SOME
+SPECIFIC
+SPECIFICTYPE
+SQL
+SQLEXCEPTION
+SQLSTATE
+SQLWARNING
+SQRT
+START
+STATIC
+STDDEV_POP
+STDDEV_SAMP
+SUBMULTISET
+SUBSTRING
+SUBSTRING_REGEX
+SUM
+SYMMETRIC
+SYSTEM
+SYSTEM_USER
+TABLE
+TABLESAMPLE
+THEN
+TIME
+TIMESTAMP
+TIMEZONE_HOUR
+TIMEZONE_MINUTE
+TO
+TRAILING
+TRANSLATE
+TRANSLATE_REGEX
+TRANSLATION
+TREAT
+TRIGGER
+TRUNCATE
+TRIM
+TRIM_ARRAY
+TRUE
+UESCAPE
+UNION
+UNIQUE
+UNKNOWN
+UNNEST
+UPDATE
+UPPER
+USER
+USING
+VALUE
+VALUES
+VAR_POP
+VAR_SAMP
+VARBINARY
+VARCHAR
+VARYING
+WHEN
+WHENEVER
+WHERE
+WIDTH_BUCKET
+WINDOW
+WITH
+WITHIN
+WITHOUT
+YEAR
diff --git a/doc/src/sgml/keywords/sql2008-09-nonreserved.txt b/doc/src/sgml/keywords/sql2008-09-nonreserved.txt
new file mode 100644 (file)
index 0000000..b360f0c
--- /dev/null
@@ -0,0 +1,23 @@
+BLOCKED
+CONTROL
+DB
+FILE
+FS
+INTEGRITY
+LIBRARY
+LIMIT
+LINK
+MAPPING
+OFF
+PASSTHROUGH
+PERMISSION
+RECOVERY
+REQUIRING
+RESTORE
+SELECTIVE
+SERVER
+TOKEN
+UNLINK
+VERSION
+WRAPPER
+YES
diff --git a/doc/src/sgml/keywords/sql2008-09-reserved.txt b/doc/src/sgml/keywords/sql2008-09-reserved.txt
new file mode 100644 (file)
index 0000000..0205485
--- /dev/null
@@ -0,0 +1,13 @@
+DATALINK
+DLNEWCOPY
+DLPREVIOUSCOPY
+DLURLCOMPLETE
+DLURLCOMPLETEWRITE
+DLURLCOMPLETEONLY
+DLURLPATH
+DLURLPATHWRITE
+DLURLPATHONLY
+DLURLSCHEME
+DLURLSERVER
+DLVALUE
+IMPORT
diff --git a/doc/src/sgml/keywords/sql2008-14-nonreserved.txt b/doc/src/sgml/keywords/sql2008-14-nonreserved.txt
new file mode 100644 (file)
index 0000000..317f651
--- /dev/null
@@ -0,0 +1,29 @@
+ABSENT
+ACCORDING
+BASE64
+BOM
+COLUMNS
+CONTENT
+DOCUMENT
+EMPTY
+ENCODING
+HEX
+ID
+INDENT
+LOCATION
+NAMESPACE
+NIL
+PASSING
+PATH
+PRESERVE
+RETURNING
+SEQUENCE
+STANDALONE
+STRIP
+UNTYPED
+URI
+VALID
+VERSION
+WHITESPACE
+XMLSCHEMA
+XMLDECLARATION
diff --git a/doc/src/sgml/keywords/sql2008-14-reserved.txt b/doc/src/sgml/keywords/sql2008-14-reserved.txt
new file mode 100644 (file)
index 0000000..cf80529
--- /dev/null
@@ -0,0 +1,20 @@
+XML
+XMLAGG
+XMLATTRIBUTES
+XMLBINARY
+XMLCAST
+XMLCOMMENT
+XMLCONCAT
+XMLDOCUMENT
+XMLELEMENT
+XMLEXISTS
+XMLFOREST
+XMLITERATE
+XMLNAMESPACES
+XMLPARSE
+XMLPI
+XMLQUERY
+XMLSERIALIZE
+XMLTABLE
+XMLTEXT
+XMLVALIDATE
diff --git a/doc/src/sgml/keywords/sql2011-02-nonreserved.txt b/doc/src/sgml/keywords/sql2011-02-nonreserved.txt
new file mode 100644 (file)
index 0000000..b28a180
--- /dev/null
@@ -0,0 +1,219 @@
+A
+ABSOLUTE
+ACTION
+ADA
+ADD
+ADMIN
+AFTER
+ALWAYS
+ASC
+ASSERTION
+ASSIGNMENT
+ATTRIBUTE
+ATTRIBUTES
+BEFORE
+BERNOULLI
+BREADTH
+C
+CASCADE
+CATALOG
+CATALOG_NAME
+CHAIN
+CHARACTER_SET_CATALOG
+CHARACTER_SET_NAME
+CHARACTER_SET_SCHEMA
+CHARACTERISTICS
+CHARACTERS
+CLASS_ORIGIN
+COBOL
+COLLATION
+COLLATION_CATALOG
+COLLATION_NAME
+COLLATION_SCHEMA
+COLUMN_NAME
+COMMAND_FUNCTION
+COMMAND_FUNCTION_CODE
+COMMITTED
+CONDITION_NUMBER
+CONNECTION
+CONNECTION_NAME
+CONSTRAINT_CATALOG
+CONSTRAINT_NAME
+CONSTRAINT_SCHEMA
+CONSTRAINTS
+CONSTRUCTOR
+CONTINUE
+CURSOR_NAME
+DATA
+DATETIME_INTERVAL_CODE
+DATETIME_INTERVAL_PRECISION
+DEFAULTS
+DEFERRABLE
+DEFERRED
+DEFINED
+DEFINER
+DEGREE
+DEPTH
+DERIVED
+DESC
+DESCRIPTOR
+DIAGNOSTICS
+DISPATCH
+DOMAIN
+DYNAMIC_FUNCTION
+DYNAMIC_FUNCTION_CODE
+ENFORCED
+EXCLUDE
+EXCLUDING
+EXPRESSION
+FINAL
+FIRST
+FLAG
+FOLLOWING
+FORTRAN
+FOUND
+G
+GENERAL
+GENERATED
+GO
+GOTO
+GRANTED
+HIERARCHY
+IGNORE
+IMMEDIATE
+IMMEDIATELY
+IMPLEMENTATION
+INCLUDING
+INCREMENT
+INITIALLY
+INPUT
+INSTANCE
+INSTANTIABLE
+INSTEAD
+INVOKER
+ISOLATION
+K
+KEY
+KEY_MEMBER
+KEY_TYPE
+LAST
+LENGTH
+LEVEL
+LOCATOR
+M
+MAP
+MATCHED
+MAXVALUE
+MESSAGE_LENGTH
+MESSAGE_OCTET_LENGTH
+MESSAGE_TEXT
+MINVALUE
+MORE
+MUMPS
+NAME
+NAMES
+NESTING
+NEXT
+NFC
+NFD
+NFKC
+NFKD
+NORMALIZED
+NULLABLE
+NULLS
+NUMBER
+OBJECT
+OCTETS
+OPTION
+OPTIONS
+ORDERING
+ORDINALITY
+OTHERS
+OUTPUT
+OVERRIDING
+P
+PAD
+PARAMETER_MODE
+PARAMETER_NAME
+PARAMETER_ORDINAL_POSITION
+PARAMETER_SPECIFIC_CATALOG
+PARAMETER_SPECIFIC_NAME
+PARAMETER_SPECIFIC_SCHEMA
+PARTIAL
+PASCAL
+PATH
+PLACING
+PLI
+PRECEDING
+PRESERVE
+PRIOR
+PRIVILEGES
+PUBLIC
+READ
+RELATIVE
+REPEATABLE
+RESPECT
+RESTART
+RESTRICT
+RETURNED_CARDINALITY
+RETURNED_LENGTH
+RETURNED_OCTET_LENGTH
+RETURNED_SQLSTATE
+ROLE
+ROUTINE
+ROUTINE_CATALOG
+ROUTINE_NAME
+ROUTINE_SCHEMA
+ROW_COUNT
+SCALE
+SCHEMA
+SCHEMA_NAME
+SCOPE_CATALOG
+SCOPE_NAME
+SCOPE_SCHEMA
+SECTION
+SECURITY
+SELF
+SEQUENCE
+SERIALIZABLE
+SERVER_NAME
+SESSION
+SETS
+SIMPLE
+SIZE
+SOURCE
+SPACE
+SPECIFIC_NAME
+STATE
+STATEMENT
+STRUCTURE
+STYLE
+SUBCLASS_ORIGIN
+T
+TABLE_NAME
+TEMPORARY
+TIES
+TOP_LEVEL_COUNT
+TRANSACTION
+TRANSACTION_ACTIVE
+TRANSACTIONS_COMMITTED
+TRANSACTIONS_ROLLED_BACK
+TRANSFORM
+TRANSFORMS
+TRIGGER_CATALOG
+TRIGGER_NAME
+TRIGGER_SCHEMA
+TYPE
+UNBOUNDED
+UNCOMMITTED
+UNDER
+UNNAMED
+USAGE
+USER_DEFINED_TYPE_CATALOG
+USER_DEFINED_TYPE_CODE
+USER_DEFINED_TYPE_NAME
+USER_DEFINED_TYPE_SCHEMA
+VIEW
+WORK
+WRITE
+ZONE
diff --git a/doc/src/sgml/keywords/sql2011-02-reserved.txt b/doc/src/sgml/keywords/sql2011-02-reserved.txt
new file mode 100644 (file)
index 0000000..95f99e7
--- /dev/null
@@ -0,0 +1,324 @@
+ABS
+ALL
+ALLOCATE
+ALTER
+AND
+ANY
+ARE
+ARRAY
+ARRAY_AGG
+ARRAY_MAX_CARDINALITY
+AS
+ASENSITIVE
+ASYMMETRIC
+AT
+ATOMIC
+AUTHORIZATION
+AVG
+BEGIN
+BEGIN_FRAME
+BEGIN_PARTITION
+BETWEEN
+BIGINT
+BINARY
+BLOB
+BOOLEAN
+BOTH
+BY
+CALL
+CALLED
+CARDINALITY
+CASCADED
+CASE
+CAST
+CEIL
+CEILING
+CHAR
+CHAR_LENGTH
+CHARACTER
+CHARACTER_LENGTH
+CHECK
+CLOB
+CLOSE
+COALESCE
+COLLATE
+COLLECT
+COLUMN
+COMMIT
+CONDITION
+CONNECT
+CONSTRAINT
+CONTAINS
+CONVERT
+CORR
+CORRESPONDING
+COUNT
+COVAR_POP
+COVAR_SAMP
+CREATE
+CROSS
+CUBE
+CUME_DIST
+CURRENT
+CURRENT_CATALOG
+CURRENT_DATE
+CURRENT_DEFAULT_TRANSFORM_GROUP
+CURRENT_PATH
+CURRENT_ROLE
+CURRENT_ROW
+CURRENT_SCHEMA
+CURRENT_TIME
+CURRENT_TIMESTAMP
+CURRENT_TRANSFORM_GROUP_FOR_TYPE
+CURRENT_USER
+CURSOR
+CYCLE
+DATE
+DAY
+DEALLOCATE
+DEC
+DECIMAL
+DECLARE
+DEFAULT
+DELETE
+DENSE_RANK
+DEREF
+DESCRIBE
+DETERMINISTIC
+DISCONNECT
+DISTINCT
+DOUBLE
+DROP
+DYNAMIC
+EACH
+ELEMENT
+ELSE
+END
+END_FRAME
+END_PARTITION
+END-EXEC
+EQUALS
+ESCAPE
+EVERY
+EXCEPT
+EXEC
+EXECUTE
+EXISTS
+EXP
+EXTERNAL
+EXTRACT
+FALSE
+FETCH
+FILTER
+FIRST_VALUE
+FLOAT
+FLOOR
+FOR
+FOREIGN
+FRAME_ROW
+FREE
+FROM
+FULL
+FUNCTION
+FUSION
+GET
+GLOBAL
+GRANT
+GROUP
+GROUPING
+GROUPS
+HAVING
+HOLD
+HOUR
+IDENTITY
+IN
+INDICATOR
+INNER
+INOUT
+INSENSITIVE
+INSERT
+INT
+INTEGER
+INTERSECT
+INTERSECTION
+INTERVAL
+INTO
+IS
+JOIN
+LAG
+LANGUAGE
+LARGE
+LAST_VALUE
+LATERAL
+LEAD
+LEADING
+LEFT
+LIKE
+LIKE_REGEX
+LN
+LOCAL
+LOCALTIME
+LOCALTIMESTAMP
+LOWER
+MATCH
+MAX
+MEMBER
+MERGE
+METHOD
+MIN
+MINUTE
+MOD
+MODIFIES
+MODULE
+MONTH
+MULTISET
+NATIONAL
+NATURAL
+NCHAR
+NCLOB
+NEW
+NO
+NONE
+NORMALIZE
+NOT
+NTH_VALUE
+NTILE
+NULL
+NULLIF
+NUMERIC
+OCTET_LENGTH
+OCCURRENCES_REGEX
+OF
+OFFSET
+OLD
+ON
+ONLY
+OPEN
+OR
+ORDER
+OUT
+OUTER
+OVER
+OVERLAPS
+OVERLAY
+PARAMETER
+PARTITION
+PERCENT
+PERCENT_RANK
+PERCENTILE_CONT
+PERCENTILE_DISC
+PERIOD
+PORTION
+POSITION
+POSITION_REGEX
+POWER
+PRECEDES
+PRECISION
+PREPARE
+PRIMARY
+PROCEDURE
+RANGE
+RANK
+READS
+REAL
+RECURSIVE
+REF
+REFERENCES
+REFERENCING
+REGR_AVGX
+REGR_AVGY
+REGR_COUNT
+REGR_INTERCEPT
+REGR_R2
+REGR_SLOPE
+REGR_SXX
+REGR_SXY
+REGR_SYY
+RELEASE
+RESULT
+RETURN
+RETURNS
+REVOKE
+RIGHT
+ROLLBACK
+ROLLUP
+ROW
+ROW_NUMBER
+ROWS
+SAVEPOINT
+SCOPE
+SCROLL
+SEARCH
+SECOND
+SELECT
+SENSITIVE
+SESSION_USER
+SET
+SIMILAR
+SMALLINT
+SOME
+SPECIFIC
+SPECIFICTYPE
+SQL
+SQLEXCEPTION
+SQLSTATE
+SQLWARNING
+SQRT
+START
+STATIC
+STDDEV_POP
+STDDEV_SAMP
+SUBMULTISET
+SUBSTRING
+SUBSTRING_REGEX
+SUCCEEDS
+SUM
+SYMMETRIC
+SYSTEM
+SYSTEM_TIME
+SYSTEM_USER
+TABLE
+TABLESAMPLE
+THEN
+TIME
+TIMESTAMP
+TIMEZONE_HOUR
+TIMEZONE_MINUTE
+TO
+TRAILING
+TRANSLATE
+TRANSLATE_REGEX
+TRANSLATION
+TREAT
+TRIGGER
+TRUNCATE
+TRIM
+TRIM_ARRAY
+TRUE
+UESCAPE
+UNION
+UNIQUE
+UNKNOWN
+UNNEST
+UPDATE
+UPPER
+USER
+USING
+VALUE
+VALUES
+VALUE_OF
+VAR_POP
+VAR_SAMP
+VARBINARY
+VARCHAR
+VARYING
+VERSIONING
+WHEN
+WHENEVER
+WHERE
+WIDTH_BUCKET
+WINDOW
+WITH
+WITHIN
+WITHOUT
+YEAR
diff --git a/doc/src/sgml/keywords/sql2011-09-nonreserved.txt b/doc/src/sgml/keywords/sql2011-09-nonreserved.txt
new file mode 100644 (file)
index 0000000..b360f0c
--- /dev/null
@@ -0,0 +1,23 @@
+BLOCKED
+CONTROL
+DB
+FILE
+FS
+INTEGRITY
+LIBRARY
+LIMIT
+LINK
+MAPPING
+OFF
+PASSTHROUGH
+PERMISSION
+RECOVERY
+REQUIRING
+RESTORE
+SELECTIVE
+SERVER
+TOKEN
+UNLINK
+VERSION
+WRAPPER
+YES
diff --git a/doc/src/sgml/keywords/sql2011-09-reserved.txt b/doc/src/sgml/keywords/sql2011-09-reserved.txt
new file mode 100644 (file)
index 0000000..0205485
--- /dev/null
@@ -0,0 +1,13 @@
+DATALINK
+DLNEWCOPY
+DLPREVIOUSCOPY
+DLURLCOMPLETE
+DLURLCOMPLETEWRITE
+DLURLCOMPLETEONLY
+DLURLPATH
+DLURLPATHWRITE
+DLURLPATHONLY
+DLURLSCHEME
+DLURLSERVER
+DLVALUE
+IMPORT
diff --git a/doc/src/sgml/keywords/sql2011-14-nonreserved.txt b/doc/src/sgml/keywords/sql2011-14-nonreserved.txt
new file mode 100644 (file)
index 0000000..317f651
--- /dev/null
@@ -0,0 +1,29 @@
+ABSENT
+ACCORDING
+BASE64
+BOM
+COLUMNS
+CONTENT
+DOCUMENT
+EMPTY
+ENCODING
+HEX
+ID
+INDENT
+LOCATION
+NAMESPACE
+NIL
+PASSING
+PATH
+PRESERVE
+RETURNING
+SEQUENCE
+STANDALONE
+STRIP
+UNTYPED
+URI
+VALID
+VERSION
+WHITESPACE
+XMLSCHEMA
+XMLDECLARATION
diff --git a/doc/src/sgml/keywords/sql2011-14-reserved.txt b/doc/src/sgml/keywords/sql2011-14-reserved.txt
new file mode 100644 (file)
index 0000000..cf80529
--- /dev/null
@@ -0,0 +1,20 @@
+XML
+XMLAGG
+XMLATTRIBUTES
+XMLBINARY
+XMLCAST
+XMLCOMMENT
+XMLCONCAT
+XMLDOCUMENT
+XMLELEMENT
+XMLEXISTS
+XMLFOREST
+XMLITERATE
+XMLNAMESPACES
+XMLPARSE
+XMLPI
+XMLQUERY
+XMLSERIALIZE
+XMLTABLE
+XMLTEXT
+XMLVALIDATE