On Sat, 28 Nov 2009 00:43:48 +0000, Tim Bunce <tim.bu...@pobox.com>
wrote:

> On Fri, Nov 27, 2009 at 06:03:29PM -0000, Greg Sabino Mullane wrote:
> > 
> > > I'm mostly settled on DBIstcf_STRICT _not_ being the default.
> > > So 'loosely typed' will be the default and people who want an error
> > > if the type can't be cast safely will need to use StrictlyTyped => 1.
> > >                                                                      
> > > I'm (slightly) open to persuasion, but that seems to fit the general 
> > > philosophy of perl and the DBI better.  It also makes transition easier
> > > for anyone who happens to have code that calls bind_column with an SQL 
> > > type.
> > 
> > I'd opine that since we're dealing with databases holding Important Things, 
> > the default should be to throw an error and make people flip a switch       
> > to get lax mode.
> 
> Umm, if the database holds Important Things one could opine that perl
> should trust the Important Things that are already in the database.
> We can argue it either way.
> 
> A compromise might be to default to strict (for SQL_INTEGER and
> SQL_DOUBLE) but make SQL_NUMERIC immune from strict.
> 
> > > o Although my primary impetus for doing this is I need it in DBD::Oracle
> > > I would plan to do something similar in DBD::ODBC once this stuff is
> > > committed.
> > 
> > Does anyone know if there are other databases that have mapping issues with
> > integers and Perlish integers other than Oracle? Just curious, as I only
> > personally know how a handful deal with ints internally.
> 
> DBD::SQLite returns only strings, along with most of the pure-perl
> drivers, like DBD::CSV.

The plan is still in my head to convert PV("1"\0) to IV(1) if the field
type is numeric on fetch. Low priority though. Probably needs some work
in DBD::File

> Which makes me wonder if $sth->_set_fbav(\...@row), which is used by most
> pure-perl drivers to store each row, should call sql_type_cast()
> automatically.
> 
> Tim.


-- 
H.Merijn Brand  http://tux.nl      Perl Monger  http://amsterdam.pm.org/
using & porting perl 5.6.2, 5.8.x, 5.10.x, 5.11.x on HP-UX 10.20, 11.00,
11.11, 11.23, and 11.31, OpenSuSE 10.3, 11.0, and 11.1, AIX 5.2 and 5.3.
http://mirrors.develooper.com/hpux/           http://www.test-smoke.org/
http://qa.perl.org      http://www.goldmark.org/jeff/stupid-disclaimers/

Reply via email to