Re: Behavior of parameter holders in query containing a '$1' - Mailing list pgsql-general

From Tom Lane
Subject Re: Behavior of parameter holders in query containing a '$1'
Date
Msg-id 29669.1285710717@sss.pgh.pa.us
Whole thread Raw
In response to Behavior of parameter holders in query containing a '$1'  (Eddy Hahn <EDDYH@CREIGHTONEDWARD.COM>)
List pgsql-general
Eddy Hahn <EDDYH@CREIGHTONEDWARD.COM> writes:
> 1) I'm reading the API documentation and I'm wondering how the client library would handle the following statement

> INSERT INTO test (value1, value2) VALUES ('$1', $1)

> Would it handle it incorrectly and would think that '$1' is the parameter or would it skip it because it know that
it'sa string value encapsulated in ''? 

It should think that that's the literal constant dollarsign-one.  That
will definitely work as expected if the client library is relying on
server-side parameter substitution.  There have been versions of some
client libraries that did their own textual parameter substitution,
before the server-side facility existed.  It's at least theoretically
possible that one of those would've got it wrong, but I've not heard
of actual cases.

> 2) Can $1 be used more then one times for example if you want to use the same value for multiple column value?
> UPDATE test set value1=$1,value2=$1

Sure.

            regards, tom lane

pgsql-general by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: pg_upgrade
Next
From: Jeff Davis
Date:
Subject: Re: Exclusion constraint issue