Index: Slim/Schema.pm =================================================================== --- Slim/Schema.pm (revision 31006) +++ Slim/Schema.pm (working copy) @@ -274,11 +274,15 @@ # For custom exceptions $class->storage_type('Slim::Schema::Storage'); + # Don't use autocommit mode for the scanner. + # Needs to be set here as setting dbh->{'AutoCommit'} = 0 later + # confusing the transaction nesting logic. + my $AutoCommit = (main::SCANNER ? 0 : 1); my $on_connect_do = $sqlHelperClass->on_connect_do(); $class->connection( $dsn || $source, $username, $password, { RaiseError => 1, - AutoCommit => 1, + AutoCommit => $AutoCommit, PrintError => 0, Taint => 1, on_connect_do => [ Index: scanner.pl =================================================================== --- scanner.pl (revision 31006) +++ scanner.pl (working copy) @@ -236,9 +236,6 @@ main::INFOLOG && $log->info("Squeezebox Server Scanner done init...\n"); - # Take the db out of autocommit mode - this makes for a much faster scan. - Slim::Schema->storage->dbh->{'AutoCommit'} = 0; - my $scanType = 'SETUP_STANDARDRESCAN'; if ($wipe) { --------------020502080403070605040408--