Commit 861a0d7b authored by Peter Eisentraut's avatar Peter Eisentraut

Update compatibility information.

parent a6496a23
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_type.sgml,v 1.22 2001/09/13 15:55:24 petere Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_type.sgml,v 1.23 2001/09/13 19:05:29 petere Exp $
Postgres documentation
-->
......@@ -210,7 +210,7 @@ CREATE
<para>
<command>CREATE TYPE</command> allows the user to register a new user data
type with Postgres for use in the current data base. The
type with PostgreSQL for use in the current data base. The
user who defines a type becomes its owner.
<replaceable class="parameter">typename</replaceable> is
the name of the new type and must be unique within the
......@@ -235,9 +235,9 @@ CREATE
New base data types can be fixed length, in which case
<replaceable class="parameter">internallength</replaceable> is a
positive integer, or variable length,
in which case Postgres assumes that the new type has the
in which case PostgreSQL assumes that the new type has the
same format
as the Postgres-supplied data type, <type>text</type>.
as the PostgreSQL-supplied data type, <type>text</type>.
To indicate that a type is variable length, set
<replaceable class="parameter">internallength</replaceable>
to <option>VARIABLE</option>.
......@@ -274,9 +274,9 @@ CREATE
The optional arguments
<replaceable class="parameter">send_function</replaceable> and
<replaceable class="parameter">receive_function</replaceable>
are used when the application program requesting Postgres
are used when the application program requesting PostgreSQL
services resides on a different machine. In this case,
the machine on which Postgres runs may use a format for the data
the machine on which PostgreSQL runs may use a format for the data
type different from that used on the remote machine.
In this case it is appropriate to convert data items to a
standard form when sending from the server to the client
......@@ -327,91 +327,79 @@ CREATE
Two generalized built-in functions, array_in and
array_out, exist for quick creation of variable-length
array types. These functions operate on arrays of any
existing Postgres type.
existing PostgreSQL type.
</para>
</refsect2>
</refsect1>
<refsect1 id="SQL-CREATETYPE-notes">
<title>Notes</title>
<para>
Type names cannot begin with the underscore character
(<quote><literal>_</literal></quote>) and can only be 31
characters long. This is because PostgreSQL silently creates an
array type for each base type with a name consisting of the base
type's name prepended with an underscore.
</para>
</refsect1>
<refsect1>
<title>Examples</title>
<para>
This command creates the box data type and then uses the
This command creates the <type>box</type> data type and then uses the
type in a table definition:
<programlisting>
<programlisting>
CREATE TYPE box (INTERNALLENGTH = 8,
INPUT = my_procedure_1, OUTPUT = my_procedure_2);
CREATE TABLE myboxes (id INT4, description box);
</programlisting>
</programlisting>
</para>
<para>
This command creates a variable length array type with
integer elements:
<type>integer</type> elements:
<programlisting>
<programlisting>
CREATE TYPE int4array (INPUT = array_in, OUTPUT = array_out,
INTERNALLENGTH = VARIABLE, ELEMENT = int4);
CREATE TABLE myarrays (id int4, numbers int4array);
</programlisting>
</programlisting>
</para>
<para>
This command creates a large object type and uses it in
a table definition:
<programlisting>
<programlisting>
CREATE TYPE bigobj (INPUT = lo_filein, OUTPUT = lo_fileout,
INTERNALLENGTH = VARIABLE);
CREATE TABLE big_objs (id int4, obj bigobj);
</programlisting>
</programlisting>
</para>
</refsect1>
<refsect2 id="R2-SQL-CREATETYPE-3">
<refsect2info>
<date>1998-09-21</date>
</refsect2info>
<title>
Notes
</title>
<para>
Type names cannot begin with the underscore character
("_") and can only be 31 characters long. This is because
Postgres silently creates an array type for each base type
with a name consisting of the base type's name prepended
with an underscore.
</para>
<refsect1 id="SQL-CREATETYPE-compatibility">
<title>Compatibility</title>
<para>
Refer to <command>DROP TYPE</command> to remove an existing type.
</para>
<para>
See also <command>CREATE FUNCTION</command>,
<command>CREATE OPERATOR</command> and the chapter on Large Objects
in the <citetitle>PostgreSQL Programmer's Guide</citetitle>.
</para>
</refsect2>
<para>
This <command>CREATE TYPE</command> command is a
<productname>PostgreSQL</productname> extension. There is a
<command>CREATE TYPE</command> statement in SQL99 that is rather
different in detail.
</para>
</refsect1>
<refsect1 id="R1-SQL-CREATETYPE-3">
<title>
Compatibility
</title>
<refsect2 id="R2-SQL-CREATETYPE-4">
<refsect2info>
<date>1998-09-21</date>
</refsect2info>
<title>
SQL3
</title>
<para>
<command>CREATE TYPE</command> is an <acronym>SQL3</acronym> statement.
</para>
</refsect2>
<refsect1 id="SQL-CREATETYPE-see-also">
<title>See Also</title>
<simplelist type="inline">
<member><xref linkend="sql-createfunction"></member>
<member><xref linkend="sql-droptype"></member>
<member><citetitle>PostgreSQL Programmer's Guide</citetitle></member>
</simplelist>
</refsect1>
</refentry>
......
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/drop_type.sgml,v 1.10 2001/09/03 12:57:50 petere Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/drop_type.sgml,v 1.11 2001/09/13 19:05:29 petere Exp $
Postgres documentation
-->
......@@ -95,64 +95,69 @@ ERROR: RemoveType: type '<replaceable class="parameter">typename</replaceable>'
<para>
Only the owner of a type can remove it.
</para>
</refsect1>
<refsect2 id="R2-SQL-DROPTYPE-3">
<refsect2info>
<date>1998-09-22</date>
</refsect2info>
<title>
Notes
</title>
<para>
DROP TYPE statement is a <productname>Postgres</productname>
language extension.
</para>
<para>
Refer to <command>CREATE TYPE</command> for
information on how to create types.
</para>
<para>
It is the user's responsibility to remove any operators,
functions, aggregates, access methods, subtypes, and tables
that use a deleted type.
</para>
<refsect1 id="SQL-DROPTYPE-notes">
<title>Notes</title>
<para>
If a built-in type is removed, the behavior of the backend
is unpredictable.
</para>
</refsect2>
<itemizedlist>
<listitem>
<para>
It is the user's responsibility to remove any operators,
functions, aggregates, access methods, subtypes, and tables that
use a deleted type.
</para>
</listitem>
<listitem>
<para>
If a built-in type is removed, the behavior of the server is
unpredictable.
</para>
</listitem>
</itemizedlist>
</refsect1>
<refsect1 id="R1-SQL-DROPTYPE-2">
<title>
Usage
</title>
<refsect1 id="SQL-DROPTYPE-examples">
<title>Examples</title>
<para>
To remove the <literal>box</literal> type:
To remove the <type>box</type> type:
<programlisting>
<programlisting>
DROP TYPE box;
</programlisting>
</programlisting>
</para>
</refsect1>
<refsect1 id="R1-SQL-DROPTYPE-3">
<title>
Compatibility
</title>
<refsect2 id="R2-SQL-DROPTYPE-5">
<refsect2info>
<date>1998-09-22</date>
</refsect2info>
<title>
SQL3
</title>
<para>
<command>DROP TYPE</command> is a <acronym>SQL3</acronym> statement.
</para>
</refsect2>
<refsect1 id="SQL-DROPTYPE-compatibility">
<title>Compatibility</title>
<para>
A <command>DROP TYPE</command> statement exists in SQL99. As with
most other <quote>drop</quote> commands, <command>DROP
TYPE</command> in SQL99 requires a <quote>drop behavior</quote>
clause to select between dropping all dependent objects or refusing
to drop if dependent objects exist:
<synopsis>
DROP TYPE <replaceable>name</replaceable> { CASCADE | RESTRICT }
</synopsis>
<productname>PostgreSQL</productname> currently ignores
dependencies altogether.
</para>
<para>
Note that the <command>CREATE TYPE</command> command and the data
type extension mechanisms in <productname>PostgreSQL</productname>
differ from SQL99.
</para>
</refsect1>
<refsect1 id="SQL-DROPTYPE-see-also">
<title>See Also</title>
<simplelist type="inline">
<member><xref linkend="sql-createtype"></member>
</simplelist>
</refsect1>
</refentry>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment