RE: BUG #15171: JDBC TIMESTAMP WITH TIME ZONE PSQLException When Using Substitution Parameter

From: "Carlsen, Len" <len(dot)carlsen(at)ubc(dot)ca>
To: 'Tom Lane' <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: "pgsql-bugs(at)lists(dot)postgresql(dot)org" <pgsql-bugs(at)lists(dot)postgresql(dot)org>
Subject: RE: BUG #15171: JDBC TIMESTAMP WITH TIME ZONE PSQLException When Using Substitution Parameter
Date: 2018-04-26 16:25:01
Message-ID: E127AFCAB7F96F4F82436851BC261D3201570AEEA7@S-ITSV-MBX07P.ead.ubc.ca
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Hi Tom,

Thanks for your quick response. I'll give that a try.

Len

-----Original Message-----
From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Sent: Tuesday, April 24, 2018 4:22 PM
To: Carlsen, Len <len(dot)carlsen(at)ubc(dot)ca>
Cc: pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: BUG #15171: JDBC TIMESTAMP WITH TIME ZONE PSQLException When Using Substitution Parameter

=?utf-8?q?PG_Bug_reporting_form?= <noreply(at)postgresql(dot)org> writes:
> Executing this query works fine: 'SELECT TIMESTAMP WITH TIME ZONE
> '2018-04-17 12:00:00.0-07'"
> But executing query "SELECT TIMESTAMP WITH TIME ZONE ?" with a
> substitution parameter results in a PSQLException syntax error.

Yes. A parameter symbol is not a syntactic equivalent to a string literal; it's more nearly like a variable. You can't say "typename variable" either. You need to write it like a cast, ie "variable::typename", or "CAST(variable AS typename)" if you want to be pedantically standards-compliant. So what you want is "SELECT ?::TIMESTAMP WITH TIME ZONE".

(Allowing the non-orthogonal, non-extensible syntax "typename string-literal" was not one of the SQL committee's better decisions IMV. We're stuck with supporting it, but I'd suggest avoiding it in favor of cast-like notation, which works in a much wider variety of
cases.)

regards, tom lane

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Bruce Momjian 2018-04-26 18:57:23 Re: Fwd: [BUGS] pg_trgm word_similarity inconsistencies or bug
Previous Message Michael Meskes 2018-04-26 16:20:43 Re: BUG #15176: ecpg generation error