Commit Graph

  • e14c979e53 Adds Fluent Transaction with exceptionless retry capability. Ahmed Yasin Koculu 2022-07-24 00:09:20 +02:00
  • 6b8072083b Adds incremental backup configuration option. Adds exxceptionless transaction API. Ahmed Yasin Koculu 2022-07-23 23:07:23 +02:00
  • 0126912578 Adds lazy mode wal log audit support. Ahmed Yasin Koculu 2022-07-23 17:57:03 +02:00
  • c0a524ba07 Fix typo. Ahmed Yasin Koculu 2022-07-23 17:48:14 +02:00
  • eba3523b8b Improve durability of full wal log with 3 length-stamps. Ahmed Yasin Koculu 2022-07-23 17:32:17 +02:00
  • 5e7431ce6a Adds transaction log audit support. Ahmed Yasin Koculu 2022-07-23 17:19:49 +02:00
  • 3c3571213c Dispose wal file streams on freeze. Ahmed Yasin Koculu 2022-07-23 16:46:50 +02:00
  • 5b4818db36 Adds Immediate and Lazy modes to the Write Ahead Log. Ahmed Yasin Koculu 2022-07-23 16:19:12 +02:00
  • 13e1040b85 Improves zone tree wal and transaction log configuration. Ahmed Yasin Koculu 2022-07-23 13:56:42 +02:00
  • 003fd8c37b Reorganize segment WAL paths. Ahmed Yasin Koculu 2022-07-23 13:32:37 +02:00
  • c1f680c902 Adds methods to clear stale transactions. release-v1.0.7 Ahmed Yasin Koculu 2022-07-23 13:06:43 +02:00
  • 44c2881bf6 Add batch rollback method. Fix typo. Ahmed Yasin Koculu 2022-07-23 12:30:07 +02:00
  • c0fbb987e0 Fix transaction skip write rule issue. Ahmed Yasin Koculu 2022-07-23 12:01:48 +02:00
  • ecc0a5fb1f Code cleanup. Ahmed Yasin Koculu 2022-07-21 01:51:22 +02:00
  • 3dfc86d722 Removes obsolete comment. release-v1.0.6 Ahmed Yasin Koculu 2022-07-21 01:02:56 +02:00
  • 4d8cbc41f0 Adds debug only assertions. Ahmed Yasin Koculu 2022-07-21 00:38:58 +02:00
  • 02af69d6da Non-transactional upsert method cannot return upsert status. Ahmed Yasin Koculu 2022-07-20 23:08:18 +02:00
  • 9ae911c829 Adds ReadCommitted Isolation support. Adds auto commitable inserts and deletes. Ahmed Yasin Koculu 2022-07-20 22:54:45 +02:00
  • 15d676324e Adds transactional ZoneTree maintenance capabilities. Ahmed Yasin Koculu 2022-07-20 20:15:36 +02:00
  • 24ac62974e Imrpove and document the transaction log compaction strategy. Ahmed Yasin Koculu 2022-07-20 14:39:51 +02:00
  • 9478faeca8 Update readme. Ahmed Yasin Koculu 2022-07-20 01:13:30 +02:00
  • d49ae22de2 Compact the log even if dictionary is empty. Ahmed Yasin Koculu 2022-07-19 12:58:07 +02:00
  • 3ca2ca19d6 Update readme. release-v1.0.5 Ahmed Yasin Koculu 2022-07-19 00:36:11 +02:00
  • 9154e2476b Update docs before release 1.0.5. Ahmed Yasin Koculu 2022-07-19 00:32:32 +02:00
  • 4e49d1a392 Optimize default parameters. Ahmed Yasin Koculu 2022-07-19 00:13:11 +02:00
  • 640d669482 TransactionLog auto compaction with configurable threshold. Ahmed Yasin Koculu 2022-07-18 23:01:20 +02:00
  • 37284b6f73 Moves read write stamp table into the transaction log. Ahmed Yasin Koculu 2022-07-18 20:05:52 +02:00
  • 8fba55f25c Read next transaction id from logs. Ahmed Yasin Koculu 2022-07-18 19:40:30 +02:00
  • 3d6d7e729e Rename transaction exceptions. Ahmed Yasin Koculu 2022-07-18 19:14:40 +02:00
  • e2d7aad50f Rename class TransactionLog to better explain it's purpose. Ahmed Yasin Koculu 2022-07-18 17:56:06 +02:00
  • 154e0d8ec7 Use single log file for transaction history and dependency tables. Transaction performance is far better using single file. Ahmed Yasin Koculu 2022-07-18 17:43:39 +02:00
  • 30ed9e8b0a Adds persistent dictionary of dictionary collection. Ahmed Yasin Koculu 2022-07-18 17:16:36 +02:00
  • deb2963a28 ZoneTree does now support Optimistic Transactions which makes it the key-value store witk ACID properties. Ahmed Yasin Koculu 2022-07-18 16:11:59 +02:00
  • 5324432bae Adds transaction tree creation capability to the ZoneTreeFactory. Ahmed Yasin Koculu 2022-07-18 15:15:03 +02:00
  • 6daca0ebb1 Use utc ticks instead of datetime struct. Ahmed Yasin Koculu 2022-07-18 15:03:37 +02:00
  • 45d532e289 Adds basic persistent transaction manager. Ahmed Yasin Koculu 2022-07-18 15:00:39 +02:00
  • d2920d4459 Improves commit operation responses. Ahmed Yasin Koculu 2022-07-18 14:19:17 +02:00
  • 688e6c12a7 Replace Abort with Rollback for better naming. Ahmed Yasin Koculu 2022-07-18 13:54:31 +02:00
  • ce70a4b512 Reorganize prepare, commit and abort stages. Ahmed Yasin Koculu 2022-07-18 13:38:15 +02:00
  • 2b2f18631e Revert old values of optimistic transaction on abort. Ahmed Yasin Koculu 2022-07-18 12:25:59 +02:00
  • 95b74cb7a9 Adds transaction manager abstraction. Ahmed Yasin Koculu 2022-07-18 11:53:16 +02:00
  • ef429738ea Draft abort and commit steps. Ahmed Yasin Koculu 2022-07-17 20:40:56 +02:00
  • 18a91d367c DictionaryWithWal compaction should not recreate dictionary when no compaction occurs. Ahmed Yasin Koculu 2022-07-17 20:18:25 +02:00
  • da37f62840 Optimistic transaction draft. Ahmed Yasin Koculu 2022-07-17 18:02:01 +02:00
  • 4f9561053a Adds Int64 comparer. Ahmed Yasin Koculu 2022-07-17 18:01:10 +02:00
  • a2930cb6ce Add new serializers. Ahmed Yasin Koculu 2022-07-17 18:00:50 +02:00
  • 30c9fd425d Convert WAL id int to long. Ahmed Yasin Koculu 2022-07-17 17:59:59 +02:00
  • 25f66b4e90 Seal the dictionary with wal. Fix the load order. Ahmed Yasin Koculu 2022-07-17 15:16:09 +02:00
  • 126aabdd84 Adds dictionary with WAL support. Ahmed Yasin Koculu 2022-07-17 15:14:23 +02:00
  • 36a8fcc3d3 Set WriteAheadProvider to provide WAL for any key value type.. Ahmed Yasin Koculu 2022-07-17 14:19:31 +02:00
  • 8ec59aed01 Adds category support to the WAL Provider. Ahmed Yasin Koculu 2022-07-17 06:00:51 +02:00
  • 9bef3ba60e Adds performance notes on skip list variations. Ahmed Yasin Koculu 2022-07-17 04:35:07 +02:00
  • 1aac4524f7 Adds lock-free skip list. Ahmed Yasin Koculu 2022-07-17 04:24:11 +02:00
  • 9a2682b437 Markes Tail volatile. Set previous if next is not null. Ahmed Yasin Koculu 2022-07-17 01:32:13 +02:00
  • ea4f37166f Improves method names and adds some compiler instructions. Ahmed Yasin Koculu 2022-07-17 01:27:52 +02:00
  • 44363d446b Improves encapsulation of SkipListNode. Ahmed Yasin Koculu 2022-07-17 01:22:31 +02:00
  • 19be00a95c Protect SkipListNode pointers against instruction reordering using volatile reads and writes. Ahmed Yasin Koculu 2022-07-17 01:13:45 +02:00
  • e7e6ff1865 Use SpinWait instead of a busy while loop. Ahmed Yasin Koculu 2022-07-17 00:26:11 +02:00
  • 8dbfb55021 Moves length arithmetic into the scope of the lock. Ahmed Yasin Koculu 2022-07-16 23:14:05 +02:00
  • d8e434479e Improve Iterators to support iteration during massive parallel inserts. Ahmed Yasin Koculu 2022-07-16 23:11:13 +02:00
  • 39a1327a2f Make iterative calls rather than recursive. Ahmed Yasin Koculu 2022-07-16 20:11:20 +02:00
  • 35b2619b58 Execute tests in parallel. Ahmed Yasin Koculu 2022-07-16 20:10:30 +02:00
  • b646bfc61b Cleanup. release-v1.0.4 Ahmed Yasin Koculu 2022-07-11 18:12:56 +02:00
  • 33cba9675e Pin the length of immutable indexed reader. Ahmed Yasin Koculu 2022-07-11 18:02:36 +02:00
  • e5f57a51df Seal iterator class. Ahmed Yasin Koculu 2022-07-11 17:56:57 +02:00
  • 48395e5a72 Clear markers first to prevent duplicate seeks. Ahmed Yasin Koculu 2022-07-11 17:51:02 +02:00
  • 9d126d9ad6 Improve NullDiskSegment exceptions. Ahmed Yasin Koculu 2022-07-11 17:42:21 +02:00
  • a4bef26316 Adds volatility to the PreviousNode pointer. Ahmed Yasin Koculu 2022-07-11 17:33:25 +02:00
  • 4241a00d9e Adds deleted record iteration support. Ahmed Yasin Koculu 2022-07-11 17:27:40 +02:00
  • 2492daf75f Make auto refresh property readonly. Ahmed Yasin Koculu 2022-07-11 17:18:59 +02:00
  • dbd9cfa7db Product version increment. release-v1.0.3 Ahmed Yasin Koculu 2022-07-11 16:36:04 +02:00
  • fbd508496a Fix typo bug on iterator's auto refresh flag setter. Ahmed Yasin Koculu 2022-07-11 16:34:55 +02:00
  • a0b5580eeb Adds tree disposing and disk segment activated events. release-v1.0.2 Ahmed Yasin Koculu 2022-07-11 16:16:58 +02:00
  • d5b0c1a69b Auto refreshable iterators. Ahmed Yasin Koculu 2022-07-11 16:01:34 +02:00
  • 68745991d0 Reorganize tree atomicity across segments. Ahmed Yasin Koculu 2022-07-07 19:05:14 +02:00
  • 9321f39f6c Update README.md Ahmed Yasin Koculu 2022-07-07 02:23:27 +02:00
  • bd3afef773 Activate new disk segment after event call. Ahmed Yasin Koculu 2022-07-07 01:24:04 +02:00
  • 17c09cf20c Pin disk segment in count iteration. Ahmed Yasin Koculu 2022-07-07 01:14:33 +02:00
  • daa0131e14 Make atomic value updates/reads if required. This is needed for structs bigger than processor word size. release-v1.0.1 Ahmed Yasin Koculu 2022-07-06 23:17:07 +02:00
  • 6ffd7ae157 Remove tracking user file. Ahmed Yasin Koculu 2022-07-06 22:46:57 +02:00
  • 1fc1a4385d Update README.md Ahmed Yasin Koculu 2022-07-06 20:55:45 +02:00
  • 41cea49d8b Update README.md Ahmed Yasin Koculu 2022-07-06 20:55:16 +02:00
  • 0a6821b44c Update README.md Ahmed Yasin Koculu 2022-07-06 20:49:27 +02:00
  • 41d32bc2a7 Update README.md Ahmed Yasin Koculu 2022-07-06 20:41:58 +02:00
  • 0368cc0dc5 Update README.md Ahmed Yasin Koculu 2022-07-06 20:11:41 +02:00
  • 76ed29b9b7 Update README.md Ahmed Yasin Koculu 2022-07-06 20:10:57 +02:00
  • 478dc56d40 Update README.md Ahmed Yasin Koculu 2022-07-06 20:09:42 +02:00
  • 951b2c1651 Update README.md release-v1.0.0 Ahmed Yasin Koculu 2022-07-06 19:31:55 +02:00
  • e17560af11 Configure nuget package publish settings. Ahmed Yasin Koculu 2022-07-06 19:18:56 +02:00
  • 82698a9c66 Adds remarks to iterator and improve 2 exception messages. Ahmed Yasin Koculu 2022-07-06 17:51:55 +02:00
  • 8d1f50fd03 Update README.md Ahmed Yasin Koculu 2022-07-06 17:46:07 +02:00
  • c83b464868 Update README.md Ahmed Yasin Koculu 2022-07-06 17:43:46 +02:00
  • ab72872bab Update README.md Ahmed Yasin Koculu 2022-07-06 17:42:46 +02:00
  • 5dbd83757a Drop unnecessary solution folder. Ahmed Yasin Koculu 2022-07-06 17:38:09 +02:00
  • e8360af0cc Update README.md Ahmed Yasin Koculu 2022-07-06 16:17:09 +02:00
  • 8177dbd944 Update README.md Ahmed Yasin Koculu 2022-07-06 16:15:07 +02:00
  • 2c1e1e2180 Update README.md Ahmed Yasin Koculu 2022-07-06 16:06:34 +02:00
  • 6145126683 Update README.md Ahmed Yasin Koculu 2022-07-06 16:06:02 +02:00
  • 0dfd6bcc57 Update README.md Ahmed Yasin Koculu 2022-07-06 16:04:56 +02:00
  • 63dba8d237 Update README.md Ahmed Yasin Koculu 2022-07-06 16:04:13 +02:00