Commit Graph
72 Commits
Author SHA1 Message Date
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
Ahmed Yasin Koculu 9d126d9ad6 Improve NullDiskSegment exceptions. 2022-07-11 17:42:21 +02:00
Ahmed Yasin Koculu a4bef26316 Adds volatility to the PreviousNode pointer. 2022-07-11 17:33:25 +02:00
Ahmed Yasin Koculu 4241a00d9e Adds deleted record iteration support. 2022-07-11 17:27:40 +02:00
Ahmed Yasin Koculu 2492daf75f Make auto refresh property readonly. 2022-07-11 17:18:59 +02:00
Ahmed Yasin Koculu dbd9cfa7db Product version increment. release-v1.0.3 2022-07-11 16:36:04 +02:00
Ahmed Yasin Koculu fbd508496a Fix typo bug on iterator's auto refresh flag setter. 2022-07-11 16:34:55 +02:00
Ahmed Yasin Koculu a0b5580eeb Adds tree disposing and disk segment activated events. release-v1.0.2 2022-07-11 16:16:58 +02:00
Ahmed Yasin Koculu d5b0c1a69b Auto refreshable iterators. 2022-07-11 16:01:34 +02:00
Ahmed Yasin Koculu 68745991d0 Reorganize tree atomicity across segments. 2022-07-07 19:05:14 +02:00
Ahmed Yasin Koculu 9321f39f6c Update README.md 2022-07-07 02:23:27 +02:00
Ahmed Yasin Koculu bd3afef773 Activate new disk segment after event call. 2022-07-07 01:24:04 +02:00
Ahmed Yasin Koculu 17c09cf20c Pin disk segment in count iteration. 2022-07-07 01:14:33 +02:00
Ahmed Yasin Koculu daa0131e14 Make atomic value updates/reads if required. This is needed for structs bigger than processor word size. release-v1.0.1 2022-07-06 23:17:07 +02:00
Ahmed Yasin Koculu 6ffd7ae157 Remove tracking user file. 2022-07-06 22:46:57 +02:00
Ahmed Yasin Koculu 1fc1a4385d Update README.md 2022-07-06 20:55:45 +02:00
Ahmed Yasin Koculu 41cea49d8b Update README.md 2022-07-06 20:55:16 +02:00
Ahmed Yasin Koculu 0a6821b44c Update README.md 2022-07-06 20:49:27 +02:00
Ahmed Yasin Koculu 41d32bc2a7 Update README.md 2022-07-06 20:41:58 +02:00