[webkit-changes] [WebKit/WebKit] 7833f1: SQLiteStorageArea should start new transaction whe...
Sihui
noreply at github.com
Tue Feb 7 10:14:31 PST 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 7833f1f216eb8dd59c03ed213fc49f105f6f94a2
https://github.com/WebKit/WebKit/commit/7833f1f216eb8dd59c03ed213fc49f105f6f94a2
Author: Sihui Liu <sihui_liu at apple.com>
Date: 2023-02-07 (Tue, 07 Feb 2023)
Changed paths:
M Source/WebCore/platform/sql/SQLiteTransaction.h
M Source/WebKit/NetworkProcess/storage/SQLiteStorageArea.cpp
Log Message:
-----------
SQLiteStorageArea should start new transaction when the previous one is rolled back by sqlite
https://bugs.webkit.org/show_bug.cgi?id=251764
rdar://105061923
Reviewed by Chris Dumez.
When debugging storage_local_setitem_quotaexceedederr.window.html failure, I found SQLiteStorageArea does not start new
transaction after SQLITE_FULL error, which means it would create an implicit transaction for each statement. To fix
this, this patch makes startTransactionIfNecessary() check whether existing transaction is already rolled back. If the
transaction is rolled back, it should start a new transaction.
* Source/WebCore/platform/sql/SQLiteTransaction.h:
* Source/WebKit/NetworkProcess/storage/SQLiteStorageArea.cpp:
(WebKit::SQLiteStorageArea::startTransactionIfNecessary):
Canonical link: https://commits.webkit.org/259966@main
More information about the webkit-changes
mailing list