11<!--
2- $Header: /cvsroot/pgsql/doc/src/sgml/extend.sgml,v 1.14 2001/11/21 05:53:41 thomas Exp $
2+ $Header: /cvsroot/pgsql/doc/src/sgml/extend.sgml,v 1.15 2002/01/07 02:29:11 petere Exp $
33-->
44
55 <chapter id="extend">
@@ -18,7 +18,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/extend.sgml,v 1.14 2001/11/21 05:53:41 thom
1818 </listitem>
1919 <listitem>
2020 <para>
21- types
21+ data types
2222 </para>
2323 </listitem>
2424 <listitem>
@@ -56,17 +56,16 @@ $Header: /cvsroot/pgsql/doc/src/sgml/extend.sgml,v 1.14 2001/11/21 05:53:41 thom
5656 extended by users. By comparison, conventional
5757 database systems can only be extended by changing hardcoded
5858 procedures within the <acronym>DBMS</acronym> or by loading modules
59- specially- written by the <acronym>DBMS</acronym> vendor.
59+ specially written by the <acronym>DBMS</acronym> vendor.
6060 </para>
6161
6262 <para>
6363 <productname>PostgreSQL</productname> is also unlike most other data managers in
6464 that the server can incorporate user-written code into
6565 itself through dynamic loading. That is, the user can
66- specify an object code file (e.g., a compiled .o file
67- or shared library) that implements a new type or function
66+ specify an object code file (e.g., a shared library) that implements a new type or function
6867 and <productname>PostgreSQL</productname> will load it as required. Code written
69- in <acronym>SQL</acronym>are even more trivial to add to the server.
68+ in <acronym>SQL</acronym>is even more trivial to add to the server.
7069 This ability to modify its operation <quote>on the fly</quote> makes
7170 <productname>PostgreSQL</productname> uniquely suited for rapid prototyping of new
7271 applications and storage structures.
@@ -80,14 +79,14 @@ $Header: /cvsroot/pgsql/doc/src/sgml/extend.sgml,v 1.14 2001/11/21 05:53:41 thom
8079 The <productname>PostgreSQL</productname> type system
8180 can be broken down in several ways.
8281 Types are divided into base types and composite types.
83- Base types are those, like <firstterm >int4</firstterm >, that are implemented
84- in a language such as<productname>C</productname> . They generally correspond to
82+ Base types are those, like <type >int4</type >, that are implemented
83+ in a language such asC . They generally correspond to
8584 what are often known as <firstterm>abstract data types</firstterm>; <productname>PostgreSQL</productname>
8685 can only operate on such types through methods provided
8786 by the user and only understands the behavior of such
8887 types to the extent that the user describes them.
8988 Composite types are created whenever the user creates a
90- table. EMP is an example of a composite type.
89+ table.
9190 </para>
9291
9392 <para>
@@ -100,10 +99,10 @@ $Header: /cvsroot/pgsql/doc/src/sgml/extend.sgml,v 1.14 2001/11/21 05:53:41 thom
10099 <productname>PostgreSQL</productname> base types are further
101100 divided into built-in
102101 types and user-defined types. Built-in types (like
103- <firstterm >int4</firstterm >) are those that are compiled
102+ <type >int4</type >) are those that are compiled
104103 into the system.
105104 User-defined types are those created by the user in the
106- manner to be describedbelow .
105+ manner to be describedlater .
107106 </para>
108107 </sect1>
109108
@@ -118,7 +117,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/extend.sgml,v 1.14 2001/11/21 05:53:41 thom
118117 information given here, so mark this page for later
119118 reference.
120119 All system catalogs have names that begin with
121- <firstterm >pg_</firstterm >.
120+ <literal >pg_</literal >.
122121 The following tables contain information that may be
123122 useful to the end user. (There are many other system
124123 catalogs, but there should rarely be a reason to query
@@ -149,23 +148,23 @@ $Header: /cvsroot/pgsql/doc/src/sgml/extend.sgml,v 1.14 2001/11/21 05:53:41 thom
149148 </row>
150149 <row>
151150<entry>pg_index</entry>
152- <entry>secondary indexes</entry>
151+ <entry> indexes</entry>
153152 </row>
154153 <row>
155154<entry>pg_proc</entry>
156- <entry> procedures (both C and SQL) </entry>
155+ <entry> procedures/functions </entry>
157156 </row>
158157 <row>
159158<entry>pg_type</entry>
160- <entry> types (both base and complex)</entry>
159+ <entry>data types (both base and complex)</entry>
161160 </row>
162161 <row>
163162<entry>pg_operator</entry>
164163<entry> operators</entry>
165164 </row>
166165 <row>
167166<entry>pg_aggregate</entry>
168- <entry>aggregates and aggregate functions</entry>
167+ <entry> aggregate functions</entry>
169168 </row>
170169 <row>
171170<entry>pg_am</entry>
@@ -198,7 +197,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/extend.sgml,v 1.14 2001/11/21 05:53:41 thom
198197 </mediaobject>
199198 </figure>
200199
201- TheReference Manual gives a more detailed explanation
200+ The<citetitle>Developer's Guide</citetitle> gives a more detailed explanation
202201 of these catalogs and their columns. However,
203202 <xref linkend="EXTEND-CATALOGS">
204203 shows the major entities and their relationships
@@ -257,10 +256,9 @@ $Header: /cvsroot/pgsql/doc/src/sgml/extend.sgml,v 1.14 2001/11/21 05:53:41 thom
257256 have obvious meanings, but there are many
258257 (particularly those that have to do with access
259258 methods) that do not. The relationships between
260- pg_am, pg_amop, pg_amproc, pg_operator and
261- pg_opclass are particularly hard to understand
262- and will be described in depth (in the section
263- on interfacing types and operators to indexes)
259+ <classname>pg_am</>, <classname>pg_amop</>, <classname>pg_amproc</>, <classname>pg_operator</>, and
260+ <classname>pg_opclass</> are particularly hard to understand
261+ and will be described in depth (in <xref linkend="xindex">)
264262 after we have discussed basic extensions.
265263 </para>
266264 </listitem>