Include mention of CASE, COALESCE, and IFNULL.
authorThomas G. Lockhart
Wed, 12 May 1999 07:32:47 +0000 (07:32 +0000)
committerThomas G. Lockhart
Wed, 12 May 1999 07:32:47 +0000 (07:32 +0000)
Add date/time parsing procedure (perhaps should be in appendix).
Add time zone information (ditto).
Update keyword list.

doc/src/sgml/admin.sgml
doc/src/sgml/biblio.sgml
doc/src/sgml/datatype.sgml
doc/src/sgml/func.sgml
doc/src/sgml/oper.sgml
doc/src/sgml/syntax.sgml

index dd00a55bdaca6aba61b5ae49be38e68213b54a87..7850f4f85cd776fb689654572f1ef5c25a48bf8e 100644 (file)
@@ -1,13 +1,16 @@
 
 
-PostgreSQL Administrator's Guide
-
-    Covering v6.4 for general release
-    
-    
-      The PostgreSQL Development Team
-    
+ PostgreSQL Administrator's Guide
+ 
+  Covering v6.4 for general release
+  
+   
+    The PostgreSQL Development Team
+   
 
-      
-        Thomas
-        Lockhart
-        
-          Caltech/JPL
-        
-      
+   
+    Thomas
+    Lockhart
+    
+     Caltech/JPL
+    
+   
 
@@ -84,17 +87,17 @@ Bigger updates to the installation instructions (install and config).
     TGL
 -->
 
-    (last updated 1998-10-27)
-    
+   (last updated 1999-04-08)
+  
 
-
-
-PostgreSQL is copyright (C) 1998 
-by the Postgres Global Development Group.
-
-
+  
+   
+    PostgreSQL is copyright (C) 1998-9
+    by the Postgres Global Development Group.
+   
+  
 
-
+ 
 
 
 
-
-Summary
-
-
-Postgres
- developed originally in the UC Berkeley Computer Science Department,
- pioneered many of the object-relational concepts
- now becoming available in some commercial databases.
-It provides SQL92/SQL3 language support,
- transaction integrity, and type extensibility.
PostgreSQL is a public-domain, open source descendant
- of this original Berkeley code.
-
-
-
-&intro-ag;
-
-&ports;
-&config;
-&install;
-&installw;
-&runtime;
-&security;
-&options;
-&start-ag;
-&recovery;
-®ress;
-&release;
-
-&biblio;
+ 
+  Summary
+
+  
+   Postgres
  developed originally in the UC Berkeley Computer Science Department,
  pioneered many of the object-relational concepts
  now becoming available in some commercial databases.
+   It provides SQL92/SQL3 language support,
  transaction integrity, and type extensibility.
  PostgreSQL is a public-domain, open source descendant
  of this original Berkeley code.
+  
+ 
+
+  &intro-ag;
+
+  &ports;
+  &config;
+  &install;
+  &installw;
+  &runtime;
+  &security;
+  &options;
+  &start-ag;
+  &recovery;
+  ®ress;
+  &release;
+
+  &biblio;
 
 
index 65f46cd24dd004ab180b292033f71360a308117f..72043575f3801f878ece6ceb635c9146eb6c4048 100644 (file)
@@ -1,62 +1,73 @@
-
-SQL Syntax
-
-
-Key Words
-
-
-SQL92 defines key words 
-for the language
-which have specific meaning. Some key words are
-reserved, which indicates that they are
-restricted to appear in only certain contexts. Other key words are
-not restricted, which indicates that in certain 
-contexts they
-have a specific meaning but are not otherwise constrained.
-
-
-
-Postgres implements an extended subset of the
-SQL92 and SQL3 languages. Some language
-elements are not as restricted in this implementation as is
-called for in the language standards, in part due
-to the extensibility features of Postgres
-
-
-
-Information on SQL92 and SQL3 key words
-is derived from .
-
-
-
-Reserved Key Words
-
-
-SQL92 and SQL3 have 
-reserved key words which are not allowed 
-as identifiers and not allowed in any usage other than as fundamental
-tokens in SQL statements.
-Postgres has additional key words
-which have similar restrictions. In particular, these key words
-are not allowed as column or table names, though in some cases
-they are allowed to be column labels (i.e. in AS clauses).
-
-
-
-
-Any string can be specified as an identifier if surrounded by
-double quotes (like this!). Some care is required since
-such an identifier will be case sensitive
-and will retain embedded whitespace other special characters.
-
-
-
-The following are Postgres
-reserved words which are neither SQL92
-nor SQL3 reserved words. These are allowed
-to be present as column labels, but not as identifiers:
-
-
+  SQL Syntax
+
+  
+   
+    SQL manipulates sets of data. The language is
+    composed of various key words. Arithmetic
+    and procedural expressions are allowed. We will cover these topics
+    in this chapter; subsequent chapters will include details on data
+    types, functions, and operators.
+   
+  
+
+  
+   Key Words
+
+   
+    SQL92 defines key words 
+    for the language
+    which have specific meaning. Some key words are
+    reserved, which indicates that they are
+    restricted to appear in only certain contexts. Other key words are
+    not restricted, which indicates that in certain 
+    contexts they
+    have a specific meaning but are not otherwise constrained.
+   
+
+   
+    Postgres implements an extended subset of the
+    SQL92 and SQL3 languages. Some language
+    elements are not as restricted in this implementation as is
+    called for in the language standards, in part due
+    to the extensibility features of Postgres
+   
+
+   
+    Information on SQL92 and SQL3 key words
+    is derived from .
+   
+
+   
+    Reserved Key Words
+
+    
+     SQL92 and SQL3 have 
+     reserved key words which are not allowed 
+     as identifiers and not allowed in any usage other than as fundamental
+     tokens in SQL statements.
+     Postgres has additional key words
+     which have similar restrictions. In particular, these key words
+     are not allowed as column or table names, though in some cases
+     they are allowed to be column labels (i.e. in AS clauses).
+    
+
+    
+     
+      Any string can be specified as an identifier if surrounded by
+      double quotes (like this!). Some care is required since
+      such an identifier will be case sensitive
+      and will retain embedded whitespace other special characters.
+     
+    
+
+    
+     The following are Postgres
+     reserved words which are neither SQL92
+     nor SQL3 reserved words. These are allowed
+     to be present as column labels, but not as identifiers:
+
+     
 ABORT ANALYZE 
 BINARY 
 CLUSTER CONSTRAINT COPY
