Re: Escaping placeholders

Tim Bunce <[email protected]>
Newsgroups gmane.comp.lang.perl.modules.dbi.general,gmane.comp.lang.perl.modules.dbix-class
Message-ID <[email protected]>
On Sat, Dec 20, 2014 at 01:14:29PM -0800, Jonathan Leffler wrote:
>    Many, many years ago, DBD::Informix had to give up on the DBI-provided parsing for placeholders because
>    there were too many contexts in which it was wrong for Informix.  It may have improved since then, but:
> 
>          INSERT INTO SomeTable(DateTimeCol)
>            VALUES(DATETIME(2014-12-31 23:59:59) YEAR TO SECOND);

>    I think I raised this as an issue back in the 1996-1998 timeframe (I said 'many years ago' and meant
>    it).  I'd have to dig through my release notes to be more precise.  Informix only supports natively the
>    `?` placeholders.  It doesn't yet have the complexities introduced by the PostgreSQL operators.
> 
>    I don't know whether this can be handled at all.  It may be that DBD::Informix has to stay out in
>    isolation but it would be nice if it wasn't necessary.

The `?` placeholders are 'standard' (for some definition) so DBD::Informix
isn't really 'in isolation'. There are quite a few drivers that only
support `?` placeholders.

In theory, if this proposal goes ahead, and is applied to `:` placeholders
as seems likely, then you'd be able to write the above as:

           INSERT INTO SomeTable(DateTimeCol)
             VALUES(DATETIME(2014-12-31 23\:59\:59) YEAR TO SECOND);

Tim.
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.