Skip Menu |

This queue is for tickets about the DBD-SQLite CPAN distribution.

Report information
The Basics
Id: 67843
Status: resolved
Priority: 0/
Queue: DBD-SQLite

People
Owner: Nobody in particular
Requestors: rkitover [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: 1.32_02
Fixed in: (no value)



Subject: savepoint rollback alters AC state
Attached is a test that illustrates this behavior.
Subject: dbd_sqlite_savepoint_rollback_test.patch
Index: t/45_savepoints.t =================================================================== --- t/45_savepoints.t (revision 0) +++ t/45_savepoints.t (revision 0) @@ -0,0 +1,44 @@ +#!/usr/bin/perl + +use strict; +BEGIN { + $| = 1; + $^W = 1; +} + +use t::lib::Test; +use Test::More tests => 3; +use Test::NoWarnings; + +my $dbh = connect_ok( + AutoCommit => 1, + RaiseError => 1, +); + +$dbh->begin_work; + +$dbh->do("CREATE TABLE MST (id, lbl)"); + +$dbh->do("SAVEPOINT svp_0"); + +$dbh->do("INSERT INTO MST VALUES(1, 'ITEM1')"); +$dbh->do("INSERT INTO MST VALUES(2, 'ITEM2')"); +$dbh->do("INSERT INTO MST VALUES(3, 'ITEM3')"); + +my $ac = $dbh->{AutoCommit}; + +ok((not $ac), 'AC != 1 inside txn'); + +{ + local $dbh->{AutoCommit} = $dbh->{AutoCommit}; + + $dbh->do("ROLLBACK TRANSACTION TO SAVEPOINT svp_0"); + + is $dbh->{AutoCommit}, $ac, + "rolling back savepoint doesn't alter AC"; +} + +is $dbh->selectrow_array("SELECT COUNT(*) FROM MST"), 0, + "savepoint rolled back"; + +$dbh->rollback;
Sorry for the delay. Patched and fixed in the trunk. Thanks. On 2011-4-29 Fri 14:55:59, RKITOVER wrote: Show quoted text
> Attached is a test that illustrates this behavior.
DBD::SQLite 1.32_03 with this fix is released. Thanks. On 2011-5-10 Tue 23:14:46, ISHIGAKI wrote: Show quoted text
> Sorry for the delay. Patched and fixed in the trunk. Thanks. > > On 2011-4-29 Fri 14:55:59, RKITOVER wrote:
> > Attached is a test that illustrates this behavior.
>