use mro 'c3';
use List::Util 'first';
use Try::Tiny;
-use DBIx::Class::Storage::DBI::SQLAnywhere::Cursor ();
use namespace::clean;
__PACKAGE__->mk_group_accessors(simple => qw/_identity/);
sub _prefetch_autovalues {
my $self = shift;
- my ($source, $to_insert) = @_;
+ my ($source, $colinfo, $to_insert) = @_;
my $values = $self->next::method(@_);
- my $colinfo = $source->columns_info;
-
my $identity_col =
first { $colinfo->{$_}{is_auto_increment} } keys %$colinfo;
# user might have an identity PK without is_auto_increment
+#
+# FIXME we probably should not have supported the above, see what
+# does it take to move away from it
if (not $identity_col) {
foreach my $pk_col ($source->primary_columns) {
if (
);
}
-sub _svp_begin {
+sub _exec_svp_begin {
my ($self, $name) = @_;
- $self->_get_dbh->do("SAVEPOINT $name");
+ $self->_dbh->do("SAVEPOINT $name");
}
# can't release savepoints that have been rolled back
-sub _svp_release { 1 }
+sub _exec_svp_release { 1 }
-sub _svp_rollback {
+sub _exec_svp_rollback {
my ($self, $name) = @_;
- $self->_get_dbh->do("ROLLBACK TO SAVEPOINT $name")
+ $self->_dbh->do("ROLLBACK TO SAVEPOINT $name")
}
1;