|Subject||Re: [firebird-support] Re: Awaiting Garbage Collector|
|Author||Walter R. Ojeda Valiente|
Thank you very much for your answer Alexey, I was very bussy these days. Looking at the page 46 it seems more understandable now.
On Wed, Mar 25, 2015 at 2:02 PM, Alexey Kovyazin ak@... [firebird-support] <email@example.com> wrote:
On slide 46 of http://www.slideshare.net/ibsurgeon/3-how-transactionswork
we consider how transaction 20 view record versions.
It's important to note that transaction 20 is a snapshot.
>Tx16 did the INSERT?
Yes, it created original version of Record 1.
>Tx12 can do a COMMIT although it had started before Tx16 and Tx18 is still active?
Sure, why not?
>Tx25 can change what Tx14 did although Tx14 is still active?
Yes, it looks a bit confusing, but this is a snapshot view which highlights that Tx 20 CANNOT see record versions from a) active transactions, b) transactions with Number > 20.
It means that for snapshot transaction 20 all transactions above its number look like active, and as a result, it cannot view record versions from both from Tx 14, which was active at the moment when snapshot copy of TIP for Tx25 was taken, and it also cannot view record version from Tx 25, which, obviously was created after Tx 14 was committed. But, again, for Tx 20 these both record versions are invisible. Tx20, as a snapshot, thinks that Tx is active, but in reality it was committed.
Yes, that's right, I can not understand well the page 46. I suppose that R1 means "record version 1", R2 means "record version 2", etc.
Tx16 did the INSERT?Tx12 can do a COMMIT although it had started before Tx16 and Tx18 is still active?Tx25 can change what Tx14 did although Tx14 is still active?
These things had confused me.
Of course, I think that I am not understanding rightly the graph, that's why some words can help to do it clear.