Fix silent failures on autoinc PK without an is_auto_increment attribute
[dbsrgits/DBIx-Class.git] / t / 72pg.t
index 6c2545f..1f0cc07 100644 (file)
--- a/t/72pg.t
+++ b/t/72pg.t
@@ -79,8 +79,13 @@ for my $use_insert_returning ($test_server_supports_insert_returning
   : (0)
 ) {
 
-  no warnings qw/once redefine/;
+  # doing it here instead of the actual class to keep the main thing under dfs
+  # and thus keep catching false positives (so far none, but one never knows)
+  mro::set_mro("DBICTest::Schema", "c3");
+
   my $old_connection = DBICTest::Schema->can('connection');
+
+  no warnings qw/once redefine/;
   local *DBICTest::Schema::connection = set_subname 'DBICTest::Schema::connection' => sub {
     my $s = shift->$old_connection(@_);
     $s->storage->_use_insert_returning ($use_insert_returning);
@@ -191,6 +196,9 @@ for my $use_insert_returning ($test_server_supports_insert_returning
     __PACKAGE__->column_info_from_storage(1);
     __PACKAGE__->set_primary_key('id');
 
+    # FIXME - for some reason column_info_from_storage does not properly find
+    # the is_auto_increment setting...
+    __PACKAGE__->column_info('id')->{is_auto_increment} = 1;
   }
   SKIP: {
     skip "Need DBD::Pg 2.9.2 or newer for array tests", 4 if $DBD::Pg::VERSION < 2.009002;