There is a bug in DBIx::Class::Row::insert with strating a transaction
every time i insert object with inflated column, for example DateTime.

285:      my %related_stuff = (%{$self->{_relationship_data} || {}},
286:                           %{$self->{_inflated_column} || {}});
                                       ^^^^^^
                                     Why does my DateTime field is a
"related stuff" ? It is object's own property
...

322:      if (keys %related_stuff) {
323:        $rollback_guard ||= $source->storage->txn_scope_guard
324       }
                 ^^^^
                 This starts transaction.




Possible Fix ?

285:      my %related_stuff = %{$self->{_relationship_data} || {}};



Moreover, even if object has _relationship_data i think it's only up
to user to decide whether to use transaction or not.

_______________________________________________
List: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbix-class
IRC: irc.perl.org#dbix-class
SVN: http://dev.catalyst.perl.org/repos/bast/DBIx-Class/
Searchable Archive: http://www.grokbase.com/group/dbix-class@lists.scsys.co.uk

Reply via email to