Description
Currently in REPEATABLE READ isolation level at the store level only those rows that
qualify are locked until end of transaction. Those that don't qualify while store is processing
a scan are locked while being inspected and then the lock is released immediately. Store
allows for AND and OR simple comparisons (<, <=, ==, >=, >) to be pushed down, but
many other sorts of qualificaiton only gets done at the upper SQL layer.
Currently any row returned from store will remain locked under repeatable read until end of transaction.
This includes those rows that are subsequently disqualified by the SQL layer.
To address this a new interface would have to be created to allow the SQL layer to indicate to store
that a row did not qualify and store could then unlock it.
Attachments
Issue Links
- is related to
-
DERBY-6300 row locks incorrectly taken for rows that do not match SELECT predicate
- Closed