Document that zero-column tables are allowed (and non-standard).
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 16 Dec 2002 19:08:25 +0000 (19:08 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 16 Dec 2002 19:08:25 +0000 (19:08 +0000)
doc/src/sgml/ref/alter_table.sgml
doc/src/sgml/ref/create_table.sgml

index 8c4d6980feda581703b4b4093ae3091afdde2f25..a8cbfb5bc68030b3d6d940984ebc2ab5b907f4b8 100644 (file)
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/alter_table.sgml,v 1.52 2002/10/19 23:09:20 tgl Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/alter_table.sgml,v 1.53 2002/12/16 19:08:25 tgl Exp $
 PostgreSQL documentation
 -->
 
@@ -506,6 +506,12 @@ ALTER TABLE distributors ADD PRIMARY KEY (dist_id);
     The clauses to rename tables, columns, indexes, and sequences are
     <productname>PostgreSQL</productname> extensions from SQL92.
    </para>
+
+   <para>
+    <command>ALTER TABLE DROP COLUMN</> can be used to drop the only column
+    of a table, leaving a zero-column table.  This is an extension from SQL92,
+    which disallows zero-column tables.
+   </para>
  
   </refsect2>
  </refsect1>
index 6d67f22a6b9261978d2c414b9635a8f6c627b011..db51a26469faa650949188494e832b5d00b12bed 100644 (file)
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_table.sgml,v 1.59 2002/11/21 23:34:43 petere Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_table.sgml,v 1.60 2002/12/16 19:08:25 tgl Exp $
 PostgreSQL documentation
 -->
 
@@ -915,6 +915,19 @@ CREATE ASSERTION <replaceable>name</replaceable> CHECK ( <replaceable>condition<
     standard.
    </para>
   </refsect2>
+
+  <refsect2>
+   <title>Zero-column tables</title>
+
+   <para>
+    <productname>PostgreSQL</productname> allows a table of no columns
+    to be created (for example, <literal>CREATE TABLE foo();</>).  This
+    is an extension from the SQL standard, which does not allow zero-column
+    tables.  Zero-column tables are not in themselves very useful, but
+    disallowing them creates odd special cases for <command>ALTER TABLE
+    DROP COLUMN</>, so it seems cleaner to ignore this spec restriction.
+   </para>
+  </refsect2>
  </refsect1>