Commit 2a5b6a7c authored by Bruce Momjian's avatar Bruce Momjian

This patch fixes a few missed GUC variables that were still upper case,

makes a few more small improvements to runtime.sgml, and makes some SGML
conventions more consistent.

Neil Conway
parent 3d48045a
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/docguide.sgml,v 1.44 2003/06/06 14:17:08 petere Exp $ --> <!-- $Header: /cvsroot/pgsql/doc/src/sgml/docguide.sgml,v 1.45 2003/09/11 21:42:19 momjian Exp $ -->
<appendix id="docguide"> <appendix id="docguide">
<title>Documentation</title> <title>Documentation</title>
...@@ -497,8 +497,9 @@ CATALOG "docbook-dsssl--1.<replaceable>xx</>/catalog ...@@ -497,8 +497,9 @@ CATALOG "docbook-dsssl--1.<replaceable>xx</>/catalog
<para> <para>
Before you can build the documentation you need to run the Before you can build the documentation you need to run the
<filename>configure</filename> script as you would when building <filename>configure</filename> script as you would when building
the PostgreSQL programs themselves. Check the output near the end the <productname>PostgreSQL</productname> programs themselves.
of the run, it should look something like this: Check the output near the end of the run, it should look something
like this:
<screen> <screen>
<computeroutput> <computeroutput>
checking for onsgmls... onsgmls checking for onsgmls... onsgmls
...@@ -640,7 +641,7 @@ gmake man.tar.gz ...@@ -640,7 +641,7 @@ gmake man.tar.gz
<title>Print Output via <acronym>RTF</acronym></title> <title>Print Output via <acronym>RTF</acronym></title>
<para> <para>
You can also create a printable version of the PostgreSQL You can also create a printable version of the <productname>PostgreSQL</productname>
documentation by converting it to <acronym>RTF</acronym> and documentation by converting it to <acronym>RTF</acronym> and
applying minor formatting corrections using an office suite. applying minor formatting corrections using an office suite.
Depending on the capabilities of the particular office suite, you Depending on the capabilities of the particular office suite, you
...@@ -651,7 +652,7 @@ gmake man.tar.gz ...@@ -651,7 +652,7 @@ gmake man.tar.gz
<note> <note>
<para> <para>
It appears that current versions of the PostgreSQL documentation It appears that current versions of the <productname>PostgreSQL</productname> documentation
trigger some bug in or exceed the size limit of OpenJade. If the trigger some bug in or exceed the size limit of OpenJade. If the
build process of the <acronym>RTF</acronym> version hangs for a build process of the <acronym>RTF</acronym> version hangs for a
long time and the output file still has size 0, then you may have long time and the output file still has size 0, then you may have
......
<!-- <!--
$Header: /cvsroot/pgsql/doc/src/sgml/ecpg.sgml,v 1.50 2003/09/09 10:54:44 meskes Exp $ $Header: /cvsroot/pgsql/doc/src/sgml/ecpg.sgml,v 1.51 2003/09/11 21:42:19 momjian Exp $
--> -->
<chapter id="ecpg"> <chapter id="ecpg">
...@@ -1153,10 +1153,11 @@ struct ...@@ -1153,10 +1153,11 @@ struct
condition. A successful state is indicated by the code condition. A successful state is indicated by the code
<literal>00000</literal>. Further information about the codes can <literal>00000</literal>. Further information about the codes can
be found XXX. The <literal>SQLSTATE</literal> codes are for the be found XXX. The <literal>SQLSTATE</literal> codes are for the
most part defined in the SQL standard. The PostgreSQL server most part defined in the SQL standard. The
natively supports <literal>SQLSTATE</literal> error codes; <productname>PostgreSQL</productname> server natively supports
therefore a high degree of consistency can be achieved by using <literal>SQLSTATE</literal> error codes; therefore a high degree
this error code scheme throughout all applications. of consistency can be achieved by using this error code scheme
throughout all applications.
</para> </para>
<para> <para>
...@@ -1168,11 +1169,11 @@ struct ...@@ -1168,11 +1169,11 @@ struct
affected zero rows, and no specific negative values. Therefore, affected zero rows, and no specific negative values. Therefore,
this scheme can only achieve poor portability and does not have a this scheme can only achieve poor portability and does not have a
hierarchical code assignment. Historically, the embedded SQL hierarchical code assignment. Historically, the embedded SQL
processor for PostgreSQL has assigned some specific processor for <productname>PostgreSQL</productname> has assigned
<literal>SQLCODE</literal> values for its use, which are listed some specific <literal>SQLCODE</literal> values for its use, which
below with their numeric value and their symbolic name. Remember are listed below with their numeric value and their symbolic name.
that these are not portable to other SQL implementations. To Remember that these are not portable to other SQL implementations.
simplify the porting of applications to the To simplify the porting of applications to the
<literal>SQLSTATE</literal> scheme, the corresponding <literal>SQLSTATE</literal> scheme, the corresponding
<literal>SQLSTATE</literal> is also listed. There is, however, no <literal>SQLSTATE</literal> is also listed. There is, however, no
one-to-one or one-to-many mapping between the two schemes (indeed one-to-one or one-to-many mapping between the two schemes (indeed
...@@ -1291,9 +1292,10 @@ struct ...@@ -1291,9 +1292,10 @@ struct
<term>-208 (<symbol>ECPG_EMPTY</symbol>)</term> <term>-208 (<symbol>ECPG_EMPTY</symbol>)</term>
<listitem> <listitem>
<para> <para>
The statement sent to the PostgreSQL server was empty. (This The statement sent to the <productname>PostgreSQL</productname>
cannot normally happen in an embedded SQL program, so it may server was empty. (This cannot normally happen in an embedded
point to an internal error.) (SQLSTATE YE002) SQL program, so it may point to an internal error.) (SQLSTATE
YE002)
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
......
<!-- <!--
$Header: /cvsroot/pgsql/doc/src/sgml/extend.sgml,v 1.24 2003/08/31 17:32:18 petere Exp $ $Header: /cvsroot/pgsql/doc/src/sgml/extend.sgml,v 1.25 2003/09/11 21:42:19 momjian Exp $
--> -->
<chapter id="extend"> <chapter id="extend">
...@@ -69,14 +69,16 @@ $Header: /cvsroot/pgsql/doc/src/sgml/extend.sgml,v 1.24 2003/08/31 17:32:18 pete ...@@ -69,14 +69,16 @@ $Header: /cvsroot/pgsql/doc/src/sgml/extend.sgml,v 1.24 2003/08/31 17:32:18 pete
</para> </para>
<para> <para>
The PostgreSQL server can moreover incorporate user-written code into The <productname>PostgreSQL</productname> server can moreover
itself through dynamic loading. That is, the user can incorporate user-written code into itself through dynamic loading.
specify an object code file (e.g., a shared library) that implements a new type or function, That is, the user can specify an object code file (e.g., a shared
and <productname>PostgreSQL</productname> will load it as required. Code written library) that implements a new type or function, and
in <acronym>SQL</acronym> is even more trivial to add to the server. <productname>PostgreSQL</productname> will load it as required.
This ability to modify its operation <quote>on the fly</quote> makes Code written in <acronym>SQL</acronym> is even more trivial to add
<productname>PostgreSQL</productname> uniquely suited for rapid prototyping of new to the server. This ability to modify its operation <quote>on the
applications and storage structures. fly</quote> makes <productname>PostgreSQL</productname> uniquely
suited for rapid prototyping of new applications and storage
structures.
</para> </para>
</sect1> </sect1>
......
<!-- <!--
$Header: /cvsroot/pgsql/doc/src/sgml/features.sgml,v 2.18 2003/03/13 01:30:28 petere Exp $ $Header: /cvsroot/pgsql/doc/src/sgml/features.sgml,v 2.19 2003/09/11 21:42:19 momjian Exp $
--> -->
<appendix id="features"> <appendix id="features">
...@@ -63,11 +63,12 @@ $Header: /cvsroot/pgsql/doc/src/sgml/features.sgml,v 2.18 2003/03/13 01:30:28 pe ...@@ -63,11 +63,12 @@ $Header: /cvsroot/pgsql/doc/src/sgml/features.sgml,v 2.18 2003/03/13 01:30:28 pe
In the following two sections, we provide a list of those features In the following two sections, we provide a list of those features
that <productname>PostgreSQL</productname> supports, followed by a that <productname>PostgreSQL</productname> supports, followed by a
list of the features defined in SQL99 which are not yet supported in list of the features defined in SQL99 which are not yet supported in
PostgreSQL. Both of these lists are approximate: There may be minor <productname>PostgreSQL</productname>. Both of these lists are
details that are nonconforming for a feature that is listed as approximate: There may be minor details that are nonconforming for a
supported, and large parts of an unsupported feature may in fact be feature that is listed as supported, and large parts of an
implemented. The main body of the documentation always contains the unsupported feature may in fact be implemented. The main body of
most accurate information about what does and does not work. the documentation always contains the most accurate information
about what does and does not work.
</para> </para>
<note> <note>
......
<!-- <!--
$Header: /cvsroot/pgsql/doc/src/sgml/history.sgml,v 1.21 2003/09/08 23:02:28 petere Exp $ $Header: /cvsroot/pgsql/doc/src/sgml/history.sgml,v 1.22 2003/09/11 21:42:19 momjian Exp $
--> -->
<sect1 id="history"> <sect1 id="history">
...@@ -206,8 +206,8 @@ $Header: /cvsroot/pgsql/doc/src/sgml/history.sgml,v 1.21 2003/09/08 23:02:28 pet ...@@ -206,8 +206,8 @@ $Header: /cvsroot/pgsql/doc/src/sgml/history.sgml,v 1.21 2003/09/08 23:02:28 pet
</para> </para>
<para> <para>
Details about what has happened in PostgreSQL since then can be Details about what has happened in <productname>PostgreSQL</> since
found in <xref linkend="release">. then can be found in <xref linkend="release">.
</para> </para>
</sect2> </sect2>
</sect1> </sect1>
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/indices.sgml,v 1.43 2003/08/31 17:32:19 petere Exp $ --> <!-- $Header: /cvsroot/pgsql/doc/src/sgml/indices.sgml,v 1.44 2003/09/11 21:42:19 momjian Exp $ -->
<chapter id="indexes"> <chapter id="indexes">
<title id="indexes-title">Indexes</title> <title id="indexes-title">Indexes</title>
...@@ -194,11 +194,11 @@ CREATE INDEX <replaceable>name</replaceable> ON <replaceable>table</replaceable> ...@@ -194,11 +194,11 @@ CREATE INDEX <replaceable>name</replaceable> ON <replaceable>table</replaceable>
</synopsis> </synopsis>
<note> <note>
<para> <para>
Testing has shown PostgreSQL's hash indexes to be similar or slower Testing has shown <productname>PostgreSQL</productname>'s hash
than B-tree indexes, and the index size and build time for hash indexes to be similar or slower than B-tree indexes, and the
indexes is much worse. Hash indexes also suffer poor performance index size and build time for hash indexes is much worse. Hash
under high concurrency. For these reasons, hash index use is indexes also suffer poor performance under high concurrency. For
presently discouraged. these reasons, hash index use is presently discouraged.
</para> </para>
</note> </note>
</para> </para>
......
This diff is collapsed.
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/installation.sgml,v 1.140 2003/09/01 23:01:49 petere Exp $ --> <!-- $Header: /cvsroot/pgsql/doc/src/sgml/installation.sgml,v 1.141 2003/09/11 21:42:20 momjian Exp $ -->
<chapter id="installation"> <chapter id="installation">
<title><![%standalone-include[<productname>PostgreSQL</>]]> <title><![%standalone-include[<productname>PostgreSQL</>]]>
...@@ -406,13 +406,14 @@ JAVACMD=$JAVA_HOME/bin/java ...@@ -406,13 +406,14 @@ JAVACMD=$JAVA_HOME/bin/java
To make the backup, you can use the <command>pg_dumpall</command> To make the backup, you can use the <command>pg_dumpall</command>
command from the version you are currently running. For best command from the version you are currently running. For best
results, however, try to use the <command>pg_dumpall</command> results, however, try to use the <command>pg_dumpall</command>
command from PostgreSQL &version;, since this version contains command from <productname>PostgreSQL</productname> &version;,
bug fixes and improvements over older versions. While this since this version contains bug fixes and improvements over older
advice might seem idiosyncratic since you haven't installed the versions. While this advice might seem idiosyncratic since you
new version yet, it is advisable to follow it if you plan to haven't installed the new version yet, it is advisable to follow
install the new version in parallel with the old version. In it if you plan to install the new version in parallel with the
that case you can complete the installation normally and transfer old version. In that case you can complete the installation
the data later. This will also decrease the downtime. normally and transfer the data later. This will also decrease
the downtime.
</para> </para>
</step> </step>
......
<!-- <!--
$Header: /cvsroot/pgsql/doc/src/sgml/intro.sgml,v 1.21 2003/09/08 23:02:28 petere Exp $ $Header: /cvsroot/pgsql/doc/src/sgml/intro.sgml,v 1.22 2003/09/11 21:42:20 momjian Exp $
--> -->
<preface id="preface"> <preface id="preface">
<title>Preface</title> <title>Preface</title>
<para> <para>
This book is the official documentation of PostgreSQL. It is being This book is the official documentation of
written by the PostgreSQL developers and other volunteers in <productname>PostgreSQL</productname>. It is being written by the
parallel to the development of the PostgreSQL software. It <productname>PostgreSQL</productname> developers and other
describes all the functionality that the current version of volunteers in parallel to the development of the
PostgreSQL officially supports. <productname>PostgreSQL</productname> software. It describes all
the functionality that the current version of
<productname>PostgreSQL</productname> officially supports.
</para> </para>
<para> <para>
To make the large amount of information about PostgreSQL manageable, To make the large amount of information about
this book has been organized in several parts. Each part is <productname>PostgreSQL</productname> manageable, this book has been
targeted at a different class of users, or at users in different organized in several parts. Each part is targeted at a different
stages of their PostgreSQL experience: class of users, or at users in different stages of their
<productname>PostgreSQL</productname> experience:
<itemizedlist> <itemizedlist>
<listitem> <listitem>
...@@ -38,16 +41,17 @@ $Header: /cvsroot/pgsql/doc/src/sgml/intro.sgml,v 1.21 2003/09/08 23:02:28 peter ...@@ -38,16 +41,17 @@ $Header: /cvsroot/pgsql/doc/src/sgml/intro.sgml,v 1.21 2003/09/08 23:02:28 peter
<listitem> <listitem>
<para> <para>
<xref linkend="admin"> describes the installation and <xref linkend="admin"> describes the installation and
administration of the server. Everyone that runs a PostgreSQL administration of the server. Everyone that runs a
server, be it for private use or for others, should read this <productname>PostgreSQL</productname> server, be it for private
part. use or for others, should read this part.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
<xref linkend="client-interfaces"> describes the programming <xref linkend="client-interfaces"> describes the programming
interfaces for PostgreSQL client programs. interfaces for <productname>PostgreSQL</productname> client
programs.
</para> </para>
</listitem> </listitem>
...@@ -111,8 +115,8 @@ $Header: /cvsroot/pgsql/doc/src/sgml/intro.sgml,v 1.21 2003/09/08 23:02:28 peter ...@@ -111,8 +115,8 @@ $Header: /cvsroot/pgsql/doc/src/sgml/intro.sgml,v 1.21 2003/09/08 23:02:28 peter
</listitem> </listitem>
</itemizedlist> </itemizedlist>
Also, PostgreSQL can be extended by the user in many ways, for Also, <productname>PostgreSQL</productname> can be extended by the
example by adding new user in many ways, for example by adding new
<itemizedlist spacing="compact"> <itemizedlist spacing="compact">
<listitem> <listitem>
...@@ -137,9 +141,10 @@ $Header: /cvsroot/pgsql/doc/src/sgml/intro.sgml,v 1.21 2003/09/08 23:02:28 peter ...@@ -137,9 +141,10 @@ $Header: /cvsroot/pgsql/doc/src/sgml/intro.sgml,v 1.21 2003/09/08 23:02:28 peter
</para> </para>
<para> <para>
And because of the liberal license, PostgreSQL can be used, And because of the liberal license,
modified, and distributed by everyone free of charge for any <productname>PostgreSQL</productname> can be used, modified, and
purpose, be it private, commercial, or academic. distributed by everyone free of charge for any purpose, be it
private, commercial, or academic.
</para> </para>
</sect1> </sect1>
......
<!-- <!--
$Header: /cvsroot/pgsql/doc/src/sgml/libpq.sgml,v 1.135 2003/09/03 22:05:01 petere Exp $ $Header: /cvsroot/pgsql/doc/src/sgml/libpq.sgml,v 1.136 2003/09/11 21:42:20 momjian Exp $
--> -->
<chapter id="libpq"> <chapter id="libpq">
...@@ -2049,11 +2049,13 @@ unsigned char *PQescapeBytea(const unsigned char *from, ...@@ -2049,11 +2049,13 @@ unsigned char *PQescapeBytea(const unsigned char *from,
<parameter>from</parameter> parameter binary string in memory <parameter>from</parameter> parameter binary string in memory
allocated with <function>malloc()</>. This memory must be freed allocated with <function>malloc()</>. This memory must be freed
using <function>PQfreemem()</> when the result is no longer needed. using <function>PQfreemem()</> when the result is no longer needed.
The return string has all special characters replaced The return string has all special characters replaced so that they
so that they can be properly processed by the PostgreSQL string literal can be properly processed by the
parser, and the <type>bytea</type> input function. A terminating zero <productname>PostgreSQL</productname> string literal parser, and
byte is also added. The single quotes that must surround the <type>bytea</type> input function. A terminating zero byte is
PostgreSQL string literals are not part of the result string. also added. The single quotes that must surround
<productname>PostgreSQL</productname> string literals are not part
of the result string.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
......
<!-- <!--
$Header: /cvsroot/pgsql/doc/src/sgml/plpgsql.sgml,v 1.24 2003/09/11 18:30:38 momjian Exp $ $Header: /cvsroot/pgsql/doc/src/sgml/plpgsql.sgml,v 1.25 2003/09/11 21:42:20 momjian Exp $
--> -->
<chapter id="plpgsql"> <chapter id="plpgsql">
...@@ -2056,9 +2056,10 @@ RAISE <replaceable class="parameter">level</replaceable> '<replaceable class="pa ...@@ -2056,9 +2056,10 @@ RAISE <replaceable class="parameter">level</replaceable> '<replaceable class="pa
(raise an error and abort the current transaction). Whether (raise an error and abort the current transaction). Whether
messages of a particular priority are reported to the client, messages of a particular priority are reported to the client,
written to the server log, or both is controlled by the written to the server log, or both is controlled by the
<option>log_min_messages</option> and <varname>log_min_messages</varname> and
<option>client_min_messages</option> configuration variables. See <varname>client_min_messages</varname> configuration
<xref linkend="runtime-config"> for more information. variables. See <xref linkend="runtime-config"> for more
information.
</para> </para>
<para> <para>
...@@ -2448,7 +2449,8 @@ show errors; ...@@ -2448,7 +2449,8 @@ show errors;
<para> <para>
The <literal>RETURN</literal> key word in the function The <literal>RETURN</literal> key word in the function
prototype (not the function body) becomes prototype (not the function body) becomes
<literal>RETURNS</literal> in PostgreSQL. <literal>RETURNS</literal> in
<productname>PostgreSQL</productname>.
</para> </para>
</listitem> </listitem>
...@@ -2805,7 +2807,8 @@ END; ...@@ -2805,7 +2807,8 @@ END;
<para> <para>
This section explains a few other things to watch for when porting This section explains a few other things to watch for when porting
Oracle <application>PL/SQL</> functions to PostgreSQL. Oracle <application>PL/SQL</> functions to
<productname>PostgreSQL</productname>.
</para> </para>
<sect3> <sect3>
......
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/protocol.sgml,v 1.43 2003/09/03 22:05:07 petere Exp $ --> <!-- $Header: /cvsroot/pgsql/doc/src/sgml/protocol.sgml,v 1.44 2003/09/11 21:42:20 momjian Exp $ -->
<chapter id="protocol"> <chapter id="protocol">
<title>Frontend/Backend Protocol</title> <title>Frontend/Backend Protocol</title>
<para> <para>
<application>PostgreSQL</application> uses a message-based protocol <productname>PostgreSQL</productname> uses a message-based protocol
for communication between frontends and backends (clients and servers). for communication between frontends and backends (clients and servers).
The protocol is supported over <acronym>TCP/IP</acronym> and also over The protocol is supported over <acronym>TCP/IP</acronym> and also over
Unix-domain sockets. Port number 5432 has been registered with IANA as Unix-domain sockets. Port number 5432 has been registered with IANA as
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
<para> <para>
This document describes version 3.0 of the protocol, implemented in This document describes version 3.0 of the protocol, implemented in
<application>PostgreSQL</application> 7.4 and later. For descriptions <productname>PostgreSQL</productname> 7.4 and later. For descriptions
of the earlier protocol versions, see previous releases of the of the earlier protocol versions, see previous releases of the
<productname>PostgreSQL</productname> documentation. A single server <productname>PostgreSQL</productname> documentation. A single server
can support multiple protocol versions. The initial can support multiple protocol versions. The initial
...@@ -165,7 +165,7 @@ ...@@ -165,7 +165,7 @@
<para> <para>
Data of a particular datatype might be transmitted in any of several Data of a particular datatype might be transmitted in any of several
different <firstterm>formats</>. As of <application>PostgreSQL</> 7.4 different <firstterm>formats</>. As of <productname>PostgreSQL</> 7.4
the only supported formats are <quote>text</> and <quote>binary</>, the only supported formats are <quote>text</> and <quote>binary</>,
but the protocol makes provision for future extensions. The desired but the protocol makes provision for future extensions. The desired
format for any value is specified by a <firstterm>format code</>. format for any value is specified by a <firstterm>format code</>.
......
<!-- <!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/copy.sgml,v 1.49 2003/09/09 18:28:52 tgl Exp $ $Header: /cvsroot/pgsql/doc/src/sgml/ref/copy.sgml,v 1.50 2003/09/11 21:42:20 momjian Exp $
PostgreSQL documentation PostgreSQL documentation
--> -->
...@@ -201,7 +201,7 @@ COPY <replaceable class="parameter">table</replaceable> [ ( <replaceable class=" ...@@ -201,7 +201,7 @@ COPY <replaceable class="parameter">table</replaceable> [ ( <replaceable class="
directly by the server, not by the client application. Therefore, directly by the server, not by the client application. Therefore,
they must reside on or be accessible to the database server machine, they must reside on or be accessible to the database server machine,
not the client. They must be accessible to and readable or writable not the client. They must be accessible to and readable or writable
by the <application>PostgreSQL</application> user (the user ID the by the <productname>PostgreSQL</productname> user (the user ID the
server runs as), not the client. <command>COPY</command> naming a server runs as), not the client. <command>COPY</command> naming a
file is only allowed to database superusers, since it allows reading file is only allowed to database superusers, since it allows reading
or writing any file that the server has privileges to access. or writing any file that the server has privileges to access.
...@@ -367,7 +367,7 @@ COPY <replaceable class="parameter">table</replaceable> [ ( <replaceable class=" ...@@ -367,7 +367,7 @@ COPY <replaceable class="parameter">table</replaceable> [ ( <replaceable class="
<para> <para>
The file format used for <command>COPY BINARY</command> changed in The file format used for <command>COPY BINARY</command> changed in
<application>PostgreSQL</application> 7.4. The new format consists <productname>PostgreSQL</productname> 7.4. The new format consists
of a file header, zero or more tuples containing the row data, and of a file header, zero or more tuples containing the row data, and
a file trailer. Headers and data are now in network byte order. a file trailer. Headers and data are now in network byte order.
</para> </para>
...@@ -474,7 +474,7 @@ to be specified. ...@@ -474,7 +474,7 @@ to be specified.
<para> <para>
To determine the appropriate binary format for the actual tuple data you To determine the appropriate binary format for the actual tuple data you
should consult the <application>PostgreSQL</application> source, in should consult the <productname>PostgreSQL</productname> source, in
particular the <function>*send</> and <function>*recv</> functions for particular the <function>*send</> and <function>*recv</> functions for
the data type (typically found in the <filename>src/backend/utils/adt</filename> the data type (typically found in the <filename>src/backend/utils/adt</filename>
directory). The <application>contrib/binarycopy</application> module directory). The <application>contrib/binarycopy</application> module
......
<!-- <!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_function.sgml,v 1.51 2003/09/10 20:13:45 momjian Exp $ $Header: /cvsroot/pgsql/doc/src/sgml/ref/create_function.sgml,v 1.52 2003/09/11 21:42:20 momjian Exp $
--> -->
<refentry id="SQL-CREATEFUNCTION"> <refentry id="SQL-CREATEFUNCTION">
...@@ -382,7 +382,7 @@ CREATE FUNCTION add(integer, integer) RETURNS integer ...@@ -382,7 +382,7 @@ CREATE FUNCTION add(integer, integer) RETURNS integer
<para> <para>
A <command>CREATE FUNCTION</command> command is defined in SQL99. A <command>CREATE FUNCTION</command> command is defined in SQL99.
The <application>PostgreSQL</application> version is similar but The <productname>PostgreSQL</productname> version is similar but
not fully compatible. The attributes are not portable, neither are the not fully compatible. The attributes are not portable, neither are the
different available languages. different available languages.
</para> </para>
......
<!-- <!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_index.sgml,v 1.41 2003/09/09 18:28:52 tgl Exp $ $Header: /cvsroot/pgsql/doc/src/sgml/ref/create_index.sgml,v 1.42 2003/09/11 21:42:20 momjian Exp $
PostgreSQL documentation PostgreSQL documentation
--> -->
...@@ -53,7 +53,7 @@ CREATE [ UNIQUE ] INDEX <replaceable class="parameter">index_name</replaceable> ...@@ -53,7 +53,7 @@ CREATE [ UNIQUE ] INDEX <replaceable class="parameter">index_name</replaceable>
</para> </para>
<para> <para>
<application>PostgreSQL</application> provides the index methods <productname>PostgreSQL</productname> provides the index methods
B-tree, R-tree, hash, and GiST. The B-tree index method is an B-tree, R-tree, hash, and GiST. The B-tree index method is an
implementation of Lehman-Yao high-concurrency B-trees. The R-tree implementation of Lehman-Yao high-concurrency B-trees. The R-tree
index method implements standard R-trees using Guttman's quadratic index method implements standard R-trees using Guttman's quadratic
...@@ -198,7 +198,7 @@ CREATE [ UNIQUE ] INDEX <replaceable class="parameter">index_name</replaceable> ...@@ -198,7 +198,7 @@ CREATE [ UNIQUE ] INDEX <replaceable class="parameter">index_name</replaceable>
Currently, only the B-tree and GiST index methods support Currently, only the B-tree and GiST index methods support
multicolumn indexes. Up to 32 fields may be specified by default. multicolumn indexes. Up to 32 fields may be specified by default.
(This limit can be altered when building (This limit can be altered when building
<application>PostgreSQL</application>.) Only B-tree currently <productname>PostgreSQL</productname>.) Only B-tree currently
supports unique indexes. supports unique indexes.
</para> </para>
......
<!-- <!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/declare.sgml,v 1.26 2003/08/31 17:32:22 petere Exp $ $Header: /cvsroot/pgsql/doc/src/sgml/ref/declare.sgml,v 1.27 2003/09/11 21:42:20 momjian Exp $
PostgreSQL documentation PostgreSQL documentation
--> -->
...@@ -105,9 +105,9 @@ DECLARE <replaceable class="parameter">cursorname</replaceable> [ BINARY ] [ INS ...@@ -105,9 +105,9 @@ DECLARE <replaceable class="parameter">cursorname</replaceable> [ BINARY ] [ INS
<para> <para>
Indicates that data retrieved from the cursor should be Indicates that data retrieved from the cursor should be
unaffected by updates to the tables underlying the cursor while unaffected by updates to the tables underlying the cursor while
the cursor exists. In PostgreSQL, all cursors are insensitive; the cursor exists. In <productname>PostgreSQL</productname>,
this key word currently has no effect and is present for all cursors are insensitive; this key word currently has no
compatibility with the SQL standard. effect and is present for compatibility with the SQL standard.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
......
<!-- <!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/end.sgml,v 1.10 2003/08/31 17:32:23 petere Exp $ $Header: /cvsroot/pgsql/doc/src/sgml/ref/end.sgml,v 1.11 2003/09/11 21:42:20 momjian Exp $
PostgreSQL documentation PostgreSQL documentation
--> -->
...@@ -30,9 +30,9 @@ END [ WORK | TRANSACTION ] ...@@ -30,9 +30,9 @@ END [ WORK | TRANSACTION ]
<para> <para>
<command>END</command> commits the current transaction. All changes <command>END</command> commits the current transaction. All changes
made by the transaction become visible to others and are guaranteed made by the transaction become visible to others and are guaranteed
to be durable if a crash occurs. It is a PostgreSQL extension that to be durable if a crash occurs. It is a
is equivalent to <xref linkend="sql-commit" <productname>PostgreSQL</productname> extension that is equivalent
endterm="sql-commit-title">. to <xref linkend="sql-commit" endterm="sql-commit-title">.
</para> </para>
</refsect1> </refsect1>
......
<!-- <!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/grant.sgml,v 1.34 2003/08/31 17:32:23 petere Exp $ $Header: /cvsroot/pgsql/doc/src/sgml/ref/grant.sgml,v 1.35 2003/09/11 21:42:20 momjian Exp $
PostgreSQL documentation PostgreSQL documentation
--> -->
...@@ -375,8 +375,8 @@ GRANT <replaceable class="PARAMETER">privileges</replaceable> ...@@ -375,8 +375,8 @@ GRANT <replaceable class="PARAMETER">privileges</replaceable>
<para> <para>
The <literal>RULE</literal> privilege, and privileges on The <literal>RULE</literal> privilege, and privileges on
databases, schemas, languages, and sequences are PostgreSQL databases, schemas, languages, and sequences are
extensions. <productname>PostgreSQL</productname> extensions.
</para> </para>
</refsect1> </refsect1>
......
<!-- <!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/load.sgml,v 1.18 2003/08/31 17:32:23 petere Exp $ $Header: /cvsroot/pgsql/doc/src/sgml/ref/load.sgml,v 1.19 2003/09/11 21:42:20 momjian Exp $
--> -->
<refentry id="SQL-LOAD"> <refentry id="SQL-LOAD">
...@@ -50,7 +50,7 @@ LOAD '<replaceable class="PARAMETER">filename</replaceable>' ...@@ -50,7 +50,7 @@ LOAD '<replaceable class="PARAMETER">filename</replaceable>'
<title>Compatibility</title> <title>Compatibility</title>
<para> <para>
<command>LOAD</command> is a <application>PostgreSQL</application> <command>LOAD</command> is a <productname>PostgreSQL</productname>
extension. extension.
</para> </para>
</refsect1> </refsect1>
......
<!-- <!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/lock.sgml,v 1.37 2003/09/09 18:28:53 tgl Exp $ $Header: /cvsroot/pgsql/doc/src/sgml/ref/lock.sgml,v 1.38 2003/09/11 21:42:20 momjian Exp $
PostgreSQL documentation PostgreSQL documentation
--> -->
...@@ -201,7 +201,7 @@ COMMIT WORK; ...@@ -201,7 +201,7 @@ COMMIT WORK;
<para> <para>
There is no <command>LOCK TABLE</command> in the SQL standard, There is no <command>LOCK TABLE</command> in the SQL standard,
which instead uses <command>SET TRANSACTION</command> to specify which instead uses <command>SET TRANSACTION</command> to specify
concurrency levels on transactions. PostgreSQL supports that too; concurrency levels on transactions. <productname>PostgreSQL</productname> supports that too;
see <xref linkend="SQL-SET-TRANSACTION" see <xref linkend="SQL-SET-TRANSACTION"
endterm="SQL-SET-TRANSACTION-TITLE"> for details. endterm="SQL-SET-TRANSACTION-TITLE"> for details.
</para> </para>
......
<!-- <!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/pg_dump.sgml,v 1.63 2003/08/31 17:32:23 petere Exp $ $Header: /cvsroot/pgsql/doc/src/sgml/ref/pg_dump.sgml,v 1.64 2003/09/11 21:42:20 momjian Exp $
PostgreSQL documentation PostgreSQL documentation
--> -->
...@@ -705,7 +705,7 @@ CREATE DATABASE foo WITH TEMPLATE template0; ...@@ -705,7 +705,7 @@ CREATE DATABASE foo WITH TEMPLATE template0;
The <application>pg_dump</application> utility first appeared in The <application>pg_dump</application> utility first appeared in
<application>Postgres95</application> release 0.02. The <application>Postgres95</application> release 0.02. The
non-plain-text output formats were introduced in non-plain-text output formats were introduced in
<application>PostgreSQL</application> release 7.1. <productname>PostgreSQL</productname> release 7.1.
</para> </para>
</refsect1> </refsect1>
......
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/ref/pg_restore.sgml,v 1.41 2003/08/31 17:32:24 petere Exp $ --> <!-- $Header: /cvsroot/pgsql/doc/src/sgml/ref/pg_restore.sgml,v 1.42 2003/09/11 21:42:20 momjian Exp $ -->
<refentry id="APP-PGRESTORE"> <refentry id="APP-PGRESTORE">
<refmeta> <refmeta>
...@@ -659,7 +659,7 @@ CREATE DATABASE foo WITH TEMPLATE template0; ...@@ -659,7 +659,7 @@ CREATE DATABASE foo WITH TEMPLATE template0;
<para> <para>
The <application>pg_restore</application> utility first appeared in The <application>pg_restore</application> utility first appeared in
PostgreSQL 7.1. <productname>PostgreSQL</productname> 7.1.
</para> </para>
</refsect1> </refsect1>
......
<!-- <!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/reindex.sgml,v 1.19 2003/09/09 18:28:53 tgl Exp $ $Header: /cvsroot/pgsql/doc/src/sgml/ref/reindex.sgml,v 1.20 2003/09/11 21:42:20 momjian Exp $
PostgreSQL documentation PostgreSQL documentation
--> -->
...@@ -46,11 +46,12 @@ REINDEX { DATABASE | TABLE | INDEX } <replaceable class="PARAMETER">name</replac ...@@ -46,11 +46,12 @@ REINDEX { DATABASE | TABLE | INDEX } <replaceable class="PARAMETER">name</replac
<listitem> <listitem>
<para> <para>
The index in question contains a lot of dead index pages that The index in question contains a lot of dead index pages that
are not being reclaimed. This can occur with B-tree indexes in PostgreSQL are not being reclaimed. This can occur with B-tree indexes in
under certain access patterns. <command>REINDEX</command> <productname>PostgreSQL</productname> under certain access
provides a way to reduce the space consumption of the index by patterns. <command>REINDEX</command> provides a way to reduce
writing a new version of the index without the dead pages. See the space consumption of the index by writing a new version of
<xref linkend="routine-reindex"> for more information. the index without the dead pages. See <xref
linkend="routine-reindex"> for more information.
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
......
<!-- <!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/select.sgml,v 1.69 2003/08/31 17:32:24 petere Exp $ $Header: /cvsroot/pgsql/doc/src/sgml/ref/select.sgml,v 1.70 2003/09/11 21:42:20 momjian Exp $
PostgreSQL documentation PostgreSQL documentation
--> -->
...@@ -798,10 +798,10 @@ FOR UPDATE [ OF <replaceable class="parameter">table_name</replaceable> [, ...] ...@@ -798,10 +798,10 @@ FOR UPDATE [ OF <replaceable class="parameter">table_name</replaceable> [, ...]
<para> <para>
<literal>FOR UPDATE</literal> may appear before <literal>FOR UPDATE</literal> may appear before
<literal>LIMIT</literal> for compatibility with PostgreSQL <literal>LIMIT</literal> for compatibility with
versions before 7.3. It effectively executes after <productname>PostgreSQL</productname> versions before 7.3. It
<literal>LIMIT</literal>, however, and so that is the recommended effectively executes after <literal>LIMIT</literal>, however, and
place to write it. so that is the recommended place to write it.
</para> </para>
</refsect2> </refsect2>
</refsect1> </refsect1>
...@@ -1008,11 +1008,12 @@ SELECT d.* FROM distributors d; ...@@ -1008,11 +1008,12 @@ SELECT d.* FROM distributors d;
SELECT distributors.* FROM distributors d, distributors distributors; SELECT distributors.* FROM distributors d, distributors distributors;
</programlisting> </programlisting>
that he will actually get. To help detect this sort of mistake, that he will actually get. To help detect this sort of mistake,
PostgreSQL will warn if the implicit-<literal>FROM</literal> <productname>PostgreSQL</productname> will warn if the
feature is used in a <command>SELECT</command> statement that also implicit-<literal>FROM</literal> feature is used in a
contains an explicit <literal>FROM</literal> clause. Also, it is <command>SELECT</command> statement that also contains an explicit
possible to disable the implicit-<literal>FROM</literal> feature <literal>FROM</literal> clause. Also, it is possible to disable
by setting the <varname>ADD_MISSING_FROM</> parameter to false. the implicit-<literal>FROM</literal> feature by setting the
<varname>ADD_MISSING_FROM</> parameter to false.
</para> </para>
</refsect2> </refsect2>
......
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/ref/set_constraints.sgml,v 1.7 2003/08/31 17:32:24 petere Exp $ --> <!-- $Header: /cvsroot/pgsql/doc/src/sgml/ref/set_constraints.sgml,v 1.8 2003/09/11 21:42:20 momjian Exp $ -->
<refentry id="SQL-SET-CONSTRAINTS"> <refentry id="SQL-SET-CONSTRAINTS">
<refmeta> <refmeta>
<refentrytitle id="SQL-SET-CONSTRAINTS-title">SET CONSTRAINTS</refentrytitle> <refentrytitle id="SQL-SET-CONSTRAINTS-title">SET CONSTRAINTS</refentrytitle>
...@@ -77,8 +77,9 @@ SET CONSTRAINTS { ALL | <replaceable class="parameter">constraint</replaceable> ...@@ -77,8 +77,9 @@ SET CONSTRAINTS { ALL | <replaceable class="parameter">constraint</replaceable>
<para> <para>
This command complies with the behavior defined in the SQL This command complies with the behavior defined in the SQL
standard, except for the limitation that, in PostgreSQL, it only standard, except for the limitation that, in
applies to foreign-key constraints. <productname>PostgreSQL</productname>, it only applies to
foreign-key constraints.
</para> </para>
</refsect1> </refsect1>
</refentry> </refentry>
......
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/ref/set_session_auth.sgml,v 1.10 2003/08/31 17:32:24 petere Exp $ --> <!-- $Header: /cvsroot/pgsql/doc/src/sgml/ref/set_session_auth.sgml,v 1.11 2003/09/11 21:42:20 momjian Exp $ -->
<refentry id="SQL-SET-SESSION-AUTHORIZATION"> <refentry id="SQL-SET-SESSION-AUTHORIZATION">
<refmeta> <refmeta>
<refentrytitle id="sql-set-session-authorization-title">SET SESSION AUTHORIZATION</refentrytitle> <refentrytitle id="sql-set-session-authorization-title">SET SESSION AUTHORIZATION</refentrytitle>
...@@ -89,10 +89,10 @@ SELECT SESSION_USER, CURRENT_USER; ...@@ -89,10 +89,10 @@ SELECT SESSION_USER, CURRENT_USER;
<para> <para>
The SQL standard allows some other expressions to appear in place The SQL standard allows some other expressions to appear in place
of the literal <replaceable>username</replaceable> which are not of the literal <replaceable>username</replaceable> which are not
important in practice. <application>PostgreSQL</application> important in practice. <productname>PostgreSQL</productname>
allows identifier syntax (<literal>"username"</literal>), which SQL allows identifier syntax (<literal>"username"</literal>), which SQL
does not. SQL does not allow this command during a transaction; does not. SQL does not allow this command during a transaction;
<application>PostgreSQL</application> does not make this <productname>PostgreSQL</productname> does not make this
restriction because there is no reason to. The privileges restriction because there is no reason to. The privileges
necessary to execute this command are left implementation-defined necessary to execute this command are left implementation-defined
by the standard. by the standard.
......
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/ref/set_transaction.sgml,v 1.16 2003/09/09 18:28:53 tgl Exp $ --> <!-- $Header: /cvsroot/pgsql/doc/src/sgml/ref/set_transaction.sgml,v 1.17 2003/09/11 21:42:20 momjian Exp $ -->
<refentry id="SQL-SET-TRANSACTION"> <refentry id="SQL-SET-TRANSACTION">
<refmeta> <refmeta>
<refentrytitle id="SQL-SET-TRANSACTION-TITLE">SET TRANSACTION</refentrytitle> <refentrytitle id="SQL-SET-TRANSACTION-TITLE">SET TRANSACTION</refentrytitle>
...@@ -122,7 +122,7 @@ SET default_transaction_isolation = '<replaceable>value</replaceable>' ...@@ -122,7 +122,7 @@ SET default_transaction_isolation = '<replaceable>value</replaceable>'
<para> <para>
Both commands are defined in the <acronym>SQL</acronym> standard. Both commands are defined in the <acronym>SQL</acronym> standard.
<literal>SERIALIZABLE</literal> is the default transaction <literal>SERIALIZABLE</literal> is the default transaction
isolation level in the standard; in PostgreSQL the default is isolation level in the standard; in <productname>PostgreSQL</productname> the default is
ordinarily <literal>READ COMMITTED</literal>, but you can change it as ordinarily <literal>READ COMMITTED</literal>, but you can change it as
described above. <productname>PostgreSQL</productname> does not described above. <productname>PostgreSQL</productname> does not
provide the isolation levels <literal>READ UNCOMMITTED</literal> provide the isolation levels <literal>READ UNCOMMITTED</literal>
......
<!-- <!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/update.sgml,v 1.24 2003/08/31 17:32:24 petere Exp $ $Header: /cvsroot/pgsql/doc/src/sgml/ref/update.sgml,v 1.25 2003/09/11 21:42:20 momjian Exp $
PostgreSQL documentation PostgreSQL documentation
--> -->
...@@ -164,7 +164,8 @@ UPDATE weather SET temp_lo = temp_lo+1, temp_hi = temp_lo+15, prcp = DEFAULT ...@@ -164,7 +164,8 @@ UPDATE weather SET temp_lo = temp_lo+1, temp_hi = temp_lo+15, prcp = DEFAULT
<para> <para>
This command conforms to the SQL standard. The This command conforms to the SQL standard. The
<literal>FROM</literal> clause is a PostgreSQL extension. <literal>FROM</literal> clause is a
<productname>PostgreSQL</productname> extension.
</para> </para>
</refsect1> </refsect1>
</refentry> </refentry>
......
<!-- <!--
$Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.206 2003/08/27 03:35:35 momjian Exp $ $Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.207 2003/09/11 21:42:20 momjian Exp $
--> -->
<appendix id="release"> <appendix id="release">
...@@ -10,8 +10,8 @@ $Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.206 2003/08/27 03:35:35 mo ...@@ -10,8 +10,8 @@ $Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.206 2003/08/27 03:35:35 mo
<para> <para>
Below is a subset of the changes that have gone into the Below is a subset of the changes that have gone into the
development branch of PostgreSQL since version 7.3. For a complete development branch of <productname>PostgreSQL</productname> since
list of changes, consult the CVS logs. version 7.3. For a complete list of changes, consult the CVS logs.
</para> </para>
<!-- <!--
......
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/rules.sgml,v 1.29 2003/08/31 17:32:19 petere Exp $ --> <!-- $Header: /cvsroot/pgsql/doc/src/sgml/rules.sgml,v 1.30 2003/09/11 21:42:20 momjian Exp $ -->
<Chapter Id="rules"> <Chapter Id="rules">
<Title>The Rule System</Title> <Title>The Rule System</Title>
...@@ -8,16 +8,17 @@ ...@@ -8,16 +8,17 @@
</indexterm> </indexterm>
<Para> <Para>
This chapter discusses the rule system in PostgreSQL. This chapter discusses the rule system in
Production rule systems are conceptually simple, but <productname>PostgreSQL</productname>. Production rule systems
there are many subtle points involved in actually using are conceptually simple, but there are many subtle points
them. involved in actually using them.
</Para> </Para>
<Para> <Para>
Some other database systems define active database rules, which Some other database systems define active database rules, which
are usually stored procedures and triggers. In PostgreSQL, these are usually stored procedures and triggers. In
can be implemented using functions and triggers as well. <productname>PostgreSQL</productname>, these can be implemented
using functions and triggers as well.
</Para> </Para>
<Para> <Para>
......
This diff is collapsed.
<!-- <!--
$Header: /cvsroot/pgsql/doc/src/sgml/xfunc.sgml,v 1.73 2003/08/31 17:32:20 petere Exp $ $Header: /cvsroot/pgsql/doc/src/sgml/xfunc.sgml,v 1.74 2003/09/11 21:42:20 momjian Exp $
--> -->
<sect1 id="xfunc"> <sect1 id="xfunc">
...@@ -814,15 +814,15 @@ CREATE FUNCTION square_root(double precision) RETURNS double precision ...@@ -814,15 +814,15 @@ CREATE FUNCTION square_root(double precision) RETURNS double precision
<para> <para>
To know how to write C-language functions, you need to know how To know how to write C-language functions, you need to know how
PostgreSQL internally represents base data types and how they can <productname>PostgreSQL</productname> internally represents base
be passed to and from functions. data types and how they can be passed to and from functions.
Internally, <productname>PostgreSQL</productname> regards a Internally, <productname>PostgreSQL</productname> regards a base
base type as a <quote>blob of memory</quote>. The user-defined type as a <quote>blob of memory</quote>. The user-defined
functions that you define over a type in turn define the functions that you define over a type in turn define the way that
way that <productname>PostgreSQL</productname> can operate <productname>PostgreSQL</productname> can operate on it. That
on it. That is, <productname>PostgreSQL</productname> will is, <productname>PostgreSQL</productname> will only store and
only store and retrieve the data from disk and use your retrieve the data from disk and use your user-defined functions
user-defined functions to input, process, and output the data. to input, process, and output the data.
</para> </para>
<para> <para>
...@@ -1249,13 +1249,14 @@ CREATE FUNCTION concat_text(text, text) RETURNS text ...@@ -1249,13 +1249,14 @@ CREATE FUNCTION concat_text(text, text) RETURNS text
<para> <para>
Here, <replaceable>DIRECTORY</replaceable> stands for the Here, <replaceable>DIRECTORY</replaceable> stands for the
directory of the shared library file (for instance the PostgreSQL directory of the shared library file (for instance the
tutorial directory, which contains the code for the examples used <productname>PostgreSQL</productname> tutorial directory, which
in this section). (Better style would be to use just contains the code for the examples used in this section).
<literal>'funcs'</> in the <literal>AS</> clause, after having (Better style would be to use just <literal>'funcs'</> in the
added <replaceable>DIRECTORY</replaceable> to the search path. <literal>AS</> clause, after having added
In any case, we may omit the system-specific extension for a <replaceable>DIRECTORY</replaceable> to the search path. In any
shared library, commonly <literal>.so</literal> or case, we may omit the system-specific extension for a shared
library, commonly <literal>.so</literal> or
<literal>.sl</literal>.) <literal>.sl</literal>.)
</para> </para>
...@@ -1483,15 +1484,16 @@ concat_text(PG_FUNCTION_ARGS) ...@@ -1483,15 +1484,16 @@ concat_text(PG_FUNCTION_ARGS)
<para> <para>
Before we turn to the more advanced topics, we should discuss Before we turn to the more advanced topics, we should discuss
some coding rules for PostgreSQL C-language functions. While it some coding rules for <productname>PostgreSQL</productname>
may be possible to load functions written in languages other than C-language functions. While it may be possible to load functions
C into <productname>PostgreSQL</productname>, this is usually written in languages other than C into
difficult (when it is possible at all) because other languages, <productname>PostgreSQL</productname>, this is usually difficult
such as C++, FORTRAN, or Pascal often do not follow the same (when it is possible at all) because other languages, such as
calling convention as C. That is, other languages do not pass C++, FORTRAN, or Pascal often do not follow the same calling
argument and return values between functions in the same way. convention as C. That is, other languages do not pass argument
For this reason, we will assume that your C-language functions and return values between functions in the same way. For this
are actually written in C. reason, we will assume that your C-language functions are
actually written in C.
</para> </para>
<para> <para>
......
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