summaryrefslogtreecommitdiff
path: root/doc/src
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2008-04-21 00:26:47 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2008-04-21 00:26:47 +0000
commit8472bf7a73487b0535c95e299773b882f7523463 (patch)
treef8cf1ad8529e819aec4d93cdcbf848996f4e3680 /doc/src
parentbe939544a68f852107c912da2f35f5d36958deb2 (diff)
Allow float8, int8, and related datatypes to be passed by value on machines
where Datum is 8 bytes wide. Since this will break old-style C functions (those still using version 0 calling convention) that have arguments or results of these types, provide a configure option to disable it and retain the old pass-by-reference behavior. Likewise, provide a configure option to disable the recently-committed float4 pass-by-value change. Zoltan Boszormenyi, plus configurability stuff by me.
Diffstat (limited to 'doc/src')
-rw-r--r--doc/src/sgml/installation.sgml36
1 files changed, 35 insertions, 1 deletions
diff --git a/doc/src/sgml/installation.sgml b/doc/src/sgml/installation.sgml
index e0de70e91f1..0fad43d701c 100644
--- a/doc/src/sgml/installation.sgml
+++ b/doc/src/sgml/installation.sgml
@@ -1,4 +1,4 @@
-<!-- $PostgreSQL: pgsql/doc/src/sgml/installation.sgml,v 1.306 2008/03/30 04:08:15 neilc Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/installation.sgml,v 1.307 2008/04/21 00:26:44 tgl Exp $ -->
<chapter id="installation">
<title><![%standalone-include[<productname>PostgreSQL</>]]>
@@ -1033,6 +1033,40 @@ su - postgres
</varlistentry>
<varlistentry>
+ <term><option>--disable-float4-byval</option></term>
+ <listitem>
+ <para>
+ Disable passing float4 values <quote>by value</>, causing them
+ to be passed <quote>by reference</> instead. This option costs
+ performance, but may be needed for compatibility with old
+ user-defined functions that are written in C and use the
+ <quote>version 0</> calling convention. A better long-term
+ solution is to update any such functions to use the
+ <quote>version 1</> calling convention.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--disable-float8-byval</option></term>
+ <listitem>
+ <para>
+ Disable passing float8 values <quote>by value</>, causing them
+ to be passed <quote>by reference</> instead. This option costs
+ performance, but may be needed for compatibility with old
+ user-defined functions that are written in C and use the
+ <quote>version 0</> calling convention. A better long-term
+ solution is to update any such functions to use the
+ <quote>version 1</> calling convention.
+ Note that this option affects not only float8, but also int8 and some
+ related types such as timestamp.
+ On 32-bit platforms, <option>--disable-float8-byval</> is the default
+ and it is not allowed to select <option>--enable-float8-byval</>.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
<term><option>--disable-segmented-files</option></term>
<listitem>
<para>