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

index 508256520a919c4cbd339539fab141277f6ba737..47f950b4086addaacd9d179c5dcbac883062705e 100644 (file)
@@ -1,4 +1,4 @@
-
+
 
 
  <acronym>SQL</acronym> Key Words
@@ -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 PostgreSQL, but
   can be used as column label (as in SELECT 55 AS
   CHECK, even though CHECK is a reserved key
   PostgreSQL we classify as
   non-reserved those key words that are explicitly
   known to the parser but are allowed in most or all contexts where an
-  identifier is expected.  Labeled reserved are those
-  tokens that are only allowed as AS column label names
-  (and perhaps in very few other contexts).  The token
-  AS 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
+  reserved are those tokens that are only allowed as
+  AS 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.
+
+  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.
  
 
  
@@ -86,7 +93,7 @@
   
    
     ABORT
-    reserved
+    non-reserved
     
     
    
    
    
     BETWEEN
-    reserved
+    reserved (can be function)
     non-reserved
     reserved
    
    
     BINARY
-    reserved
+    reserved (can be function)
     reserved
     
    
    
     BIT
-    reserved
+    non-reserved (cannot be function or type)
     reserved
     reserved
    
    
    
     CHAR
-    reserved
+    non-reserved (cannot be function or type)
     reserved
     reserved
    
    
     CHARACTER
-    reserved
+    non-reserved (cannot be function or type)
     reserved
     reserved
    
    
    
     CLUSTER
-    reserved
+    non-reserved
     
     
    
    
     COALESCE
-    reserved
+    non-reserved (cannot be function or type)
     non-reserved
     reserved
    
    
    
     COPY
-    reserved
+    non-reserved
     
     
    
    
    
     CROSS
-    reserved
+    reserved (can be function)
     reserved
     reserved
    
    
    
     DEC
-    reserved
+    non-reserved (cannot be function or type)
     reserved
     reserved
    
    
     DECIMAL
-    reserved
+    non-reserved (cannot be function or type)
     reserved
     reserved
    
    
    
     EXISTS
-    reserved
+    non-reserved (cannot be function or type)
     non-reserved
     reserved
    
    
     EXPLAIN
-    reserved
+    non-reserved
     
     
    
    
    
     EXTRACT
-    reserved
+    non-reserved (cannot be function or type)
     non-reserved
     reserved
    
    
    
     FLOAT
-    reserved
+    non-reserved (cannot be function or type)
     reserved
     reserved
    
    
    
     FREEZE
-    reserved
+    reserved (can be function)
     
     
    
    
    
     FULL
-    reserved
+    reserved (can be function)
     reserved
     reserved
    
    
    
     GLOBAL
-    reserved
+    non-reserved
     reserved
     reserved
    
    
    
     ILIKE
-    reserved
+    reserved (can be function)
     
     
    
    
    
     IN
-    reserved
+    reserved (can be function)
     reserved
     reserved
    
    
    
     INNER
-    reserved
+    reserved (can be function)
     reserved
     reserved
    
    
     INOUT
-    reserved
+    non-reserved
     reserved
     
    
    
    
     INTERVAL
-    reserved
+    non-reserved (cannot be function or type)
     reserved
     reserved
    
    
    
     IS
-    reserved
+    reserved (can be function)
     reserved
     reserved
    
    
     ISNULL
-    reserved
+    reserved (can be function)
     
     
    
    
    
     JOIN
-    reserved
+    reserved (can be function)
     reserved
     reserved
    
    
    
     LEFT
-    reserved
+    reserved (can be function)
     reserved
     reserved
    
    
    
     LIKE
-    reserved
+    reserved (can be function)
     reserved
     reserved
    
    
    
     LISTEN
-    reserved
+    non-reserved
     
     
    
    
     LOAD
-    reserved
+    non-reserved
     
     
    
    
     LOCAL
-    reserved
+    non-reserved
     reserved
     reserved
    
    
    
     LOCK
-    reserved
+    non-reserved
     
     
    
    
    
     MOVE
-    reserved
+    non-reserved
     
     
    
    
    
     NATURAL
-    reserved
+    reserved (can be function)
     reserved
     reserved
    
    
     NCHAR
-    reserved
+    non-reserved (cannot be function or type)
     reserved
     reserved
    
    
    
     NONE
-    non-reserved
+    non-reserved (cannot be function or type)
     reserved
     
    
    
    
     NOTNULL
-    reserved
+    reserved (can be function)
     
     
    
    
    
     NULLIF
-    reserved
+    non-reserved (cannot be function or type)
     non-reserved
     reserved
    
    
    
     NUMERIC
-    reserved
+    non-reserved (cannot be function or type)
     reserved
     reserved
    
    
    
     OUT
-    reserved
+    non-reserved
     reserved
     
    
    
     OUTER
-    reserved
+    reserved (can be function)
     reserved
     reserved
    
    
    
     OVERLAPS
-    reserved
+    reserved (can be function)
     non-reserved
     reserved
    
    
    
     POSITION
-    reserved
+    non-reserved (cannot be function or type)
     non-reserved
     reserved
    
    
    
     PRECISION
-    reserved
+    non-reserved
     reserved
     reserved
    
    
    
     PUBLIC
-    reserved
+    reserved (can be function)
     reserved
     reserved
    
    
    
     RESET
-    reserved
+    non-reserved
     
     
    
    
    
     RIGHT
-    reserved
+    reserved (can be function)
     reserved
     reserved
    
    
    
     SETOF
-    reserved
+    non-reserved (cannot be function or type)
     
     
    
    
    
     SHOW
-    reserved
+    non-reserved
     
     
    
    
    
     SUBSTRING
-    reserved
+    non-reserved (cannot be function or type)
     non-reserved
     reserved
    
    
    
     TIME
-    reserved
+    non-reserved (cannot be function or type)
     reserved
     reserved
    
    
     TIMESTAMP
-    reserved
+    non-reserved (cannot be function or type)
     reserved
     reserved
    
    
    
     TRANSACTION
-    reserved
+    non-reserved
     reserved
     reserved
    
    
    
     TRIM
-    reserved
+    non-reserved (cannot be function or type)
     non-reserved
     reserved
    
    
    
     UNKNOWN
-    reserved
+    non-reserved
     reserved
     reserved
    
    
    
     VACUUM
-    reserved
+    non-reserved
     
     
    
    
    
     VARCHAR
-    reserved
+    non-reserved (cannot be function or type)
     reserved
     reserved
    
    
    
     VERBOSE
-    reserved
+    reserved (can be function)