19.02.2019 18:24, Adriano dos Santos Fernandes wrote:
Hi Vlad,

I restarted work on this feature now using commit numbers.

  Good to know. Could you publish user interface before it is too late ? ;)

Initial prototype seems to work easily.

  It should be not too hard, agree

So now with current master code, is it ok to have transaction numbers
TN1 < TN2 < TN3 with their correspondents tra_snapshot_number not being
TSN1 <= TSN2 <= TSN3 ?

  Yes. More, RC transactions have no tra_snapshot_number (as you know of 
course).

That is, when TN3 starts it's tra_snapshot_number will not be the latest
commit number if that transaction is going to share another transaction
snapshot, but say the same tra_snapshot_number of TN1 even if TN2 was
already committed.

Does that break any assumption on Firebird transaction or GC architecture?

  As i understand you - it doen't break anything. For me, it is safe to assign
to the new snapshot (CONCURRENCY) transaction number of already existing and
still alive snapshot. It is very important to ensure existence of that snapshot
number until assignment happens (and new snapshot slot allocated).

Regards,
Vlad


Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to