Re: [w3c/IndexedDB] Simplify transaction starting constraints to match reality (#319)

asutherland approved this pull request.

This is a really fantastic cleanup!

Two thoughts:
1. The more straightforward constraints seem to increase the importance of "created" and the ordering it creates.  At a surface reading, this might suggest there's a global clock across agents and agent clusters and that supersedes any IPC/spec tasks.  We only get into "queue a task" in step 2 of the [lifetime](https://w3c.github.io/IndexedDB/#transaction-created) when starting the transaction.  I'm not sure this demands the full task treatment, but maybe some normative text about the creation order being that as perceived by the underlying implementation task queue?

2. I think it would be helpful for the spec to make it clear that implementations are not required to run non-overlapping read/write transactions in parallel and that indeed, some implementations do not.  For example, we landed a fix in https://github.com/web-platform-tests/wpt/commit/c786945b591097cd07017c1be6e211cc2cbbe24a#diff-9896d580c9b272443f82b9268b2fc226 where a commit() test case was depending on implementations to do this.  It would seem to make sense for this to live around the "These constraints imply the following" section, if not directly in that section.  Phrasing gets tricky with a negation, so maybe just an extra info box like "Note that implementations are not required to run non-overlapping read/write transactions in parallel."



-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/w3c/IndexedDB/pull/319#pullrequestreview-365407320

Received on Thursday, 27 February 2020 04:25:32 UTC