2.7k views

Consider the following schedule for transactions $T1, T2$ and $T3:$

$$\begin{array}{|c|c|c|}\hline \textbf{T1} & \textbf{T2} & \textbf{T3} \\\hline \text{Read(X)} & \text{} & \text{} \\\hline \text{} & \text{Read(Y)} & \text{} \\\hline \text{} & \text{} & \text{Read(Y)} \\\hline \text{} & \text{Write(Y)} & \text{} \\\hline \text{Write(X)} & \text{} & \text{} \\\hline \text{} & \text{} & \text{Write(X)} \\\hline \text{} & \text{Read(X)} & \text{} \\\hline \text{} & \text{Write(X)} & \text{} \\\hline\end{array}$$
Which one of the schedules below is the correct serialization of the above?

1. $T1 \to T3 \to T2$
2. $T2 \to T1 \to T3$
3. $T2 \to T3 \to T1$
4. $T3 \to T1 \to T2$
edited | 2.7k views
0
in T3 are they over writing x value with y value ?

create precedence graph and apply Topological sort on it to obtain
$T1 \rightarrow T3 \rightarrow T2$

edited
0
Thanks
+1
How to apply topological sort on a precedence graph?
0

@amarVashishth There should be $2$ edges from $T_3 \text{ to } T_2$, one for $\text{RW(Y)}$ and the other for $\text{WR(X)}$. Isn't it?

0
check for view serializability here.Final write of X is made by T2, so in equivalent serial order T2 should come last.

2 options eliminated this way.

Now, Write (X) of T3 is read by T2, so T3 should precede T2.So, Option (A) suitable.
0

The solution is described here.

hence option A is True.

edited
0
how we apply topological ordering ..i draw the graph but after how to know its  serialize or not
You can use method of conflict serializability graph or precedence graph Ref: Elmasri Navathe. Then serialisation is T1 T3 T2

1
2