[Dbix-class] Escaping placeholders
Tim Bunce
Tim.Bunce at pobox.com
Sat Dec 20 22:17:56 GMT 2014
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.
More information about the DBIx-Class
mailing list