support for DBD::Firebird
Rafael Kitover [Sat, 9 Apr 2011 20:12:49 +0000 (16:12 -0400)]
Changes
lib/DBIx/Class/Schema/Loader/DBI.pm
lib/DBIx/Class/Schema/Loader/DBI/Firebird.pm [new file with mode: 0644]

diff --git a/Changes b/Changes
index 3f5b608..67166f8 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,5 +1,7 @@
 Revision history for Perl extension DBIx::Class::Schema::Loader
 
+        - support for DBD::Firebird
+
 0.07010  2011-03-04 08:26:31
         - add result_component_map option
 
index c7bf553..5f6a9ea 100644 (file)
@@ -390,7 +390,7 @@ sub _columns_info_for {
         my $type_num = $colinfo->{data_type};
         my $type_name;
         if (defined $type_num && $type_num =~ /^-?\d+\z/ && $dbh->can('type_info')) {
-            my $type_info = $dbh->type_info($type_num);
+            my $type_info = try { $dbh->type_info($type_num) };
             $type_name = $type_info->{TYPE_NAME} if $type_info;
             $colinfo->{data_type} = lc $type_name if $type_name;
         }
diff --git a/lib/DBIx/Class/Schema/Loader/DBI/Firebird.pm b/lib/DBIx/Class/Schema/Loader/DBI/Firebird.pm
new file mode 100644 (file)
index 0000000..b4e02cc
--- /dev/null
@@ -0,0 +1,40 @@
+package DBIx::Class::Schema::Loader::DBI::Firebird;
+
+use strict;
+use warnings;
+use base qw/DBIx::Class::Schema::Loader::DBI::InterBase/;
+use mro 'c3';
+
+our $VERSION = '0.07010';
+
+=head1 NAME
+
+DBIx::Class::Schema::Loader::DBI::Firebird - DBIx::Class::Schema::Loader::DBI
+L<DBD::Firebird> subclass
+
+=head1 DESCRIPTION
+
+This is an empty subclass of L<DBIx::Class::Schema::Loader::DBI::InterBase> for
+use with L<DBD::Firebird>, see that driver for details.
+
+See L<DBIx::Class::Schema::Loader> and L<DBIx::Class::Schema::Loader::Base> for
+general Schema::Loader information.
+
+=head1 SEE ALSO
+
+L<DBIx::Class::Schema::Loader>, L<DBIx::Class::Schema::Loader::Base>,
+L<DBIx::Class::Schema::Loader::DBI>, L<DBIx::Class::Schema::Loader::DBI::InterBase>
+
+=head1 AUTHOR
+
+See L<DBIx::Class::Schema::Loader/AUTHOR> and L<DBIx::Class::Schema::Loader/CONTRIBUTORS>.
+
+=head1 LICENSE
+
+This library is free software; you can redistribute it and/or modify it under
+the same terms as Perl itself.
+
+=cut
+
+1;
+# vim:et sw=4 sts=4 tw=0: