On Mon, Jul 23, 2018 at 09:14:48AM +0000, PG Doc comments form wrote:
> The following documentation comment has been logged on the website:
>
> Page: https://www.postgresql.org/docs/10/static/sql-prepare.html
> Description:
>
> Background can be found on the bugs list (pgsql-bug #15289). It was
> explained that when a prepared statement parameter needs to have its type
> inferred then, should the parameter be used more than once, only the first
> use is considered. (The example in that report is that the type of $1 can be
> inferred from "($1 = col) or ($1 is null)" but not from "($1 is null) or ($1
> = col)".)
>
> The documentation as it stands says only that the parameter's type is
> inferred from the context in which it is used. The "first use only" proviso
> is not mentioned (hence "context" isn't so broad as to consist of all of the
> expressions in which the parameter appears).
I have developed the attached patch to cover what you found.
--
Bruce Momjian <[email protected]> http://momjian.us
EnterpriseDB http://enterprisedb.com
+ As you are, so once was I. As I am, so you will be. +
+ Ancient Roman grave inscription +
diff --git a/doc/src/sgml/ref/prepare.sgml b/doc/src/sgml/ref/prepare.sgml
index 704fb5e..4fe9ab7 100644
--- a/doc/src/sgml/ref/prepare.sgml
+++ b/doc/src/sgml/ref/prepare.sgml
@@ -52,7 +52,7 @@ PREPARE <replaceable class="parameter">name</replaceable> [ ( <replaceable class
parameter data types can optionally be specified. When a
parameter's data type is not specified or is declared as
<literal>unknown</literal>, the type is inferred from the context
- in which the parameter is used (if possible). When executing the
+ in which the parameter is first used (if possible). When executing the
statement, specify the actual values for these parameters in the
<command>EXECUTE</command> statement. Refer to <xref
linkend="sql-execute"/> for more
@@ -104,7 +104,7 @@ PREPARE <replaceable class="parameter">name</replaceable> [ ( <replaceable class
The data type of a parameter to the prepared statement. If the
data type of a particular parameter is unspecified or is
specified as <literal>unknown</literal>, it will be inferred
- from the context in which the parameter is used. To refer to the
+ from the context in which the parameter is first used. To refer to the
parameters in the prepared statement itself, use
<literal>$1</literal>, <literal>$2</literal>, etc.
</para>