<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&#64;apple.com" title="Brady Eidson &lt;beidson&#64;apple.com&gt;"> <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 &quot;database locked&quot; 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 &quot;one transaction at a time&quot; 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>