@@ -69,32 +80,33 @@ RESET
 SETOF SHOW
 UNLISTEN UNTIL 
 VACUUM VERBOSE
-
-
+     
+    
 
-
-The following are Postgres
-reserved words which are also SQL92 
-or SQL3 reserved words, and which
-are allowed to be present as column labels, but not as identifiers:
+    
+     The following are Postgres
+     reserved words which are also SQL92 
+     or SQL3 reserved words, and which
+     are allowed to be present as column labels, but not as identifiers:
 
-
+     
 CASE COALESCE CROSS CURRENT 
 ELSE END
 FALSE FOREIGN 
-GROUP 
+GLOBAL GROUP 
+LOCAL
 NULLIF
 ORDER 
 POSITION PRECISION 
 TABLE THEN TRANSACTION TRUE
 WHEN
-
+     
 
-The following are Postgres
-reserved words which are also SQL92 
-or SQL3 reserved words:
+     The following are Postgres
+     reserved words which are also SQL92 
+     or SQL3 reserved words:
 
-
+     
 ADD ALL ALTER AND ANY AS ASC
 BEGIN BETWEEN BOTH BY
 CASCADE CAST CHAR CHARACTER CHECK CLOSE 
@@ -118,49 +130,49 @@ TO TRAILING TRIM
 UNION UNIQUE UPDATE USER USING
 VALUES VARCHAR VARYING VIEW
 WHERE WITH WORK 
-
-
+     
+    
 
-
-The following are SQL92 reserved key words which
-are not Postgres reserved key words, but which
-if used as function names are always translated into the function
-length:
+    
+     The following are SQL92 reserved key words which
+     are not Postgres reserved key words, but which
+     if used as function names are always translated into the function
+     length:
 
-
+     
 CHAR_LENGTH CHARACTER_LENGTH
-
-
+     
+    
 
-
-The following are SQL92 or SQL3 
-reserved key words which
-are not Postgres reserved key words, but
-if used as type names are always translated into an alternate, native type:
+    
+     The following are SQL92 or SQL3 
+     reserved key words which
+     are not Postgres reserved key words, but
+     if used as type names are always translated into an alternate, native type:
 
-
+     
 BOOLEAN DOUBLE FLOAT INT INTEGER INTERVAL REAL SMALLINT
-
-
-
-
-The following are either SQL92
-or SQL3 reserved key words
-which are not key words in Postgres.
-These have no proscribed usage in Postgres
-at the time of writing (v6.4) but may become reserved key words in the
-future:
-
-
-
-Some of these key words represent functions in SQL92.
-These functions are defined in Postgres,
-but the parser does not consider the names to be key words and they are allowed
-in other contexts.
-
-
-
-
+     
+    
+
+    
+     The following are either SQL92
+     or SQL3 reserved key words
+     which are not key words in Postgres.
+     These have no proscribed usage in Postgres
+     at the time of writing (v6.5) but may become reserved key words in the
+     future:
+
+     
+      
+       Some of these key words represent functions in SQL92.
+       These functions are defined in Postgres,
+       but the parser does not consider the names to be key words and they are allowed
+       in other contexts.
+      
+     
+
+     
 ALLOCATE ARE ASSERTION AT AUTHORIZATION AVG 
 BIT BIT_LENGTH
 CASCADED CATALOG COLLATION CONNECT CONNECTION
