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
pyz@brama.com