On Fri, 24 Oct 2003, Jim Cromie wrote:

> Jim Cromie wrote:
> 
>  From reading the DBI pod, its apparent that the specific capabilities 
> of ? vary:
> 
>     some DBDs support them as column values only,
>     most dont allow them as table-names,
>     most require value to match entire column
>        (ie colA like ?   BUT NOT  colA like 'foo?')
> 
>     do any allow 'where colA in ( ?foolist )   # ie ?foolist is 
> (notionally) an array
> 
> If you know what a given DBD does, please say so - Im happy to compile 
> it into
> a succinct capabilities matrix,
> 
> so Ill start:
> 
> module    col-vals-only    tablenames    partial-vals    in( ?foolist)
> DBD::CSV:     yes            no             no              no
> 
> feel free to add new columns, or improve the precision/description of 
> these capabilities.
> If nothing else, it will be good doc.


DBD::mysql:  

DBD::mysql does the placeholder parsing in the DBD driver so you can
substitue a placeholder for anything, including the whole of the SQL
statement if you so desire (with a little bit of trickery (such as binding
as an integer)).  DBD::mysql 3.0 will have support for named place holder
and server-side prepared statements; however, the named placeholder
parsing will be done inside of the DBD which will xlate the statement into
something that the mysql server can handle, and in this case, placeholder
will only be able to be used where the mysql server allows them.


DBD::Pg:

Same as above except that the beta version, 2.31_5,
already has support for named placeholers and support for server-side
prepare (disabled for right now pending the addition of an attribute to
enable it).


Rudy.

Reply via email to