pg.ddx.io  pgsql-interfaces@postgresql.org mailing list archive  
help / color / mirror / Atom feed
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



view thread (2+ messages)  latest in thread

Message-ID: <Pine.LNX.4.60.0801161114120.12755@brama.com>
Permalink:  ../Pine.LNX.4.60.0801161114120.12755@brama.com/
Also on:    postgresql.org/message-id/Pine.LNX.4.60.0801161114120.12755@brama.com

 · 

reply

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