Commit Graph
431 Commits
Author SHA1 Message Date
Ahmed Yasin Koculu 1fd3881494 Replace the circular block cache with hashtable for faster and stable reads.
(cherry picked from commit 47287b25591313b0c1fba0e6e801c66f74dbf56a)
2024-07-20 00:36:31 +02:00
Ahmed Yasin Koculu 04646e6644 Use ArrayPool for compressedBlocks.
(cherry picked from commit c8150aed1782b4b6110b5254f5da02d5af11df2d)
2024-07-20 00:36:26 +02:00
Ahmed Yasin Koculu 5f9f45cd3d Add circular value cache per disk segment.
(cherry picked from commit a0f1862744ba092ad3e1b0d8fb52ac60d5e175d4)
2024-07-20 00:36:22 +02:00
Ahmed Yasin Koculu 40d627a404 Create and persist default sparse array on disk segment creation.
(cherry picked from commit f75bc0a231dcf67751d2d88fed9d55f46c5a40e6)
2024-07-20 00:36:17 +02:00
Ahmed Yasin Koculu da6adad2c6 Upgrade byte[] arrays into Memory<byte>
(cherry picked from commit f8b42a712f9e6e90309966391fde911351b2a55f)
2024-07-20 00:36:12 +02:00
Ahmed Yasin Koculu 33242a68d8 Add circular cache for keys on disk segments.
(cherry picked from commit 03a7c060996ca4485d948f95a7b42c47e6afa991)
2024-07-20 00:36:07 +02:00
Ahmed Yasin Koculu 33450c4c1c Fix naming of maintainer cleanup job.
(cherry picked from commit 28f19a172ad0ef6c7587bae6cc80024868951ae4)
2024-07-20 00:36:03 +02:00
Ahmed Yasin Koculu 9a4d6308ab Add get parts count method.
(cherry picked from commit 26888da38b6094df6b5a7e5bc86b088b4b11547b)
2024-07-20 00:35:57 +02:00
Ahmed Yasin Koculu 766c6b9555 Upgrade dependencies.
(cherry picked from commit d05b21dfcf591c405e621410b9069b802f3fce99)
2024-07-20 00:35:53 +02:00
Ahmed Yasin Koculu 39d512fc22 Use deserialization with code generation for dotnet 6.0 and above.
(cherry picked from commit f69dc36697003a9c5ced4d41fb3d7695ae0ac77d)
2024-07-20 00:35:37 +02:00
Ahmed Yasin Koculu 3486123526 Merge pull request #61 from koculu/60-enhancement-expose-comparer-key-and-value-serializers-on-zonetree-api
Expose comparer, key and value serializers on IZoneTree.
release-v1.7.1
2024-06-14 22:23:10 +02:00
Ahmed Yasin Koculu a1ce94bc4f Expose comparer, key and value serializers on IZoneTree. 2024-06-14 22:22:41 +02:00
Ahmed Yasin Koculu 60dcda5f4d Merge pull request #59 from koculu/58-enhancement-support-bufferedfilestreamstrategy-that-is-fixed-on-net80
Fix LocalFileStream flush parameters.
2024-06-14 22:15:38 +02:00
Ahmed Yasin Koculu 96d0a267d3 Fix LocalFileStream flush parameters. 2024-06-14 22:14:47 +02:00
Ahmed Yasin Koculu 7b331a86b4 Merge pull request #57 from harrison314/net8-migration
Migration to .NET 8 and enable AOT compilation
2024-06-14 21:55:57 +02:00
Jozef Gajdos e4406dca5e Migration to .NET 8 and enable AOT compilation. 2024-06-14 14:57:13 +02:00
Ahmed Yasin Koculu b61f0bad98 Bump version. release-v1.7.0 2023-12-12 21:00:37 +01:00
Ahmed Yasin Koculu 60cca534a8 Merge pull request #49 from doomviruz/main
Fixed DeletableRefSerializer issue: cut of last byte.
2023-12-12 20:59:01 +01:00
Anton Taranov 390a5df8cc Fixed DeletableRefSerializer issue: cut of last byte. 2023-12-12 12:05:34 +02:00
Ahmed Yasin Koculu 93a4cfdba8 Update remaining X64 usage in Crc32 X86. release-v1.6.9 2023-09-13 21:50:55 +02:00
Ahmed Yasin Koculu dbf6fa5294 Use previous crc result. release-v1.6.8 2023-09-13 20:42:30 +02:00
Ahmed Yasin Koculu 2ae6b30378 Merge pull request #47 from koculu/46-enhancement-x86-support
Add Crc32 x86 support.
release-v1.6.7
2023-09-13 20:32:25 +02:00
Ahmed Yasin Koculu fbdea76913 Add Crc32 x86 support. 2023-09-13 20:31:49 +02:00
Ahmed Yasin Koculu 58a5dcf221 Merge pull request #43 from koculu/feature/extend--filestreamprovider-methods
Add GetDirectories and CombinePaths to the file stream provider interface.
release-v1.6.6
2023-08-19 00:36:31 +02:00
Ahmed Yasin Koculu 8e210c6d7f Merge pull request #44 from koculu/42-bug-when-valueserializer-type-has-a-mismatch-the-error-message-shows-the-keyserializer-type
Fix wrong value serializer type in thrown Exception.
2023-08-19 00:36:04 +02:00
Ahmed Yasin Koculu 2cef4ce61f Fix wrong value serializer type in thrown Exception. 2023-08-19 00:34:48 +02:00
Ahmed Yasin Koculu 0153d53819 Add GetDirectories and CombinePaths methods to the file stream provider interface. 2023-08-19 00:28:16 +02:00
Ahmed Yasin Koculu 1a729191b5 Merge pull request #40 from koculu/invalid-key-deletion-on-read-only-memory-segment-loader
Fixed invalid key deletion bug on tree load.
release-v1.6.5
2023-06-17 17:25:08 +02:00
Ahmed Yasin Koculu 51dad23444 Fixed invalid key deletion bug on tree load. 2023-06-17 17:03:45 +02:00
Ahmed Yasin Koculu 6be1888e40 Update docs. 2023-06-17 05:19:22 +02:00
Ahmed Yasin Koculu 17e1730f36 Merge pull request #39 from koculu/garbage-collection-on-startup
Garbage collection on startup
2023-06-17 03:36:36 +02:00
Ahmed Yasin Koculu ea5e49e2cb Colleect garbage from write ahead log of mutable segment. 2023-06-17 03:28:29 +02:00
Ahmed Yasin Koculu d10e0ccbe8 Add optional startup garbage collection if applicable. 2023-06-17 02:57:21 +02:00
Ahmed Yasin Koculu da0a36e4a2 Load initial sparse array in Open and OperOrCreate methods. 2023-06-17 02:14:36 +02:00
Ahmed Yasin Koculu f8b01ad7b3 Merge pull request #38 from koculu/add-btree-node-size-fine-tuning-options
Add B+Tree Node and Leaf size fine tuning options.
release-v1.6.4
2023-06-17 01:41:21 +02:00
Ahmed Yasin Koculu 765f8b8f32 Add B+Tree Node and Leaf size fine tuning options. 2023-06-17 01:33:49 +02:00
Ahmed Yasin Koculu 04f5caaa30 Merge pull request #37 from koculu/validate-delete-value-configuration
Validate delete value configuration.
2023-06-17 01:31:49 +02:00
Ahmed Yasin Koculu ecee237135 Add default value deletion support for reference and nullable types. 2023-06-17 01:15:50 +02:00
Ahmed Yasin Koculu 80dff54867 Add delete value confgiuration validation to prevent unexpected not working delete calls. 2023-06-17 00:21:15 +02:00
Ahmed Yasin Koculu f2d6006e6f Remove unused pragma directive. 2023-06-08 15:09:55 +02:00
Ahmed Yasin Koculu 004882ff9d Update README.md 2023-06-08 14:25:53 +02:00
Ahmed Yasin Koculu 606c0a73a0 Fix BTree deadlock on split. (#36) release-v1.6.3 2023-05-29 06:35:44 +02:00
Ahmed Yasin Koculu 5e67bdf803 Reduce code duplication (#35)
* Remove duplicated binary search code.

* Remove lambdas when possible.
2023-05-28 07:16:36 +02:00
Ahmed Yasin Koculu 46ef5d74f9 Remove redundant unsafe flags. (#34) 2023-05-28 02:36:31 +02:00
Ahmed Yasin Koculu fe9b4be44f Refactor disk segments (#33)
* Organize segments subfolders.

* Create subclass disk segments.

* Mark base DiskSegment abstract and activate derived disk segments.

* Perform disposing correctly.

* Refactor namespaces to match containing folders.

* Relocate DataHeaderDevice to the corresponding disk segments.
2023-05-28 02:17:14 +02:00
ksemenenko 9ba1393e34 Add descending comparers for primitive types (#32) 2023-05-27 21:39:27 +02:00
Ahmed Yasin Koculu dc9a2b9f54 Mark new disk segment null after the event is invoked. (#31) 2023-05-27 18:54:13 +02:00
Ahmed Yasin Koculu 64f3fb8a33 Code analysis cleanup (#30)
* Enable code analysis and start cleanup warnings.

* Cleanup default value assignment warnings and more.

* Ignore and fix some warnings.

* Clear naming and reliability warnings.

* Fix disposal related warnings.

* Create auto generated equality operators.

* Seal classes.
2023-05-27 07:48:14 +02:00
Ahmed Yasin Koculu bae3be27c0 Minor code and CI improvements (#29)
* Improve QueueItemsChunk construction.

* Add publish nuget package workflow.
release-v1.6.2
2023-05-27 00:44:47 +02:00
Ahmed Yasin Koculu 3e960cef03 Improve (%41) read speed by replacing concurrent queue (#28)
* Add single producer and single consumer queue using LIFO enumeration capability..

* Use the new queue. Performance improvementr for reads: %41

* Usae inline functions instead of lambda delegates.
2023-05-27 00:04:49 +02:00