Subject: | Use of RootClass in DBI not handled |
By default when you call DBI->connect you get back a DBI::db object.
The DBI documentation mentions that you can pass a RootClass option to
get back a more specific type, in this case RootClass => 'DBD::Sybase'
so it will return DBD::Sybase::db.
However, not all of DBD::Sybase works under this option. In particular
using a prepared statement will fail with
Can't locate object method "DELETE" via package "DBD::Sybase::st"
and a core dump. It may be that it used to work but has rotted. I
suggest that the code should work when used as DBD::Sybase::db and
DBD::Sybase::st instead of plain DBI::db and DBI::st, perhaps by adding
stub methods as necessary. The test suite should run the code with and
without the RootClass option.
This matters because I would like to add a new method to
DBD::Sybase::db, which I will describe in a separate bug report.