Project ForgeSign up free
Database Management Systems
SQL & Transactions
GATE 2016
Hard

Consider the following database schedule with two transactions, T1 and T2:

S = r2(X); r1(X); r2(Y); w1(X); r1(Y); w2(X); a1; a2

where ri(Z) denotes a read operation by transaction Ti on a variable Z, wi(Z) denotes a write operation by Ti on a variable Z and ai denotes an abort by transaction Ti.

Which one of the following statements about the above schedule is TRUE?

  • AS is non-recoverable
  • BS is recoverable, but has a cascading abort
  • S does not have a cascading abort
  • DS is strict

Explanation

T2's only two reads — r2(X) and r2(Y) — both occur BEFORE T1's first write w1(X); T2's later operation w2(X) is a write, not a read. So T2 never reads a value written by T1, meaning T1's abort cannot cascade to force T2's abort — S has NO cascading abort (ruling out B, and making C true). It is also recoverable (vacuously — neither transaction commits, so the recoverability constraint about read-then-commit ordering is never violated), ruling out A. It is not strict, since w2(X) overwrites T1's uncommitted write to X before T1 aborts — a dirty write over uncommitted data, ruling out D.

Source: GATE CS 2016 (Session 2 / Set B) (2016)

This question is part of a 15-day revision cycle — sign in and Project Forge will bring it back the day before you'd forget it.

Start revising free