Refactor the version handling
[dbsrgits/DBIx-Class.git] / lib / DBIx / Class / Storage / DBI / InterBase.pm
index d2585ed..a0f934a 100644 (file)
@@ -2,7 +2,7 @@ package DBIx::Class::Storage::DBI::InterBase;
 
 use strict;
 use warnings;
-use base qw/DBIx::Class::Storage::DBI::InsertReturning/;
+use base qw/DBIx::Class::Storage::DBI/;
 use mro 'c3';
 use List::Util();
 
@@ -29,6 +29,8 @@ L</connect_call_datetime_setup>.
 
 =cut
 
+sub _supports_insert_returning { 1 }
+
 sub _sequence_fetch {
   my ($self, $nextval, $sequence) = @_;
 
@@ -153,6 +155,16 @@ sub _set_sql_dialect {
   }
 }
 
+sub _get_server_version {
+  my $self = shift;
+
+  return $self->next::method(@_) if ref $self ne __PACKAGE__;
+
+  local $SIG{__WARN__} = sub {}; # silence warning due to bug in DBD::InterBase
+
+  return $self->next::method(@_);
+}
+
 =head2 connect_call_use_softcommit
 
 Used as: