Ok, the name is not so important but call it recentCN
but extended sample
------------------------------ 

Is this possible that this CN(commit number) of transactions (pair transaction 
id + CN) can be stored into some table?
Is it possible to retrive most recent CN from transaction start point (call 
this recentCN).
It can provide simple way to retrive new records/changes in tables (new 
feature). 
E.g. whe can then do 
 
SELECT * FROM TABLEX WHERE CN>:recentCN;
 
I know this do not show us deleted records but in many scenarios it is not so 
important.
Of course deleted records can also be  tracked, if we block record versions to 
be removed by garbage collector and make way to retrive this record with some 
flag(?).
But this then require something what init this blocking mechanism (i suppose 
this will be then simmilar feature to so called in Interbase Change Views).
 
What do you think about?
 
-------------------------------

and about already existing RDB$RECORD_VERSION
This is not the same.

consider:
Transaction id=1 is active and have modified some records in TableX
Transaction id=2 start 
transaction 1 commit
transaction 2 try fetch new changed data(delta) by issuing
SELECT * FROM TableX WHERE RDB$RECORD_VERSION>2

it do not get records modified by tr id=1 because it looks for changes by 
RDB$RECORD_VERSION>2
with this select SELECT * FROM TABLEX WHERE CN>:recentCN; 
it will be see it :)

regards,
Karol Bieniaszewski


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to