Skip to content
This repository has been archived by the owner on Dec 7, 2018. It is now read-only.

Cursor Isolation

mdcallag edited this page Nov 26, 2014 · 17 revisions

Notes

  • A consistent read is done using a snapshot.
  • A current read is done using the latest committed version of a row and latest means right now, not the snapshot from statement start.
  • A locking read is done as part of the WHERE clause processing for INSERT ... SELECT, UPDATE, DELETE and SELECT ... FOR UPDATE statements.

Features

  • Read committed and repeatable read will be provided.
  • Read committed and repeatable read provide consistent read for SELECT statements via a snapshot per statement for read committed and snapshot per transaction for repeatable read.
  • TODO -- determine whether locking reads use consistent or current reads.
  • Rows matched for locking-reads are locked until commit or rollback. TODO - determine whether early unlock can be done for rows when the row does not match non-index predicates.

Background

Clone this wiki locally