From db5d7249862724b36f519877b5950d456ee1222e Mon Sep 17 00:00:00 2001
From: "Thomas G. Lockhart" <lockhart@fourpalms.org>
Date: Wed, 1 Sep 1999 02:37:40 +0000
Subject: [PATCH] Fix wording on allowed/forbidden keyword usage.  Thanks to
 Michael Deck <deckm@cleansoft.com> for the tipoff. Add more examples for
 language components.

---
 doc/src/sgml/syntax.sgml | 48 +++++++++++++++++++++++++++++++++-------
 1 file changed, 40 insertions(+), 8 deletions(-)

diff --git a/doc/src/sgml/syntax.sgml b/doc/src/sgml/syntax.sgml
index 06021153c13..b70841523fc 100644
--- a/doc/src/sgml/syntax.sgml
+++ b/doc/src/sgml/syntax.sgml
@@ -207,7 +207,7 @@ WHENEVER WRITE
     <para>
      <acronym>SQL92</acronym> and <acronym>SQL3</acronym> have 
      <firstterm>non-reserved keywords</firstterm> which have
-     a proscribed meaning in the language but which are also allowed
+     a prescribed meaning in the language but which are also allowed
      as identifiers.
      <productname>Postgres</productname> has additional keywords
      which allow similar unrestricted usage.
@@ -324,7 +324,8 @@ We also support C-style block comments, e.g.:
     <programlisting>
 /* multi
    line
-   comment */
+   comment
+ */
     </programlisting>
    </para>
   </sect1>
@@ -336,8 +337,16 @@ We also support C-style block comments, e.g.:
     Names in SQL are sequences of less than NAMEDATALEN alphanumeric characters,
     starting with an alphabetic character.  By default, NAMEDATALEN is set
     to 32, but at the time the system is built, NAMEDATALEN can be changed
-    by changing the #ifdef in src/backend/include/postgres.h.  Underscore
-    ("_") is considered an alphabetic character.
+    by changing the <literal>#define</literal> in
+    src/backend/include/postgres.h.
+    Underscore ("_") is considered an alphabetic character.
+   </para>
+
+   <para>
+    In some contexts, names may contain other characters if surrounded 
+    by double quotes. For example, table or column names may contain otherwise
+    disallowed characters such as spaces, ampersands, etc. using this
+    technique.
    </para>
   </sect1>
 
@@ -356,7 +365,7 @@ We also support C-style block comments, e.g.:
     <para>
      <firstterm>Strings</firstterm>
      in SQL are arbitrary sequences of ASCII characters bounded by single
-     quotes ("'", e.g. 'This is a string').
+     quotes ("'", e.g. <literal>'This is a string'</literal>).
      Uppercase alphabetics within strings are accepted
      literally.  Non-printing characters may be embedded within strings by
      prepending them with a backslash
@@ -385,6 +394,17 @@ We also support C-style block comments, e.g.:
      values range from -2147483648 to +2147483647.  This will vary
      depending on the operating system and host machine.
     </para>
+
+    <para>
+     Note that larger integers can be specified for <type>int8</type>
+     by using <acronym>SQL92</acronym> string notation or
+     <productname>Postgres</productname> type notation:
+
+     <programlisting>
+int8 '4000000000'  -- string style
+'4000000000'::int8 -- Postgres (historical) style
+     </programlisting>
+    </para>
    </sect2>
 
    <sect2>
@@ -403,8 +423,19 @@ We also support C-style block comments, e.g.:
      You must include at least one <replaceable>dig</replaceable> after the
      period and after the [+-] if you use those options.  An exponent with
      a missing mantissa has a mantissa of 1 inserted.  There may be no
-     extra characters embedded in the string.  
-     Floating point constaints are of type float8.
+     extra characters embedded in the string.
+    </para>
+
+    <para>
+     Floating point constaints are of type
+     <type>float8</type>. <type>float4</type> can be specified
+     explicitly by using <acronym>SQL92</acronym> string notation or
+     <productname>Postgres</productname> type notation:
+
+     <programlisting>
+float4 '1.23'  -- string style
+'1.23'::float4 -- Postgres (historical) style
+     </programlisting>
     </para>
    </sect2>
 
@@ -423,7 +454,8 @@ CAST '<replaceable>string</replaceable>' AS <replaceable>type</replaceable>
      </synopsis>
 
      The value inside the string is passed to the input
-     conversion routine for the type called type-name. The result is a
+     conversion routine for the type called
+     <replaceable>type</replaceable>. The result is a
      constant of the indicated type.  The explicit typecast may be omitted
      if there is no ambiguity as to the type the constant must be, in which
      case it is automatically coerced.
-- 
GitLab