accessing driver prefix ...
Jens Rehsack <[email protected]>
| Newsgroups | gmane.comp.lang.perl.modules.dbi.sybase.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi Tim, as talked in IRC I'd like to submit attached patch to DBI.pm It's primarily for common method injections (and registration) for DBD::File based drivers. Further, it seems I found 3 more DBD's not listed in $dbd_prefix_registry ... Jens
DBI-driver-registry.patch
(application/octet-stream, 1.5 KB)
Index: DBI.pm
===================================================================
--- DBI.pm (revision 14093)
+++ DBI.pm (working copy)
@@ -342,7 +342,9 @@
pg_ => { class => 'DBD::Pg', },
pgpp_ => { class => 'DBD::PgPP', },
plb_ => { class => 'DBD::Plibdata', },
+ po_ => { class => 'DBD::PO', },
proxy_ => { class => 'DBD::Proxy', },
+ ram_ => { class => 'DBD::RAM', },
rdb_ => { class => 'DBD::RDB', },
sapdb_ => { class => 'DBD::SAP_DB', },
solid_ => { class => 'DBD::Solid', },
@@ -350,6 +352,7 @@
sql_ => { class => 'SQL::Statement', },
sqlite_ => { class => 'DBD::SQLite', },
syb_ => { class => 'DBD::Sybase', },
+ sys_ => { class => 'DBD::Sys', },
tdat_ => { class => 'DBD::Teradata', },
tmpl_ => { class => 'DBD::Template', },
tmplss_ => { class => 'DBD::TemplateSS', },
@@ -363,6 +366,10 @@
yaswi_ => { class => 'DBD::Yaswi', },
};
+my %dbd_class_registry = map { $dbd_prefix_registry->{$_}->{class} => { prefix => $_ } }
+ grep { exists $dbd_prefix_registry->{$_}->{class} }
+ keys %{$dbd_prefix_registry};
+
sub dump_dbd_registry {
require Data::Dumper;
local $Data::Dumper::Sortkeys=1;
@@ -968,6 +975,11 @@
*internal = \&DBD::Switch::dr::driver;
+sub driver_prefix {
+ my ($class, $driver) = @_;
+ return $dbd_class_registry{$driver}->{prefix} if exists $dbd_class_registry{$driver};
+ return;
+}
sub available_drivers {
my($quiet) = @_;