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  <br...@momjian.us>        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>

Reply via email to