Update compatibility information.
This commit is contained in:
parent
a6496a2338
commit
861a0d7b5a
@ -1,5 +1,5 @@
|
||||
<!--
|
||||
$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>
|
||||
|
||||
<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>
|
||||
|
||||
<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>
|
||||
</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-compatibility">
|
||||
<title>Compatibility</title>
|
||||
|
||||
<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="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>
|
||||
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
<!--
|
||||
$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>
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user