From: Max Pyziur <pyz@brama.com>
To: pgsql-interfaces@postgresql.org
Subject: DBD-Pg Placeholder usage in v 1.49
Date: Wed, 16 Jan 2008 11:16:41 -0500 (EST)
Message-ID: <Pine.LNX.4.60.0801161114120.12755@brama.com> (raw)
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-interfaces@postgresql.org
Cc: pyz@brama.com
Subject: Re: DBD-Pg Placeholder usage in v 1.49
In-Reply-To: <Pine.LNX.4.60.0801161114120.12755@brama.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox