Blame t/06_tran.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 tests => 6;
Packit 723767
use Test::NoWarnings;
Packit 723767
Packit 723767
my $dbh = connect_ok(
Packit 723767
	AutoCommit => 0,
Packit 723767
	RaiseError => 1,
Packit 723767
);
Packit 723767
Packit 723767
ok $dbh->{sqlite_use_immediate_transaction}, "sqlite_use_immediate_transaction is true by default";
Packit 723767
Packit 723767
$dbh->do("CREATE TABLE MST (id, lbl)");
Packit 723767
$dbh->do("CREATE TABLE TRN (no, id, qty)");
Packit 723767
Packit 723767
$dbh->commit;
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
$dbh->do("INSERT INTO TRN VALUES('A', 1, 5)");
Packit 723767
$dbh->do("INSERT INTO TRN VALUES('B', 2, 2)");
Packit 723767
$dbh->do("INSERT INTO TRN VALUES('C', 1, 4)");
Packit 723767
$dbh->do("INSERT INTO TRN VALUES('D', 3, 3)");
Packit 723767
$dbh->rollback;
Packit 723767
Packit 723767
my $sth = $dbh->prepare(
Packit 723767
"SELECT TRN.id AS ID, MST.LBL AS TITLE,
Packit 723767
        SUM(qty) AS TOTAL FROM TRN,MST
Packit 723767
WHERE TRN.ID = MST.ID
Packit 723767
GROUP BY TRN.ID ORDER BY TRN.ID DESC");
Packit 723767
my $rows = $sth->execute();
Packit 723767
ok($rows, "0E0");
Packit 723767
my $names = $sth->{NAME};
Packit 723767
print(join(', ', @$names), "\n");
Packit 723767
while(my $raD = $sth->fetchrow_arrayref()) {
Packit 723767
	print join(":", @$raD), "\n";
Packit 723767
}
Packit 723767
Packit 723767
$dbh->rollback;
Packit 723767
Packit 723767
{
Packit 723767
	my $dbh = connect_ok(
Packit 723767
		AutoCommit => 0,
Packit 723767
		RaiseError => 1,
Packit 723767
		sqlite_use_immediate_transaction => 0,
Packit 723767
	);
Packit 723767
	ok !$dbh->{sqlite_use_immediate_transaction}, "sqlite_use_immediate_transaction is false if you set explicitly";
Packit 723767
}