in Databases
1,590 views
0 votes
0 votes

Please explain. Use the below transaction.

in Databases
by
1.6k views

2 Comments

0
0
i am thinking is this transaction runs without deadlock under strict 2PL ?

If there is no deadlock ==> it avoid unrepeatable problem.

if deadlock is present ? then what to say ?
0
0

2 Answers

1 vote
1 vote

unrepeatable read happens when a transaction read the value of variable twice or more times and in between these reads other transaction change the value of variable causing different read values for first transaction.

so this whole case cant happen in 2PL because no transaction can come in between reads and take exclusive lock for write the value while there is share lock on variable

0 votes
0 votes
Any 2 PL if does not cause deadlock will ensure conflict serializability.

Now every conflict serializable schedule is free from unrepeatable read problem.

So every strict schedule is free from unrepeatable read problem.

3 Comments

@OneZero thats alright. but see the schedule even after applying strict 2pl T1 is reading two different A values.

 

0
0

@susgir2

Is it possible to write the above code in 2PL form?

It will cause a deadlock while attempting to perform 2PL.

Once deadlock occurs, we can use deadlock handling methods to terminate a transaction 

When the transaction restarts we will have have a deadlock set of transactions on which we can apply strict 2 PL.

0
0
How can you conclude every conflict serailizable schedule is free from unrepeatable read problem?
0
0