@@ -168,7 +180,7 @@ CASCADED CATALOG COLLATION CONNECT CONNECTION
 DATE DEALLOCATE DEC DESCRIBE DESCRIPTOR DIAGNOSTICS DISCONNECT DOMAIN 
 END-EXEC ESCAPE EXCEPT EXCEPTION EXEC EXTERNAL 
 FIRST FOUND
-GET GLOBAL GO GOTO 
+GET GO GOTO 
 IDENTITY IMMEDIATE INDICATOR INITIALLY INPUT INTERSECT ISOLATION 
 LAST LEVEL LOWER 
 MAX MIN MODULE 
@@ -181,56 +193,56 @@ TEMPORARY TRANSLATE TRANSLATION
 UNKNOWN UPPER USAGE
 VALUE 
 WHENEVER WRITE
-
-
-
-
-
-Non-reserved Keywords
-
-
-SQL92 and SQL3 have 
-non-reserved keywords which have
-a proscribed meaning in the language but which are also allowed
-as identifiers.
-Postgres has additional keywords
-which allow similar unrestricted usage.
-In particular, these keywords
-are allowed as column or table names.
-
-
-
-The following are Postgres
-non-reserved key words which are neither SQL92
-nor SQL3 non-reserved key words:
-
-
-AFTER AGGREGATE 
+     
+    
+   
+
+   
+    Non-reserved Keywords
+
+    
+     SQL92 and SQL3 have 
+     non-reserved keywords which have
+     a proscribed meaning in the language but which are also allowed
+     as identifiers.
+     Postgres has additional keywords
+     which allow similar unrestricted usage.
+     In particular, these keywords
+     are allowed as column or table names.
+    
+
+    
+     The following are Postgres
+     non-reserved key words which are neither SQL92
+     nor SQL3 non-reserved key words:
+
+     
+ACCESS AFTER AGGREGATE 
 BACKWARD BEFORE 
 CACHE CREATEDB CREATEUSER CYCLE
 DATABASE DELIMITERS 
-EACH ENCODING 
+EACH ENCODING EXCLUSIVE
 FORWARD FUNCTION 
 HANDLER
 INCREMENT INDEX INHERITS INSENSITIVE INSTEAD ISNULL
 LANCOMPILER LOCATION 
-MAXVALUE MINVALUE
+MAXVALUE MINVALUE MODE
 NOCREATEDB NOCREATEUSER NOTHING NOTNULL 
 OIDS OPERATOR 
 PASSWORD PROCEDURAL
 RECIPE RENAME  RETURNS ROW RULE
-SEQUENCE SERIAL START STATEMENT STDIN STDOUT 
+SEQUENCE SERIAL SHARE START STATEMENT STDIN STDOUT 
 TRUSTED 
 VALID VERSION
-
-
+     
+    
 
-
-The following are Postgres
-non-reserved key words which are SQL92
-or SQL3 reserved key words:
+    
+     The following are Postgres
+     non-reserved key words which are SQL92
+     or SQL3 reserved key words:
 
-
+     
 ABSOLUTE ACTION
 DAY
 HOUR
@@ -246,30 +258,30 @@ SCROLL SECOND
 TIME TIMESTAMP TIMEZONE_HOUR TIMEZONE_MINUTE TRIGGER 
 YEAR
 ZONE
-
-
+     
+    
 
-
-The following are Postgres
-non-reserved key words which are also either SQL92
-or SQL3 non-reserved key words:
+    
+     The following are Postgres
+     non-reserved key words which are also either SQL92
+     or SQL3 non-reserved key words:
 
-
-TYPE
-
-
+     
+COMMITTED SERIALIZABLE TYPE
+     
+    
 
-
-The following are either SQL92
-or SQL3 non-reserved key words which are not
-key words of any kind in Postgres:
+    
+     The following are either SQL92
+     or SQL3 non-reserved key words which are not
+     key words of any kind in Postgres:
 
-
+     
 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
+COMMAND_FUNCTION CONDITION_NUMBER
 CONNECTION_NAME CONSTRAINT_CATALOG CONSTRAINT_NAME
 CONSTRAINT_SCHEMA CURSOR_NAME
 DATA DATE_TIME_INTERVAL_CODE DATE_TIME_INTERVAL_PRECISION
@@ -281,15 +293,29 @@ NAME NULLABLE NUMBER
 PAD PASCAL PLI
 REPEATABLE RETURNED_LENGTH RETURNED_OCTET_LENGTH
 RETURNED_SQLSTATE ROW_COUNT
-SCALE SCHEMA_NAME SERIALIZABLE SERVER_NAME SPACE
+SCALE SCHEMA_NAME SERVER_NAME SPACE
 SUBCLASS_ORIGIN
 TABLE_NAME
 UNCOMMITTED UNNAMED
-
-
-
-
-
+     
+    
+   
+  
+
+  
+   Expressions
+
+   
+    SQL92 allows expressions
+    to transform data in expressions. Expressions may contain operators
+    (see 
+    for more details) and functions
+    ( has
+    more information).
+
+   
+