WL#1193: Consistent Read a la InnoDB and Oracle

Affects: Server-7.1   —   Status: Un-Assigned

To make it easier for MySQL developers to get used to working with
MySQL Cluster it is desirable to have a consistency model which
is similar to something already existing in MySQL. Since the consistency
model used by InnoDB also is the model used by Oracle.

The idea is that when using Isolation Level = READ COMMITTED that all
select statements return data which as defined at the start of the 
transaction.

In NDB this means that one adds a linked list of old tuples to the current
which all are marked with a timestamp.

The challenges with this scheme in NDB is at least two
1) The timestamp has to be some sort of Lamport clock which hardly fits in
less than 8 bytes. Also needs to consider user requirements to fully understand
requirements on the Lamport clock.

2) Even in Oracle the faultcode ORA-1551 is well known and for NDB it becomes
even worse since we keep the old versions still in memory. ORA-1551 means
essentially out-of-memory.

One possibility is
that in some cases one only provides this functionality per query and not
per transaction. Long-running transactions and this feature is not the best of
friends.

One needs to consider if all tables should support or if some sort of 
choice should exist.