I found a patch can fix the NULL(alos include "0000-00-00 00:00:00")
TIME column error

http://sourceforge.net/tracker/index.php?func=detail&aid=902490&group_id=43737&atid=437253

Gregory Brown wrote:
> On 12/16/05, cap <capitain / gmail.com> wrote:
> > Thanks for your reply and I appreciate your work for providing this lib
> > for ruby. Now I am promoting ruby in our java team and starting to
> > write some database maintain tool, but I found that dbi has some bugs
> > (error while fetching NULL Time column) and lack of some functions (the
> > DBI::Timestamp doesn't implements == method,
>
> I am running into a lot of issues with this too.
>
> Another annoying thing (correct me if I'm insane), but it seems like
> depending on the DBMS you are using, StatementHandle#rows can be
> inconsistant as to whether it gives you 0 or nil.
>
> My assumption is that StatementHandle#fetchable? is based on one or
> the other (i'm guessing nil)
>  and this means that fetchable? is not platform independant.
>
> For someone who codes on Gentoo(mysql 4.x) and builds his gems on OS X
> (mysql 5) and runs his code on Win2k pro(SQL Server via ODBC), this
> gets annoying quick.
>
> > can't use Row while offline...)
>
> What do you mean by this?

I means using  DBI::Rows after connection of db is closed,change some
value ,then put them back to the database,

>
> If you're looking for a sort of hash / array type access to datarows,
> you could use Ruport to execute your query and then serialize to YAML
> and bring back the DataRows easily.
>
> I imagine this could be done with DBI::Rows too though, cant it?

Yes, I already used my own keyable-array class to store these data... I
just thought making DBI::Row have these function is valuable.