From 6be1888e40808be5a35aca6d28cc71be3f43ec9e Mon Sep 17 00:00:00 2001 From: Ahmed Yasin Koculu Date: Sat, 17 Jun 2023 05:19:22 +0200 Subject: [PATCH] Update docs. --- .../BTree/BTree.FrozenNodeIterator.cs | 2 ++ .../Collections/BTree/BTree.NodeIterator.cs | 2 ++ src/ZoneTree/Collections/FixedSizeMinHeap.cs | 2 +- src/ZoneTree/Collections/TimSort/TimSort.cs | 8 ++++++- .../Collections/TimSort/TimSortUtil.cs | 2 ++ .../Compression/BrotliDataCompression.cs | 4 ++-- src/ZoneTree/Core/ZoneTree.Iterators.cs | 1 + src/ZoneTree/Options/DiskSegmentMode.cs | 2 +- .../Transactional/BasicTransactionLog.cs | 22 +++++++++---------- src/ZoneTree/ZoneTree.csproj | 7 ------ 10 files changed, 29 insertions(+), 23 deletions(-) diff --git a/src/ZoneTree/Collections/BTree/BTree.FrozenNodeIterator.cs b/src/ZoneTree/Collections/BTree/BTree.FrozenNodeIterator.cs index 6741212..19dbbe1 100644 --- a/src/ZoneTree/Collections/BTree/BTree.FrozenNodeIterator.cs +++ b/src/ZoneTree/Collections/BTree/BTree.FrozenNodeIterator.cs @@ -108,6 +108,7 @@ public FrozenNodeIterator SeekFirstKeyGreaterOrEqual( /// /// Finds the position of element that is smaller or equal than key. /// + /// The key comparer /// The key /// -1 or a valid position public int GetLastSmallerOrEqualPosition( @@ -118,6 +119,7 @@ public int GetLastSmallerOrEqualPosition( /// /// Finds the position of element that is greater or equal than key. /// + /// The key comparer /// The key /// The length of the segment or a valid position public int GetFirstGreaterOrEqualPosition( diff --git a/src/ZoneTree/Collections/BTree/BTree.NodeIterator.cs b/src/ZoneTree/Collections/BTree/BTree.NodeIterator.cs index aaf01c2..c430e4b 100644 --- a/src/ZoneTree/Collections/BTree/BTree.NodeIterator.cs +++ b/src/ZoneTree/Collections/BTree/BTree.NodeIterator.cs @@ -143,6 +143,7 @@ public NodeIterator SeekFirstKeyGreaterOrEqual( /// /// Finds the position of element that is smaller or equal than key. /// + /// The key comparer /// The key /// -1 or a valid position public int GetLastSmallerOrEqualPosition( @@ -153,6 +154,7 @@ public int GetLastSmallerOrEqualPosition( /// /// Finds the position of element that is greater or equal than key. /// + /// The key comparer /// The key /// The length of the segment or a valid position public int GetFirstGreaterOrEqualPosition( diff --git a/src/ZoneTree/Collections/FixedSizeMinHeap.cs b/src/ZoneTree/Collections/FixedSizeMinHeap.cs index b35dc92..36e54a4 100644 --- a/src/ZoneTree/Collections/FixedSizeMinHeap.cs +++ b/src/ZoneTree/Collections/FixedSizeMinHeap.cs @@ -41,7 +41,7 @@ public void Clear() /// Inserts the new element, maintaining the heap property. /// /// If the element is greater than the current min element, this function returns - // false without modifying the heap. Otherwise, it returns true. + /// false without modifying the heap. Otherwise, it returns true. /// /// /// true if inserted diff --git a/src/ZoneTree/Collections/TimSort/TimSort.cs b/src/ZoneTree/Collections/TimSort/TimSort.cs index bec0170..1ed7aa5 100644 --- a/src/ZoneTree/Collections/TimSort/TimSort.cs +++ b/src/ZoneTree/Collections/TimSort/TimSort.cs @@ -167,6 +167,7 @@ internal sealed class TimSort /// /// Creates a TimSort instance to maintain the state of an ongoing sort. /// + /// The key comparer /// The array to be sorted. /// An optional workspace array. private TimSort(T[] a, T[] work, IRefComparer comparer) @@ -703,6 +704,7 @@ private T[] EnsureCapacity(int minCapacity) /// The index of the first element in the range to be sorted. /// the index after the last element in the range to be sorted. /// he index of the first element in the range that is not already known to be sorted. + /// The key comparer private static void BinarySort(T[] arr, int lo, int hi, int start, IRefComparer comparer) { Debug.Assert(lo <= start && start <= hi); @@ -779,7 +781,8 @@ private static void BinarySort(T[] arr, int lo, int hi, int start, IRefComparer< /// The array in which a run is to be counted and possibly reversed. /// Index of the first element in the run. /// index after the last element that may be contained in the run. It is required that lo < hi. - /// The length of the run beginning at the specified position in the specified array. + /// The key comparer + /// /// The length of the run beginning at the specified position in the specified array. private static int CountRunAndMakeAscending(T[] a, int lo, int hi, IRefComparer comparer) { Debug.Assert(lo < hi); @@ -836,6 +839,7 @@ internal static void ReverseRange(T[] a, int lo, int hi) /// Sorts the given array. /// /// The array to be sorted. + /// The key comparer internal static void Sort(T[] arr, IRefComparer comparer) { Sort(arr, 0, arr.Length, null, comparer); @@ -847,6 +851,7 @@ internal static void Sort(T[] arr, IRefComparer comparer) /// The array to be sorted. /// The starting index of the range to sort. /// The number of elements in the range to sort. + /// The key comparer internal static void Sort(T[] arr, int index, int length, IRefComparer comparer) { Sort(arr, index, length, null, comparer); @@ -860,6 +865,7 @@ internal static void Sort(T[] arr, int index, int length, IRefComparer compar /// The starting index of the range to sort. /// The number of elements in the range to sort. /// An optional workspace array. + /// The key comparer internal static void Sort(T[] arr, int index, int length, T[] work, IRefComparer comparer) { Debug.Assert(arr is not null && index >= 0 && length >= 0 && index + length <= arr.Length); diff --git a/src/ZoneTree/Collections/TimSort/TimSortUtil.cs b/src/ZoneTree/Collections/TimSort/TimSortUtil.cs index 1559e01..59cf857 100644 --- a/src/ZoneTree/Collections/TimSort/TimSortUtil.cs +++ b/src/ZoneTree/Collections/TimSort/TimSortUtil.cs @@ -51,6 +51,7 @@ internal static int MinRunLength(int n, int minMerge) /// The length of the range; must be > 0 /// Hint the index at which to begin the search, 0 <= hint < n. /// The closer hint is to the result, the faster this method will run. + /// The key comparer internal static int GallopLeft(K key, K[] a, int baseIdx, int len, int hint, IRefComparer comparer) { Debug.Assert(len > 0 && hint >= 0 && hint < len); @@ -132,6 +133,7 @@ internal static int GallopLeft(K key, K[] a, int baseIdx, int len, int hint, /// The length of the range; must be > 0. /// The index at which to begin the search, 0 <= hint < n. /// The closer hint is to the result, the faster this method will run. + /// The key comparer /// The int k, 0 <= k <= n such that a[b + k - 1] <= key < a[b + k] internal static int GallopRight(K key, K[] a, int baseIdx, int len, int hint, IRefComparer comparer) { diff --git a/src/ZoneTree/Compression/BrotliDataCompression.cs b/src/ZoneTree/Compression/BrotliDataCompression.cs index 4160e36..8857def 100644 --- a/src/ZoneTree/Compression/BrotliDataCompression.cs +++ b/src/ZoneTree/Compression/BrotliDataCompression.cs @@ -6,8 +6,8 @@ public static class BrotliDataCompression { public static byte[] Compress(Span span, int level) { - /// Brotli Optimum level is extremely slow. - /// Changing the optimum level to fastest! + // Brotli Optimum level is extremely slow. + // Changing the optimum level to fastest! if (level == 0) level = 1; using var msOutput = new MemoryStream(); diff --git a/src/ZoneTree/Core/ZoneTree.Iterators.cs b/src/ZoneTree/Core/ZoneTree.Iterators.cs index 127f168..66b58c2 100644 --- a/src/ZoneTree/Core/ZoneTree.Iterators.cs +++ b/src/ZoneTree/Core/ZoneTree.Iterators.cs @@ -147,6 +147,7 @@ public IZoneTreeIterator CreateReadOnlySegmentsIterator(bool autoR /// Creates an iterator that enables scanning of the in-memory segments. /// This includes read-only segments and mutable segment. /// + /// if true, auto refresh is enabled. /// if true the deleted records are included in iteration. /// ZoneTree Iterator public IZoneTreeIterator diff --git a/src/ZoneTree/Options/DiskSegmentMode.cs b/src/ZoneTree/Options/DiskSegmentMode.cs index 47ec978..9ae4f62 100644 --- a/src/ZoneTree/Options/DiskSegmentMode.cs +++ b/src/ZoneTree/Options/DiskSegmentMode.cs @@ -7,7 +7,7 @@ public enum DiskSegmentMode : byte { /// /// Disk segments are kept in single file. - /// Recommended for db size < sizeof(int) x 10M + /// Recommended for db size < sizeof(int) x 10M /// SingleDiskSegment = 0, diff --git a/src/ZoneTree/Transactional/BasicTransactionLog.cs b/src/ZoneTree/Transactional/BasicTransactionLog.cs index cee7c45..31a6178 100644 --- a/src/ZoneTree/Transactional/BasicTransactionLog.cs +++ b/src/ZoneTree/Transactional/BasicTransactionLog.cs @@ -306,19 +306,19 @@ public void CompactTransactionLog() // the uncommitted transaction that depends on the aborted one. DeleteAbortedTransactions(aborted, uncommitted); - /// 3. We can delete the entire history of - /// the aborted and committed transactions. - /// Because we require the history just - /// for the rollback operation of uncommitted transactions. - /// Committed and aborted transactions can not be rollbacked at all. + // 3. We can delete the entire history of + // the aborted and committed transactions. + // Because we require the history just + // for the rollback operation of uncommitted transactions. + // Committed and aborted transactions can not be rollbacked at all. DeleteHistoryOfAbortedAndCommittedTransactions(); - /// 4. We can delete all aborted transactions read-write stamps. - /// we can delete committed transaction read-write stamps - /// up to the first uncommitted transaction id to not to break the skip write rule. - /// Because the Rollback operation depends - /// on equality of uncommitted transaction write stamps. - /// rollback cancel condition: readWriteStamp.WriteStamp != uncommittedTransactionId + // 4. We can delete all aborted transactions read-write stamps. + // we can delete committed transaction read-write stamps + // up to the first uncommitted transaction id to not to break the skip write rule. + // Because the Rollback operation depends + // on equality of uncommitted transaction write stamps. + // rollback cancel condition: readWriteStamp.WriteStamp != uncommittedTransactionId var minimumUncommittedTransactionId = uncommitted.Count == 0 ? long.MaxValue : uncommitted.Min(); DeleteReadWriteStampsOfAbortedAndCommitted(minimumUncommittedTransactionId); diff --git a/src/ZoneTree/ZoneTree.csproj b/src/ZoneTree/ZoneTree.csproj index 081bdbe..7949db6 100644 --- a/src/ZoneTree/ZoneTree.csproj +++ b/src/ZoneTree/ZoneTree.csproj @@ -25,7 +25,6 @@ True - bin\docfx.log.txt @@ -40,12 +39,6 @@ \ - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - -