my $schema;
-foreach my $info (@info) {
- my ($dsn, $user, $pass) = @$info;
+foreach my $conn_idx (0..1) {
+ my ($dsn, $user, $pass) = @{ $info[$conn_idx] };
next unless $dsn;
- $schema = DBICTest::Schema->connect($dsn, $user, $pass);
+ $schema = DBICTest::Schema->connect($dsn, $user, $pass, {
+ auto_savepoint => 1
+ });
my $dbh = $schema->storage->dbh;
my $sg = Scope::Guard->new(\&cleanup);
my $new = $ars->create({ name => 'foo' });
ok($new->artistid, "Auto-PK worked");
+# test savepoints
+# eval {
+# $schema->txn_do(sub {
+# eval {
+# $schema->txn_do(sub {
+# $ars->create({ name => 'in_savepoint' });
+# die "rolling back savepoint";
+# });
+# };
+# ok ((not $ars->search({ name => 'in_savepoint' })->first),
+# 'savepoint rolled back');
+# $ars->create({ name => 'in_outer_txn' });
+# die "rolling back outer txn";
+# });
+# };
+# ok ((not $ars->search({ name => 'in_outer_txn' })->first),
+# 'outer txn rolled back');
+
# test explicit key spec
$new = $ars->create ({ name => 'bar', artistid => 66 });
is($new->artistid, 66, 'Explicit PK worked');
# test blobs (stolen from 73oracle.t)
SKIP: {
- eval { $dbh->do('DROP TABLE bindtype_test') };
+ eval { $dbh->do('DROP TABLE bindtype_test2') };
$dbh->do(q[
- CREATE TABLE bindtype_test
+ CREATE TABLE bindtype_test2
(
id INT PRIMARY KEY,
bytea INT,
)
]);
- last SKIP; # XXX blob ops cause segfaults!
-
my %binstr = ( 'small' => join('', map { chr($_) } ( 1 .. 127 )) );
$binstr{'large'} = $binstr{'small'} x 1024;
my $maxloblen = length $binstr{'large'};
local $dbh->{'LongReadLen'} = $maxloblen;
- my $rs = $schema->resultset('BindType');
+ my $rs = $schema->resultset('BindType2');
my $id = 0;
foreach my $type (qw( a_blob a_clob )) {