hi

[please CC as i'm not on the list]

DBI has a real problem: input/output of date/time/timestamp values. each driver 
handles it different. 
most of the drivers returns string, but all in a different format. this is where DBI 
should set a standard.

in DBD-InterBase we now have a very flexible interface. for input a string is directly 
passed to the interbase
parser. for output we use strftime() to format the date/time/timestamp string. when 
preparing a query one can
specify the output format with the attributes ib_dateformat, ib_timeformat, 
ib_timestampformat. and if one 
specifies 'TM' for the format string then DBD returns a refrerence to an array with 
the same fields as perl's 
localtime() function does (it is all the struct tm members). for input it's the same. 
if a reference to an array
is detected that has enough element it is used to fill a struct tm.

now i'd like to see something similar to that in other DBDs. DBI should set a standard 
here to allow one
to easly change the underlying database w/o changing to much in scripts. DBI means 
Database independent
interface but it is not for date/time values.

may be there should be an attribute to dbh or an attribute for prepare or whatever. 
arrayref for all DBD
would be very nice. it doesn't need to be like localtime(), something like
    (year, month, day, hour, minute, second, fraction)
would also do.


regards
-daniel

Reply via email to