Commit Graph
90 Commits
Author SHA1 Message Date
Ahmed Yasin Koculu 02af69d6da Non-transactional upsert method cannot return upsert status. 2022-07-20 23:08:18 +02:00
Ahmed Yasin Koculu 9ae911c829 Adds ReadCommitted Isolation support.
Adds auto commitable inserts and deletes.
2022-07-20 22:54:45 +02:00
Ahmed Yasin Koculu 15d676324e Adds transactional ZoneTree maintenance capabilities. 2022-07-20 20:15:36 +02:00
Ahmed Yasin Koculu 24ac62974e Imrpove and document the transaction log compaction strategy. 2022-07-20 14:39:51 +02:00
Ahmed Yasin Koculu 9478faeca8 Update readme. 2022-07-20 01:13:30 +02:00
Ahmed Yasin Koculu d49ae22de2 Compact the log even if dictionary is empty. 2022-07-19 12:58:07 +02:00
Ahmed Yasin Koculu 3ca2ca19d6 Update readme. release-v1.0.5 2022-07-19 00:36:11 +02:00
Ahmed Yasin Koculu 9154e2476b Update docs before release 1.0.5. 2022-07-19 00:32:32 +02:00
Ahmed Yasin Koculu 4e49d1a392 Optimize default parameters. 2022-07-19 00:13:11 +02:00
Ahmed Yasin Koculu 640d669482 TransactionLog auto compaction with configurable threshold. 2022-07-18 23:01:20 +02:00
Ahmed Yasin Koculu 37284b6f73 Moves read write stamp table into the transaction log. 2022-07-18 20:05:52 +02:00
Ahmed Yasin Koculu 8fba55f25c Read next transaction id from logs. 2022-07-18 19:40:30 +02:00
Ahmed Yasin Koculu 3d6d7e729e Rename transaction exceptions. 2022-07-18 19:14:40 +02:00
Ahmed Yasin Koculu e2d7aad50f Rename class TransactionLog to better explain it's purpose. 2022-07-18 17:56:06 +02:00
Ahmed Yasin Koculu 154e0d8ec7 Use single log file for transaction history and dependency tables. Transaction performance is far better using single file. 2022-07-18 17:43:39 +02:00
Ahmed Yasin Koculu 30ed9e8b0a Adds persistent dictionary of dictionary collection. 2022-07-18 17:16:36 +02:00
Ahmed Yasin Koculu deb2963a28 ZoneTree does now support Optimistic Transactions which makes it the key-value store witk ACID properties. 2022-07-18 16:11:59 +02:00
Ahmed Yasin Koculu 5324432bae Adds transaction tree creation capability to the ZoneTreeFactory. 2022-07-18 15:15:03 +02:00
Ahmed Yasin Koculu 6daca0ebb1 Use utc ticks instead of datetime struct. 2022-07-18 15:03:37 +02:00
Ahmed Yasin Koculu 45d532e289 Adds basic persistent transaction manager. 2022-07-18 15:00:39 +02:00
Ahmed Yasin Koculu d2920d4459 Improves commit operation responses. 2022-07-18 14:19:17 +02:00
Ahmed Yasin Koculu 688e6c12a7 Replace Abort with Rollback for better naming. 2022-07-18 13:54:31 +02:00
Ahmed Yasin Koculu ce70a4b512 Reorganize prepare, commit and abort stages. 2022-07-18 13:38:15 +02:00
Ahmed Yasin Koculu 2b2f18631e Revert old values of optimistic transaction on abort. 2022-07-18 12:25:59 +02:00
Ahmed Yasin Koculu 95b74cb7a9 Adds transaction manager abstraction. 2022-07-18 11:53:16 +02:00
Ahmed Yasin Koculu ef429738ea Draft abort and commit steps. 2022-07-17 20:40:56 +02:00
Ahmed Yasin Koculu 18a91d367c DictionaryWithWal compaction should not recreate dictionary when no compaction occurs. 2022-07-17 20:18:25 +02:00
Ahmed Yasin Koculu da37f62840 Optimistic transaction draft. 2022-07-17 18:02:01 +02:00
Ahmed Yasin Koculu 4f9561053a Adds Int64 comparer. 2022-07-17 18:01:10 +02:00
Ahmed Yasin Koculu a2930cb6ce Add new serializers. 2022-07-17 18:00:50 +02:00
Ahmed Yasin Koculu 30c9fd425d Convert WAL id int to long. 2022-07-17 17:59:59 +02:00
Ahmed Yasin Koculu 25f66b4e90 Seal the dictionary with wal.
Fix the load order.
2022-07-17 15:16:09 +02:00
Ahmed Yasin Koculu 126aabdd84 Adds dictionary with WAL support. 2022-07-17 15:14:23 +02:00
Ahmed Yasin Koculu 36a8fcc3d3 Set WriteAheadProvider to provide WAL for any key value type.. 2022-07-17 14:19:31 +02:00
Ahmed Yasin Koculu 8ec59aed01 Adds category support to the WAL Provider. 2022-07-17 06:00:51 +02:00
Ahmed Yasin Koculu 9bef3ba60e Adds performance notes on skip list variations. 2022-07-17 04:35:07 +02:00
Ahmed Yasin Koculu 1aac4524f7 Adds lock-free skip list. 2022-07-17 04:24:11 +02:00
Ahmed Yasin Koculu 9a2682b437 Markes Tail volatile.
Set previous if next is not null.
2022-07-17 01:32:13 +02:00
Ahmed Yasin Koculu ea4f37166f Improves method names and adds some compiler instructions. 2022-07-17 01:27:52 +02:00
Ahmed Yasin Koculu 44363d446b Improves encapsulation of SkipListNode. 2022-07-17 01:22:31 +02:00
Ahmed Yasin Koculu 19be00a95c Protect SkipListNode pointers against instruction reordering using volatile reads and writes. 2022-07-17 01:13:45 +02:00
Ahmed Yasin Koculu e7e6ff1865 Use SpinWait instead of a busy while loop. 2022-07-17 00:26:11 +02:00
Ahmed Yasin Koculu 8dbfb55021 Moves length arithmetic into the scope of the lock. 2022-07-16 23:14:05 +02:00
Ahmed Yasin Koculu d8e434479e Improve Iterators to support iteration during massive parallel inserts. 2022-07-16 23:11:13 +02:00
Ahmed Yasin Koculu 39a1327a2f Make iterative calls rather than recursive. 2022-07-16 20:11:20 +02:00
Ahmed Yasin Koculu 35b2619b58 Execute tests in parallel. 2022-07-16 20:10:30 +02:00
Ahmed Yasin Koculu b646bfc61b Cleanup. release-v1.0.4 2022-07-11 18:12:56 +02:00
Ahmed Yasin Koculu 33cba9675e Pin the length of immutable indexed reader. 2022-07-11 18:02:36 +02:00
Ahmed Yasin Koculu e5f57a51df Seal iterator class. 2022-07-11 17:56:57 +02:00
Ahmed Yasin Koculu 48395e5a72 Clear markers first to prevent duplicate seeks. 2022-07-11 17:51:02 +02:00