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