<html>
<head>
<base href="https://bugs.webkit.org/" />
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - Modern IDB: SQLite backend needs to support simultaneous transactions"
href="https://bugs.webkit.org/show_bug.cgi?id=153382#c1">Comment # 1</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - Modern IDB: SQLite backend needs to support simultaneous transactions"
href="https://bugs.webkit.org/show_bug.cgi?id=153382">bug 153382</a>
from <span class="vcard"><a class="email" href="mailto:beidson@apple.com" title="Brady Eidson <beidson@apple.com>"> <span class="fn">Brady Eidson</span></a>
</span></b>
<pre>My planned approach here was to:
1 - Have read-only transactions not actually backed by a SQLiteTransaction
2 - Allow only one writing transaction at a time
3 - Have the writing transaction open a new connection to the SQLiteDatabase, with a begin/end transaction around the write.
I started implementing this but quickly ran into the problem of when the write transaction was finally in progress, the database file was locked and therefore the read-only transactions started throwing "database locked" errors.
I *THINK* there's supposed to be a way around this with some mix of SQLite arguments (Making sure to use WAL mode along with some specific locking modes), but I am going to put this on the back burner for now.
Having "one transaction at a time" gives us parity with Legacy IDB, but Modern IDB is still way-way-way better in every *other* way, so this is not a regression.
Attaching my current patch to maybe revisit later.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>