Give an example of a schedule that could be produced at SNAPSHOT isolation in which there are two transactions that execute concurrently but do not have the same snapshot number and do not see the same snapshot of the database. (Hint: the schedule can contain more than two transactions.)

What will be an ideal response?

T1 : r (x) w(x) commit

T2 : r (y) r (x) w(y) commit
T3 : r (y) r (x) commit

T2 and T3 are concurrent but T3 has a snapshot number one greater than that of T2 because T1 committed before T3 started. Thus T3 reads the same value of y that T2 does but reads a different value of x

Computer Science & Information Technology

You might also like to view...

What do you need to add to the class definition to overload operator < so that it applies to the type Money from Display 8.1? Given this extract from the class Money from Display 8.1 of the text.

``` class Money { public: Money( ); // other constructors // other public members int getCents( ) const; int getDollars( ) const; private: int dollars; int cents; // other private members }; ```

Computer Science & Information Technology

A ________ is a variable that governs access to critical sections.

a) primitive b) lock c) controller d) flag

Computer Science & Information Technology