| From: | stefano(dot)baccianella(at)gmail(dot)com |
|---|---|
| To: | pgsql-bugs(at)postgresql(dot)org |
| Subject: | BUG #6512: Bug with prepared statement and timestamp + interval |
| Date: | 2012-03-04 00:47:58 |
| Message-ID: | E1S3zcE-0004Rk-Fh@wrigleys.postgresql.org |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-bugs |
The following bug has been logged on the website:
Bug reference: 6512
Logged by: Stefano Baccianella
Email address: stefano(dot)baccianella(at)gmail(dot)com
PostgreSQL version: 9.1.1
Operating system: Windows 7 64bit
Description:
When trying to execute a query like:
SELECT * FROM table WHERE
timestamp_column > $1
AND timestamp_column < $1 + interval '1 hour'
There is no problems, but when executing
SELECT * FROM table WHERE
timestamp_column > $1 - interval '1 hour'
AND timestamp_column < $1 + interval '1 hour'
The database return a error saying the the operator timestamp > interval
does not exist.
Either the query
SELECT * FROM table WHERE
timestamp_column < $1 + interval '1 hour' AND timestamp_column > $1
Does not work
The $1 value is a timestamp (like now() for instance).
But the query
SELECT * FROM table WHERE timestamp_column = $1 OR (
timestamp_column > $1 - interval '1 hour'
AND timestamp_column < $1 + interval '1 hour')
works as expected.
It seems that the analyzer cannot guess the value of a prepared statement
combined with an interval. For my test i'm using PHP without PDO.
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Magnus Hagander | 2012-03-04 11:44:54 | Re: BUG #6502: Missing Link at Version Tracker |
| Previous Message | marko | 2012-03-03 19:19:48 | BUG #6511: calling spi_exec_query from non-main package, results in: couldn't fetch $_TD |