DBD-Pg Placeholder usage in v 1.49

Max Pyziur <[email protected]>
Newsgroups gmane.comp.db.postgresql.interfaces
Message-ID <[email protected]>
Greetings,

After having used DBD-PG-1.31 on Fedora Core 2 w/ perl 5.8.3 for a number 
of years, I've begun porting my work to
both Fedora 8 and Ubuntu where the DBD-Pg versions are 1.49. I've run into 
the seemingly often-visited placeholder issue.

Reviewing the README file, there is the following:
##############
To change your queries, make sure that the type of each placholder can
be determined by the PostgreSQL parser. So instead of:

   SELECT ?

use something like:

   SELECT ?::int

To turn off server-side prepares completely (with a loss of some 
performance and features), do this at the top of your scripts:

$dbh->{pg_server_prepare} = 0;

This can also be set for individual queries at the statment handle level: 
see the documentation for more details.

##############

I would like to follow the first recommendation rather than the first one. 
To that end, how would the following be modified, where the first 
placeholder is a text type, the second a date type, the third an integer 
type, and the fourth a date type.


FROM prices aa, oi_vol_tmp bb
WHERE aa.pr_date = bb.pr_date
AND symbol = ?
AND aa.pr_date BETWEEN date ? - integer ? AND ?

I've tried using:
AND aa.pr_date BETWEEN date ?::date - integer ?::int AND ?::date
with no success.

I've also tried looking for the appropriate documentation and haven't 
found any yet. I would appreciate suggestions as to where to look.


Max Pyziur
[email protected]

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

               http://archives.postgresql.org
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.