[Dbix-class] Problems using Oracle under DBIx::Class

Jason Crummack jason.crummack at easysoft.com
Mon Aug 21 17:51:34 CEST 2006


Hi,

Firstly the current version of Storage/DBI/Oracle.pm won't make test on 
either Oracle XE or 10.2, the offending line is in columns_info_for, I 
didn't think $self->next::method needs to pass $self in the arguments list?

Secondly at Matt's request I've been looking into providing test cases 
to prove the Oracle layer against case sensitive table names, but 
unfortunately I'm having problems getting past the columns_info_for code.

If the table name is case sensitive (or a reserved word) then the 
uppercase code in columns_info_for (DBI/Oracle.pm) shouldn't be done, 
the table name should be passed to DBD::Oracle as is.

The other problem I've seen (which is probably a side effect of the 
uppercasing) is that the column_info call can return different datasets 
for the same table, the table I used was the artist table (t/73oracle.t) 
if column_info runs successfully all column names are returned uppercase 
and datatypes match initial creation types but if column_info isn't 
returned and the select * from table where 1 = 0 runs column names are 
returned in lowercase and certain datatype names are changed (number 
becomes decimal).

Which drivers use the select * from table where 1=0 code intentionally, 
or is it simply a catch all for failing column_info calls?

Jason Crummack
Easysoft Limited




More information about the Dbix-class mailing list