Subject: | SQL_DRIVER_NAME overly long |
DBD::Interbase 0.48 sets SQLGetInfo()'s SQL_DRIVER_NAME to the full
filename of /my/path/to/perl/lib/DBD/Interbase.pm.
While this is hardly a matter of rigorous standard, the following DBDs
offer shorter examples, more useful IMHO to the human consumer of
SQLGetInfo():
DBD-Oracle-1.23 => "DBD/Oracle.pm"
DBD-mysql-4.013 => "libmyodbc3.so"
DBD-Pg-2.16.0 => "DBD::Pg"
The attached patch follows the DBD::Pg example.
Note that I commend DBD::Interbase for supplying a value at all -- many
common drivers leave this NULL (DBD-SQLite-1.29, DBD-CSV-0.26,
DBD-DBM-0.03, etc.)
Subject: | DBD-InterBase-0.48-SQL_DRIVER_NAME.patch |
diff -up DBD-InterBase-0.48/lib/DBD/InterBase/GetInfo.pm.orig DBD-InterBase-0.48/lib/DBD/InterBase/GetInfo.pm
--- DBD-InterBase-0.48/lib/DBD/InterBase/GetInfo.pm.orig 2010-01-13 23:20:30.000000000 -0600
+++ DBD-InterBase-0.48/lib/DBD/InterBase/GetInfo.pm 2010-01-13 23:23:36.000000000 -0600
@@ -212,7 +212,7 @@ our %info = (
4 => 136446256, # SQL_DRIVER_HENV
# 76 => undef, # SQL_DRIVER_HLIB
# 5 => undef, # SQL_DRIVER_HSTMT
- 6 => $INC{'DBD/InterBase.pm'}, # SQL_DRIVER_NAME
+ 6 => 'DBD::InterBase', # SQL_DRIVER_NAME
77 => '03.52', # SQL_DRIVER_ODBC_VER
7 => $sql_driver_ver, # SQL_DRIVER_VER
136 => 0, # SQL_DROP_ASSERTION