Blame t/45_savepoints.t

Packit 723767
#!/usr/bin/perl
Packit 723767
Packit 723767
use strict;
Packit 723767
BEGIN {
Packit 723767
	$|  = 1;
Packit 723767
	$^W = 1;
Packit 723767
}
Packit 723767
Packit 723767
use lib "t/lib";
Packit 723767
use SQLiteTest;
Packit 723767
use Test::More;
Packit 723767
Packit 723767
BEGIN { requires_sqlite('3.6.8') }
Packit 723767
Packit 723767
plan tests => 5;
Packit 723767
use Test::NoWarnings;
Packit 723767
Packit 723767
my $dbh = connect_ok(
Packit 723767
	AutoCommit => 1,
Packit 723767
	RaiseError => 1,
Packit 723767
);
Packit 723767
Packit 723767
$dbh->begin_work;
Packit 723767
Packit 723767
$dbh->do("CREATE TABLE MST (id, lbl)");
Packit 723767
Packit 723767
$dbh->do("SAVEPOINT svp_0");
Packit 723767
Packit 723767
$dbh->do("INSERT INTO MST VALUES(1, 'ITEM1')");
Packit 723767
$dbh->do("INSERT INTO MST VALUES(2, 'ITEM2')");
Packit 723767
$dbh->do("INSERT INTO MST VALUES(3, 'ITEM3')");
Packit 723767
Packit 723767
my $ac = $dbh->{AutoCommit};
Packit 723767
Packit 723767
ok((not $ac), 'AC != 1 inside txn');
Packit 723767
Packit 723767
{
Packit 723767
	local $dbh->{AutoCommit} = $dbh->{AutoCommit};
Packit 723767
Packit 723767
	$dbh->do("ROLLBACK TRANSACTION TO SAVEPOINT svp_0");
Packit 723767
Packit 723767
	is $dbh->{AutoCommit}, $ac,
Packit 723767
		"rolling back savepoint doesn't alter AC";
Packit 723767
}
Packit 723767
Packit 723767
is $dbh->selectrow_array("SELECT COUNT(*) FROM MST"), 0,
Packit 723767
	"savepoint rolled back";
Packit 723767
Packit 723767
$dbh->rollback;