[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