BUG #1720: placeholders do not work with timestamp prefix

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

BUG #1720: placeholders do not work with timestamp prefix

Wellie Chao

The following bug has been logged online:

Bug reference:      1720
Logged by:          Wellie Chao
Email address:      [hidden email]
PostgreSQL version: 8.0.0
Operating system:   Linux (with kernel 2.4.18)
Description:        placeholders do not work with timestamp prefix
Details:

I am using DBI 1.48 and DBD::Pg 1.42 (the programming language is obviously
Perl) to connect to PostgreSQL 8.0.0. The following statements cause
problems:

2005-06-17 16:21:41 EDT LOG:  statement: select * from reservation_tbl where
room_id = $1 and (start_dt, end_dt) overlaps (timestamp $2, timestamp $3)
2005-06-17 16:21:41 EDT ERROR:  syntax error at or near "$2" at character
93
2005-06-17 16:21:41 EDT LOG:  statement: insert into reservation_tbl
(room_id, account_id, start_dt, end_dt, note) values ($1, $2, timestamp $3,
timestamp $4, $5)
2005-06-17 16:21:41 EDT ERROR:  syntax error at or near "$3" at character
101

I think it is something to do with the "timestamp" keyword interacting badly
with placeholders.

---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: BUG #1720: placeholders do not work with timestamp prefix

Tom Lane-2
"Wellie Chao" <[hidden email]> writes:
> I am using DBI 1.48 and DBD::Pg 1.42 (the programming language is obviously
> Perl) to connect to PostgreSQL 8.0.0. The following statements cause
> problems:

> 2005-06-17 16:21:41 EDT LOG:  statement: select * from reservation_tbl where
> room_id = $1 and (start_dt, end_dt) overlaps (timestamp $2, timestamp $3)
> 2005-06-17 16:21:41 EDT ERROR:  syntax error at or near "$2" at character
> 93

The above is not valid SQL --- the notation "timestamp x" is only legal
when x is a simple string literal.  I think you need to complain to the
DBI or DBD::Pg folk, if their code is generating this query.

                        regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?

               http://archives.postgresql.org