multi version concurrency control

Jun 24, 2010 at 3:50 AM

Hi Igloobone,

Does it actually has a multi version concurrency control or only a timestamp based concurrency control? Where does multiple row versions kept?

Thanks in advance.


Jun 24, 2010 at 4:42 AM

 EffiProz is derived from HSQLDB. Both HSQLDB 2 and EffiProz fully support MVCC.

 Multiple versions of the same row are kept attached to the AVL Tree index. Even for a unique index (like PK) there may be multiple rows with the same key in the AVL index, But transactions only see rows that are visible to them based on attached RowActions and timestamps. You can refer to TransactionManagerMVCC.cs and IndexAVL.cs for details.




Jun 24, 2010 at 10:48 AM

Great, thanks.