You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If you create a timestamp column and call SQLDescribeCol the display size is returned as 24 but the driver can return 29 characters for some dates:
1998-05-15 00:01:00.100000000
The tests in DBD::ODBC fail because DBD::ODBC believes that 24 and bind with a column length of 25 but then they get data truncation error. I had to work around the problem in DBD::ODBC by adding the following to dbdimp.c:
/\* Workaround bug in Firebird driver that reports timestamps are
display size 24 when in fact it can return the longer
e\.g\., 1998\-05\-15 00:01:00\.100000000 \*/
if \(\(imp\_dbh\-\>driver\_type == DT\_FIREBIRD\) &&
\(fbh\-\>ColSqlType == SQL\_TYPE\_TIMESTAMP\)\) \{
fbh\-\>ColDisplaySize = 30;
\}
which you can find in the subversion trunk for DBD::ODBC.
The display size should be set to 29 or you should not be returning all those digits for the fractional seconds - I cannot say which as I don't really know Firebird.
The text was updated successfully, but these errors were encountered:
Submitted by: Martin J. Evans (bohica)
Is duplicated by ODBC83
If you create a timestamp column and call SQLDescribeCol the display size is returned as 24 but the driver can return 29 characters for some dates:
1998-05-15 00:01:00.100000000
The tests in DBD::ODBC fail because DBD::ODBC believes that 24 and bind with a column length of 25 but then they get data truncation error. I had to work around the problem in DBD::ODBC by adding the following to dbdimp.c:
which you can find in the subversion trunk for DBD::ODBC.
The display size should be set to 29 or you should not be returning all those digits for the fractional seconds - I cannot say which as I don't really know Firebird.
The text was updated successfully, but these errors were encountered: