OSDN Git Service

Update key words for recent grammar changes
authorPeter Eisentraut <peter_e@gmx.net>
Sat, 17 Nov 2001 13:27:16 +0000 (13:27 +0000)
committerPeter Eisentraut <peter_e@gmx.net>
Sat, 17 Nov 2001 13:27:16 +0000 (13:27 +0000)
doc/src/sgml/keywords.sgml

index 5082565..47f950b 100644 (file)
@@ -1,4 +1,4 @@
-<!-- $Header: /cvsroot/pgsql/doc/src/sgml/keywords.sgml,v 2.3 2001/11/02 19:13:09 petere Exp $ -->
+<!-- $Header: /cvsroot/pgsql/doc/src/sgml/keywords.sgml,v 2.4 2001/11/17 13:27:16 petere Exp $ -->
 
 <appendix id="sql-keywords-appendix">
  <title><acronym>SQL</acronym> Key Words</title>
@@ -33,7 +33,7 @@
   ranging from those that can never be used as an identifier to those
   that have absolutely no special status in the parser as compared to
   an ordinary identifier.  (The latter is usually the case for
-  functions specified by SQL.)  Most SQL reserved key words are not
+  functions specified by SQL.)  SQL reserved key words are not
   completely reserved in <productname>PostgreSQL</productname>, but
   can be used as column label (as in <literal>SELECT 55 AS
   CHECK</literal>, even though <token>CHECK</token> is a reserved key
   <productname>PostgreSQL</productname> we classify as
   <quote>non-reserved</quote> those key words that are explicitly
   known to the parser but are allowed in most or all contexts where an
-  identifier is expected.  Labeled <quote>reserved</quote> are those
-  tokens that are only allowed as <quote>AS</quote> column label names
-  (and perhaps in very few other contexts).  The token
-  <token>AS</token> is the only exception: it cannot even be used as a
-  column label.  As a general rule, if you get spurious parser errors
-  for commands that contain any of the listed key words as an
-  identifier you should try to quote the identifier to see if the
-  problem goes away.
+  identifier is expected.  Some key words that are otherwise
+  non-reserved cannot be used as function or data type names and are
+  marked accordingly.  (Some of these tokens represent built-in
+  functions or data types with special syntax.  The function or type
+  is still available but it cannot be redefined by the user.)  Labeled
+  <quote>reserved</quote> are those tokens that are only allowed as
+  <quote>AS</quote> column label names (and perhaps in very few other
+  contexts).  Some reserved key words are available as names for
+  functions; this is also shown in the table.
+ </para>
+
+ <para>
+  As a general rule, if you get spurious parser errors for commands
+  that contain any of the listed key words as an identifier you should
+  try to quote the identifier to see if the problem goes away.
  </para>
 
  <para>
@@ -86,7 +93,7 @@
   <tbody>
    <row>
     <entry><token>ABORT</token></entry>
-    <entry>reserved</entry>
+    <entry>non-reserved</entry>
     <entry></entry>
     <entry></entry>
    </row>
    </row>
    <row>
     <entry><token>BETWEEN</token></entry>
-    <entry>reserved</entry>
+    <entry>reserved (can be function)</entry>
     <entry>non-reserved</entry>
     <entry>reserved</entry>
    </row>
    <row>
     <entry><token>BINARY</token></entry>
-    <entry>reserved</entry>
+    <entry>reserved (can be function)</entry>
     <entry>reserved</entry>
     <entry></entry>
    </row>
    <row>
     <entry><token>BIT</token></entry>
-    <entry>reserved</entry>
+    <entry>non-reserved (cannot be function or type)</entry>
     <entry>reserved</entry>
     <entry>reserved</entry>
    </row>
    </row>
    <row>
     <entry><token>CHAR</token></entry>
-    <entry>reserved</entry>
+    <entry>non-reserved (cannot be function or type)</entry>
     <entry>reserved</entry>
     <entry>reserved</entry>
    </row>
    <row>
     <entry><token>CHARACTER</token></entry>
-    <entry>reserved</entry>
+    <entry>non-reserved (cannot be function or type)</entry>
     <entry>reserved</entry>
     <entry>reserved</entry>
    </row>
    </row>
    <row>
     <entry><token>CLUSTER</token></entry>
-    <entry>reserved</entry>
+    <entry>non-reserved</entry>
     <entry></entry>
     <entry></entry>
    </row>
    <row>
     <entry><token>COALESCE</token></entry>
-    <entry>reserved</entry>
+    <entry>non-reserved (cannot be function or type)</entry>
     <entry>non-reserved</entry>
     <entry>reserved</entry>
    </row>
    </row>
    <row>
     <entry><token>COPY</token></entry>
-    <entry>reserved</entry>
+    <entry>non-reserved</entry>
     <entry></entry>
     <entry></entry>
    </row>
    </row>
    <row>
     <entry><token>CROSS</token></entry>
-    <entry>reserved</entry>
+    <entry>reserved (can be function)</entry>
     <entry>reserved</entry>
     <entry>reserved</entry>
    </row>
    </row>
    <row>
     <entry><token>DEC</token></entry>
-    <entry>reserved</entry>
+    <entry>non-reserved (cannot be function or type)</entry>
     <entry>reserved</entry>
     <entry>reserved</entry>
    </row>
    <row>
     <entry><token>DECIMAL</token></entry>
-    <entry>reserved</entry>
+    <entry>non-reserved (cannot be function or type)</entry>
     <entry>reserved</entry>
     <entry>reserved</entry>
    </row>
    </row>
    <row>
     <entry><token>EXISTS</token></entry>
-    <entry>reserved</entry>
+    <entry>non-reserved (cannot be function or type)</entry>
     <entry>non-reserved</entry>
     <entry>reserved</entry>
    </row>
    <row>
     <entry><token>EXPLAIN</token></entry>
-    <entry>reserved</entry>
+    <entry>non-reserved</entry>
     <entry></entry>
     <entry></entry>
    </row>
    </row>
    <row>
     <entry><token>EXTRACT</token></entry>
-    <entry>reserved</entry>
+    <entry>non-reserved (cannot be function or type)</entry>
     <entry>non-reserved</entry>
     <entry>reserved</entry>
    </row>
    </row>
    <row>
     <entry><token>FLOAT</token></entry>
-    <entry>reserved</entry>
+    <entry>non-reserved (cannot be function or type)</entry>
     <entry>reserved</entry>
     <entry>reserved</entry>
    </row>
    </row>
    <row>
     <entry><token>FREEZE</token></entry>
-    <entry>reserved</entry>
+    <entry>reserved (can be function)</entry>
     <entry></entry>
     <entry></entry>
    </row>
    </row>
    <row>
     <entry><token>FULL</token></entry>
-    <entry>reserved</entry>
+    <entry>reserved (can be function)</entry>
     <entry>reserved</entry>
     <entry>reserved</entry>
    </row>
    </row>
    <row>
     <entry><token>GLOBAL</token></entry>
-    <entry>reserved</entry>
+    <entry>non-reserved</entry>
     <entry>reserved</entry>
     <entry>reserved</entry>
    </row>
    </row>
    <row>
     <entry><token>ILIKE</token></entry>
-    <entry>reserved</entry>
+    <entry>reserved (can be function)</entry>
     <entry></entry>
     <entry></entry>
    </row>
    </row>
    <row>
     <entry><token>IN</token></entry>
-    <entry>reserved</entry>
+    <entry>reserved (can be function)</entry>
     <entry>reserved</entry>
     <entry>reserved</entry>
    </row>
    </row>
    <row>
     <entry><token>INNER</token></entry>
-    <entry>reserved</entry>
+    <entry>reserved (can be function)</entry>
     <entry>reserved</entry>
     <entry>reserved</entry>
    </row>
    <row>
     <entry><token>INOUT</token></entry>
-    <entry>reserved</entry>
+    <entry>non-reserved</entry>
     <entry>reserved</entry>
     <entry></entry>
    </row>
    </row>
    <row>
     <entry><token>INTERVAL</token></entry>
-    <entry>reserved</entry>
+    <entry>non-reserved (cannot be function or type)</entry>
     <entry>reserved</entry>
     <entry>reserved</entry>
    </row>
    </row>
    <row>
     <entry><token>IS</token></entry>
-    <entry>reserved</entry>
+    <entry>reserved (can be function)</entry>
     <entry>reserved</entry>
     <entry>reserved</entry>
    </row>
    <row>
     <entry><token>ISNULL</token></entry>
-    <entry>reserved</entry>
+    <entry>reserved (can be function)</entry>
     <entry></entry>
     <entry></entry>
    </row>
    </row>
    <row>
     <entry><token>JOIN</token></entry>
-    <entry>reserved</entry>
+    <entry>reserved (can be function)</entry>
     <entry>reserved</entry>
     <entry>reserved</entry>
    </row>
    </row>
    <row>
     <entry><token>LEFT</token></entry>
-    <entry>reserved</entry>
+    <entry>reserved (can be function)</entry>
     <entry>reserved</entry>
     <entry>reserved</entry>
    </row>
    </row>
    <row>
     <entry><token>LIKE</token></entry>
-    <entry>reserved</entry>
+    <entry>reserved (can be function)</entry>
     <entry>reserved</entry>
     <entry>reserved</entry>
    </row>
    </row>
    <row>
     <entry><token>LISTEN</token></entry>
-    <entry>reserved</entry>
+    <entry>non-reserved</entry>
     <entry></entry>
     <entry></entry>
    </row>
    <row>
     <entry><token>LOAD</token></entry>
-    <entry>reserved</entry>
+    <entry>non-reserved</entry>
     <entry></entry>
     <entry></entry>
    </row>
    <row>
     <entry><token>LOCAL</token></entry>
-    <entry>reserved</entry>
+    <entry>non-reserved</entry>
     <entry>reserved</entry>
     <entry>reserved</entry>
    </row>
    </row>
    <row>
     <entry><token>LOCK</token></entry>
-    <entry>reserved</entry>
+    <entry>non-reserved</entry>
     <entry></entry>
     <entry></entry>
    </row>
    </row>
    <row>
     <entry><token>MOVE</token></entry>
-    <entry>reserved</entry>
+    <entry>non-reserved</entry>
     <entry></entry>
     <entry></entry>
    </row>
    </row>
    <row>
     <entry><token>NATURAL</token></entry>
-    <entry>reserved</entry>
+    <entry>reserved (can be function)</entry>
     <entry>reserved</entry>
     <entry>reserved</entry>
    </row>
    <row>
     <entry><token>NCHAR</token></entry>
-    <entry>reserved</entry>
+    <entry>non-reserved (cannot be function or type)</entry>
     <entry>reserved</entry>
     <entry>reserved</entry>
    </row>
    </row>
    <row>
     <entry><token>NONE</token></entry>
-    <entry>non-reserved</entry>
+    <entry>non-reserved (cannot be function or type)</entry>
     <entry>reserved</entry>
     <entry></entry>
    </row>
    </row>
    <row>
     <entry><token>NOTNULL</token></entry>
-    <entry>reserved</entry>
+    <entry>reserved (can be function)</entry>
     <entry></entry>
     <entry></entry>
    </row>
    </row>
    <row>
     <entry><token>NULLIF</token></entry>
-    <entry>reserved</entry>
+    <entry>non-reserved (cannot be function or type)</entry>
     <entry>non-reserved</entry>
     <entry>reserved</entry>
    </row>
    </row>
    <row>
     <entry><token>NUMERIC</token></entry>
-    <entry>reserved</entry>
+    <entry>non-reserved (cannot be function or type)</entry>
     <entry>reserved</entry>
     <entry>reserved</entry>
    </row>
    </row>
    <row>
     <entry><token>OUT</token></entry>
-    <entry>reserved</entry>
+    <entry>non-reserved</entry>
     <entry>reserved</entry>
     <entry></entry>
    </row>
    <row>
     <entry><token>OUTER</token></entry>
-    <entry>reserved</entry>
+    <entry>reserved (can be function)</entry>
     <entry>reserved</entry>
     <entry>reserved</entry>
    </row>
    </row>
    <row>
     <entry><token>OVERLAPS</token></entry>
-    <entry>reserved</entry>
+    <entry>reserved (can be function)</entry>
     <entry>non-reserved</entry>
     <entry>reserved</entry>
    </row>
    </row>
    <row>
     <entry><token>POSITION</token></entry>
-    <entry>reserved</entry>
+    <entry>non-reserved (cannot be function or type)</entry>
     <entry>non-reserved</entry>
     <entry>reserved</entry>
    </row>
    </row>
    <row>
     <entry><token>PRECISION</token></entry>
-    <entry>reserved</entry>
+    <entry>non-reserved</entry>
     <entry>reserved</entry>
     <entry>reserved</entry>
    </row>
    </row>
    <row>
     <entry><token>PUBLIC</token></entry>
-    <entry>reserved</entry>
+    <entry>reserved (can be function)</entry>
     <entry>reserved</entry>
     <entry>reserved</entry>
    </row>
    </row>
    <row>
     <entry><token>RESET</token></entry>
-    <entry>reserved</entry>
+    <entry>non-reserved</entry>
     <entry></entry>
     <entry></entry>
    </row>
    </row>
    <row>
     <entry><token>RIGHT</token></entry>
-    <entry>reserved</entry>
+    <entry>reserved (can be function)</entry>
     <entry>reserved</entry>
     <entry>reserved</entry>
    </row>
    </row>
    <row>
     <entry><token>SETOF</token></entry>
-    <entry>reserved</entry>
+    <entry>non-reserved (cannot be function or type)</entry>
     <entry></entry>
     <entry></entry>
    </row>
    </row>
    <row>
     <entry><token>SHOW</token></entry>
-    <entry>reserved</entry>
+    <entry>non-reserved</entry>
     <entry></entry>
     <entry></entry>
    </row>
    </row>
    <row>
     <entry><token>SUBSTRING</token></entry>
-    <entry>reserved</entry>
+    <entry>non-reserved (cannot be function or type)</entry>
     <entry>non-reserved</entry>
     <entry>reserved</entry>
    </row>
    </row>
    <row>
     <entry><token>TIME</token></entry>
-    <entry>reserved</entry>
+    <entry>non-reserved (cannot be function or type)</entry>
     <entry>reserved</entry>
     <entry>reserved</entry>
    </row>
    <row>
     <entry><token>TIMESTAMP</token></entry>
-    <entry>reserved</entry>
+    <entry>non-reserved (cannot be function or type)</entry>
     <entry>reserved</entry>
     <entry>reserved</entry>
    </row>
    </row>
    <row>
     <entry><token>TRANSACTION</token></entry>
-    <entry>reserved</entry>
+    <entry>non-reserved</entry>
     <entry>reserved</entry>
     <entry>reserved</entry>
    </row>
    </row>
    <row>
     <entry><token>TRIM</token></entry>
-    <entry>reserved</entry>
+    <entry>non-reserved (cannot be function or type)</entry>
     <entry>non-reserved</entry>
     <entry>reserved</entry>
    </row>
    </row>
    <row>
     <entry><token>UNKNOWN</token></entry>
-    <entry>reserved</entry>
+    <entry>non-reserved</entry>
     <entry>reserved</entry>
     <entry>reserved</entry>
    </row>
    </row>
    <row>
     <entry><token>VACUUM</token></entry>
-    <entry>reserved</entry>
+    <entry>non-reserved</entry>
     <entry></entry>
     <entry></entry>
    </row>
    </row>
    <row>
     <entry><token>VARCHAR</token></entry>
-    <entry>reserved</entry>
+    <entry>non-reserved (cannot be function or type)</entry>
     <entry>reserved</entry>
     <entry>reserved</entry>
    </row>
    </row>
    <row>
     <entry><token>VERBOSE</token></entry>
-    <entry>reserved</entry>
+    <entry>reserved (can be function)</entry>
     <entry></entry>
     <entry></entry>
    </row>