Re: JDBC 7.4 to 8.1 regression problem

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: JDBC 7.4 to 8.1 regression problem
Дата
Msg-id 21246.1152893701@sss.pgh.pa.us
обсуждение исходный текст
Ответ на JDBC 7.4 to 8.1 regression problem  ("Carsten Friedrich" <carsten@dtecht.com.au>)
Список pgsql-jdbc
"Carsten Friedrich" <carsten@dtecht.com.au> writes:
> I use the following prepared statement:

>     final static String SQL= "SELECT " +
> [...]
>       " WHERE " +
> [...]
>     + "   AND service_date <= ?" +
>       " and service_date > date ? - interval '365 days'; "

The above is broken code, and always has been: the fact that it failed
to malfunction back in 7.4 was purely accidental.  You can only use the
syntax "typename literal" with a literal constant.  Instead of "date ?"
use "?::date", or if you want to be fully SQL-spec-compliant write it
out as "CAST(? AS date)".

Actually, it'd probably be better to use "date_trunc('day', ?)" anyway,
since that's what you're trying to achieve with the cast.

            regards, tom lane

В списке pgsql-jdbc по дате отправления:

Предыдущее
От: "Carsten Friedrich"
Дата:
Сообщение: JDBC 7.4 to 8.1 regression problem
Следующее
От: "jennie browne"
Дата:
Сообщение: Prepared Statement Memory Size