Re: Prepared statement parameter and timestamp
| От | Kris Jurka |
|---|---|
| Тема | Re: Prepared statement parameter and timestamp |
| Дата | |
| Msg-id | Pine.BSO.4.64.0704091208320.13571@leary.csoft.net обсуждение исходный текст |
| Ответ на | Prepared statement parameter and timestamp ("ste.buffaishere@tin.it" <ste.buffaishere@tin.it>) |
| Ответы |
Re: Prepared statement parameter and timestamp
|
| Список | pgsql-jdbc |
On Tue, 3 Apr 2007, ste.buffaishere@tin.it wrote:
> PreparedStatement ps = conn.prepareStatement(
> "SELECT date_trunc('week', {ts ?})");
> ps.setTimestamp(1, new java.sql.
> Timestamp(
> new java.util.Date().getTime()));
>
> fails miserably with
> org.postgresql.util.PSQLException: ERROR: syntax
> error at or near "$1"
The JDBC driver translates the escape sequence to:
SELECT date_trunc('week', timestamp ?)
but the server can't handle the prefix timestamp cast for anything other
than plain literals, so it doesn't work for the parameter.
I suppose the driver should instead try to rewrite this as:
SELECT date_trunc('week', ?::timestamp)
I'm not sure how much work that would be to do.
Kris Jurka
В списке pgsql-jdbc по дате отправления: