|
Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
|
Persistent page-managed B-Tree stored in a single binary file. More...
#include <tpl_file_b_tree.H>
Classes | |
| struct | Loaded_Image |
| struct | Page |
| struct | Wal_Record |
Public Types | |
| using | key_type = Key |
| Stored key type. | |
| using | tree_type = Gen_B_Tree< Key, Compare, MinDegree > |
| Logical in-memory counterpart. | |
| using | page_id_type = page_id_t |
| Type of on-disk page identifiers. | |
| using | open_mode_type = Paged_File_Open_Mode |
| File opening mode type. | |
Public Member Functions | |
| Gen_File_B_Tree (std::string file_path, const bool auto_sync=true, const Compare &cmp=Compare()) | |
| Open or create a paged persistent B-Tree file for read-write access. | |
| Gen_File_B_Tree (std::string file_path, const Paged_File_Open_Mode open_mode, const bool auto_sync=true, const Compare &cmp=Compare()) | |
| Open a paged persistent B-Tree file with an explicit access mode. | |
| Gen_File_B_Tree (const char *file_path, const bool auto_sync=true, const Compare &cmp=Compare()) | |
| Open or create a paged persistent B-Tree file for read-write access. | |
| Gen_File_B_Tree (const char *file_path, const Paged_File_Open_Mode open_mode, const bool auto_sync=true, const Compare &cmp=Compare()) | |
| Open a paged persistent B-Tree file with an explicit access mode. | |
| Gen_File_B_Tree (const Gen_File_B_Tree &)=delete | |
| Copying is disabled. | |
| Gen_File_B_Tree & | operator= (const Gen_File_B_Tree &)=delete |
| Assignment is disabled. | |
| Gen_File_B_Tree (Gen_File_B_Tree &&)=delete | |
| Moving is disabled. | |
| Gen_File_B_Tree & | operator= (Gen_File_B_Tree &&)=delete |
| Move assignment is disabled. | |
| ~Gen_File_B_Tree () noexcept | |
| Close the backing file. | |
| const Compare & | key_comp () const noexcept |
| Return the comparison object. | |
| const Compare & | get_compare () const noexcept |
| Return the comparison object. | |
| const std::string & | file_path () const noexcept |
| Return the backing file path. | |
| const std::string & | get_file_path () const noexcept |
| Synonym for file_path(). | |
| Paged_File_Open_Mode | open_mode () const noexcept |
| Return the access mode used to open the file. | |
| bool | is_read_only () const noexcept |
| Return whether this handle is read-only. | |
| bool | auto_sync_enabled () const noexcept |
| Return whether automatic synchronization is enabled. | |
| void | set_auto_sync (const bool enabled) noexcept |
| Enable or disable automatic flushing of dirty pages. | |
| size_t | page_size_bytes () const noexcept |
| Return the fixed serialized page size. | |
| size_t | page_count () const noexcept |
| Return the number of allocated pages currently tracked. | |
| std::uint64_t | checkpoint_sequence () const noexcept |
| Return the durable checkpoint sequence stored in the backing file. | |
| void | checkpoint () const |
| Synonym for sync(). | |
| void | sync () const |
| Flush the current tree image using redo WAL or full-image fallback. | |
| void | reload () |
| Discard unsynchronized changes and reload pages from disk. | |
| bool | empty () const noexcept |
| Return whether the tree has no keys. | |
| bool | is_empty () const noexcept |
| Synonym for empty(). | |
| size_t | size () const noexcept |
| Return the number of stored keys. | |
| size_t | height () const noexcept |
| Return the current height of the paged tree. | |
| void | clear () |
| Remove every key from the tree. | |
| bool | contains (const Key &key) const |
| Return whether a key is present. | |
| bool | search (const Key &key) const |
| Synonym for contains(). | |
| bool | insert (const Key &key) |
| Insert a key if it is not already present. | |
| bool | insert (Key &&key) |
| Insert a key by move if it is not already present. | |
| bool | remove (const Key &key) |
| Remove a key if present. | |
| std::optional< Key > | min_key () const |
| Return the minimum key, if any. | |
| std::optional< Key > | max_key () const |
| Return the maximum key, if any. | |
| std::optional< Key > | lower_bound (const Key &key) const |
Return the first key not less than key. | |
| std::optional< Key > | upper_bound (const Key &key) const |
Return the first key strictly greater than key. | |
| Array< Key > | keys () const |
| Materialize the tree contents in sorted order. | |
| bool | verify () const |
| Verify structural B-Tree invariants across cached pages. | |
Static Public Attributes | |
| static constexpr auto | Read_Write = Paged_File_Open_Mode::Read_Write |
| static constexpr auto | Read_Only = Paged_File_Open_Mode::Read_Only |
Private Types | |
| enum class | PageKind : std::uint8_t { Free = 0 , Internal = 1 , Leaf = 2 } |
| using | page_id_t = std::uint64_t |
Private Attributes | |
| Compare | cmp_ |
| std::string | file_path_ |
| Paged_File_Open_Mode | open_mode_ = Paged_File_Open_Mode::Read_Write |
| std::string | journal_path_ |
| std::string | journal_tmp_path_ |
| std::string | wal_path_ |
| std::string | wal_tmp_path_ |
| std::string | lock_path_ |
| detail::Pid_File_Lock | lock_ |
| std::fstream | file_ |
| Array< Page > | pages_ |
| Array< unsigned char > | dirty_pages_ |
| bool | header_dirty_ = false |
| bool | auto_sync_ = true |
| std::uint32_t | storage_format_version_ = FormatVersion |
| std::uint64_t | checkpoint_sequence_ = 0 |
| size_t | size_ = 0 |
| page_id_t | root_page_ = 0 |
| page_id_t | free_page_head_ = 0 |
Static Private Attributes | |
| static constexpr size_t | MaxKeys = 2 * MinDegree - 1 |
| static constexpr size_t | MaxChildren = 2 * MinDegree |
| static constexpr size_t | MinKeys = MinDegree - 1 |
| static constexpr std::uint32_t | LegacyFormatVersion = 1 |
| static constexpr std::uint32_t | ChecksummedFormatVersion = 2 |
| static constexpr std::uint32_t | HeaderCheckpointFormatVersion = 3 |
| static constexpr std::uint32_t | NativeCheckpointFormatVersion = 4 |
| static constexpr std::uint32_t | PortableFormatVersion = 5 |
| static constexpr std::uint32_t | FormatVersion = PortableFormatVersion |
| static constexpr std::uint32_t | EncodedKeySize |
| static constexpr std::uint8_t | PortableEncodingMarker = 3 |
| static constexpr std::uint8_t | EndianMarker |
| static constexpr std::uint32_t | LegacyWalVersion = 1 |
| static constexpr std::uint32_t | CommitTrailerWalVersion = 2 |
| static constexpr std::uint32_t | NativeWalVersion = 3 |
| static constexpr std::uint32_t | PortableWalVersion = 4 |
| static constexpr std::uint32_t | WalVersion = PortableWalVersion |
Persistent page-managed B-Tree stored in a single binary file.
Gen_File_B_Tree implements a file-backed B-Tree with:
The file is cached in memory after opening, but all updates operate directly on the paged representation instead of rebuilding an in-memory B_Tree and snapshotting its sorted keys. This makes the persistent file structurally faithful to a real on-disk B-Tree while keeping the exposed API close to the existing in-memory container.
| Key | Stored key type. It must be default-constructible and copyable for the in-memory page layout, and admit a fixed-size codec so keys can be serialized into portable on-disk pages. |
| Compare | Strict weak ordering used to sort keys. |
| MinDegree | Minimum degree t of the persistent B-Tree. Valid values are t >= 2. |
| Codec | Fixed-size codec used to serialize keys in current files. |
.lock sidecar with an advisory OS lock and pid marker.wal sidecar used for redo recovery of page-level commits with an explicit commit trailer.journal sidecar kept as a legacy full-image fallback pathWith auto_sync enabled, successful mutations write a redo WAL with the dirty page images and then checkpoint those changes into the backing file. Files can also be opened in Paged_File_Open_Mode::Read_Only, which acquires a shared lock and rejects any operation that would write or recover the file. Legacy stores being upgraded still use a full-image fallback path. With auto_sync disabled, mutations stay in the in-memory page cache until sync() is called. reload() discards any unsynchronized changes, replays a pending .wal or legacy .journal if present, and rereads the file. Readers accept the legacy native layouts (v1-v4) as well as the current portable v5 layout with per-page checkpoint sequences.
Read_Write handles take an exclusive advisory lock on the .lock sidecar, while Read_Only handles take a shared advisory lock on that same sidecar. The process also tracks open paths locally so invalid mixed opens fail even inside one process. Concurrent access through one handle still requires external synchronization.auto_sync is enabled and file I/O fails after a successful in-memory mutation, the object remains valid but the on-disk file may lag behind until a later successful sync().Codec in a fixed-size portable representation. Reopening a file still requires the same Compare, MinDegree, and Codec::storage_id. Legacy native formats (v1-v4) remain readable only when Key is trivially copyable.Generic paged persistent B-Tree container.
This class implements a file-backed B-Tree with a page cache. It is optimized for large datasets that cannot fit entirely in RAM, providing persistent sorted storage with O(log n) performance.
| Key | Type of stored elements. |
| Compare | Strict weak ordering used to sort keys. |
| MinDegree | Minimum degree t determining the branching factor. |
| Codec | Fixed-size codec used for serialization. |
Definition at line 156 of file tpl_file_b_tree.H.
| using Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::key_type = Key |
Stored key type.
Definition at line 2098 of file tpl_file_b_tree.H.
| using Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::open_mode_type = Paged_File_Open_Mode |
File opening mode type.
Definition at line 2101 of file tpl_file_b_tree.H.
|
private |
Definition at line 185 of file tpl_file_b_tree.H.
| using Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page_id_type = page_id_t |
Type of on-disk page identifiers.
Definition at line 2100 of file tpl_file_b_tree.H.
| using Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::tree_type = Gen_B_Tree<Key, Compare, MinDegree> |
Logical in-memory counterpart.
Definition at line 2099 of file tpl_file_b_tree.H.
|
strongprivate |
| Enumerator | |
|---|---|
| Free | |
| Internal | |
| Leaf | |
Definition at line 187 of file tpl_file_b_tree.H.
|
inlineexplicit |
Open or create a paged persistent B-Tree file for read-write access.
| file_path | Path to the backing file. |
| auto_sync | If true, successful mutations flush dirty pages and the header to disk. |
| cmp | Comparison functor used to order keys. |
| std::runtime_error | If the file cannot be created, opened, read, or validated. |
| std::bad_alloc | If the in-memory page cache cannot be allocated. |
Definition at line 2115 of file tpl_file_b_tree.H.
|
inlineexplicit |
Open a paged persistent B-Tree file with an explicit access mode.
| file_path | Path to the backing file. |
| open_mode | Read_Write to allow mutations and recovery, or Read_Only for shared-lock read access to an already clean file. |
| auto_sync | If true, successful mutations flush dirty pages and the header to disk. Read-only handles always behave as if this were false. |
| cmp | Comparison functor used to order keys. |
| std::runtime_error | If the file cannot be created, opened, read, or validated, or if a read-only open would require recovery. |
| std::bad_alloc | If the in-memory page cache cannot be allocated. |
Definition at line 2133 of file tpl_file_b_tree.H.
References Aleph::detail::Pid_File_Lock::acquire(), ah_runtime_error_unless, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::create_empty_file(), Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::ensure_writable(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::file_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::file_exists(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::file_path_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::init_sidecar_paths(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::load_from_disk(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::lock_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::lock_mode(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::lock_path_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::open_storage(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_only(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::recover_if_needed(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::tree_kind().
|
inlineexplicit |
Open or create a paged persistent B-Tree file for read-write access.
| file_path | Path to the backing file. |
| auto_sync | If true, successful mutations flush dirty pages and the header to disk. |
| cmp | Comparison functor used to order keys. |
| std::runtime_error | If the file cannot be created, opened, read, or validated. |
| std::bad_alloc | If the in-memory page cache cannot be allocated. |
Definition at line 2183 of file tpl_file_b_tree.H.
|
inlineexplicit |
Open a paged persistent B-Tree file with an explicit access mode.
| file_path | Path to the backing file. |
| open_mode | Read_Write to allow mutations and recovery, or Read_Only for shared-lock read access to an already clean file. |
| auto_sync | If true, successful mutations flush dirty pages and the header to disk. Read-only handles always behave as if this were false. |
| cmp | Comparison functor used to order keys. |
| std::runtime_error | If the file cannot be created, opened, read, or validated, or if a read-only open would require recovery. |
| std::bad_alloc | If the in-memory page cache cannot be allocated. |
Definition at line 2202 of file tpl_file_b_tree.H.
|
delete |
Copying is disabled.
|
delete |
Moving is disabled.
|
inlinenoexcept |
Close the backing file.
| Nothing. |
Definition at line 2225 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::file_.
|
inlinestaticprivate |
Definition at line 605 of file tpl_file_b_tree.H.
References Aleph::divide_and_conquer_partition_dp().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page_checksum(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::wal_record_checksum_add().
|
inlinestaticprivate |
Definition at line 612 of file tpl_file_b_tree.H.
References ah_runtime_error, Aleph::detail::crc32_add_bytes(), and Aleph::divide_and_conquer_partition_dp().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page_checksum_v3(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page_checksum_v4(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::wal_record_checksum_add_v2(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::wal_record_checksum_add_v3().
|
inlineprivate |
Definition at line 1735 of file tpl_file_b_tree.H.
References Aleph::Array< T >::append(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::dirty_pages_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::free_page_head_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::link, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::make_page(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::mark_header_dirty(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::mark_page_dirty(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::pages_.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::insert(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::split_child().
|
inlineprivate |
Definition at line 1118 of file tpl_file_b_tree.H.
References ah_runtime_error_unless, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::checkpoint_sequence(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::checkpoint_sequence_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::dirty_pages_, Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::file_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::file_exists(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::file_path_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::FormatVersion, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::open_storage(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page(), Aleph::Array< T >::size(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::storage_format_version_, Aleph::detail::sync_file_by_path(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::tree_kind(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_current_header_to_storage(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_current_page_to_storage(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_full_image_to_path().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::sync().
|
inlinenoexcept |
Return whether automatic synchronization is enabled.
true if successful mutations call sync(). | Nothing. |
Definition at line 2290 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::auto_sync_.
Referenced by Aleph::Gen_File_B_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::auto_sync_enabled(), and TEST().
|
inlineprivate |
Definition at line 1877 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::child_count, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::children, Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::erase_child_at(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::erase_key_at(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::is_leaf(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::key_count, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::keys, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::mark_page_dirty(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::ensure_child_has_extra().
|
inlineprivate |
Definition at line 1855 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::children, Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::erase_child_at(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::erase_key_at(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::insert_child_at(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::insert_key_at(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::is_leaf(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::key_count, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::keys(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::keys, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::mark_page_dirty(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::ensure_child_has_extra().
|
inline |
Synonym for sync().
| std::runtime_error | If the file cannot be written or flushed. |
Definition at line 2334 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::sync().
Referenced by Aleph::Gen_File_B_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::checkpoint(), and TEST().
|
inlinenoexcept |
Return the durable checkpoint sequence stored in the backing file.
| Nothing. |
Definition at line 2326 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::checkpoint_sequence_.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::apply_current_cache_to_storage(), Aleph::Gen_File_B_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::checkpoint_sequence(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::header_checksum(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::stamp_all_pages_for_checkpoint(), TEST(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::wal_header_checksum(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_current_header_to_storage(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_full_image(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_full_image_to_path(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_header_to_storage(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_wal_to_path().
|
inlinestaticconstexprprivatenoexcept |
Definition at line 293 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::legacy_header_bytes().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::header_bytes(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::serialized_header_bytes().
|
inlinestaticconstexprprivatenoexcept |
Definition at line 311 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::legacy_page_bytes().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::serialized_page_bytes().
|
inline |
Remove every key from the tree.
| std::runtime_error | If auto_sync is enabled and flushing fails. |
Definition at line 2419 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::ensure_writable(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::init_empty_cache(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::sync_if_enabled().
Referenced by Aleph::Gen_File_B_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::clear().
|
inlineprivatenoexcept |
Definition at line 1626 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::dirty_pages_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::header_dirty_, and Aleph::Array< T >::size().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::sync().
|
inlineprivate |
Definition at line 1995 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::child_count, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::children, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::collect_keys(), Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::is_leaf(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::key_count, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::keys, and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::collect_keys(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::keys().
|
inline |
Return whether a key is present.
| key | Key to search. |
true if the key exists, otherwise false. | Any | exception propagated by Compare. |
Definition at line 2431 of file tpl_file_b_tree.H.
References Aleph::and, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::children, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::equals(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::is_leaf(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::keys(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::lower_bound_index(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::root_page_.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::insert(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::search(), and TEST().
|
inlineprivate |
Definition at line 1541 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::ensure_writable(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::init_empty_cache(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::open_storage(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::sync().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Gen_File_B_Tree().
|
inlineprivatenoexcept |
Definition at line 817 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::header_bytes(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page_bytes().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_storage_page_if_current(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_current_page_to_storage().
|
inlineprivatenoexcept |
Definition at line 873 of file tpl_file_b_tree.H.
References Aleph::count(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::dirty_pages_, and Aleph::Array< T >::size().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_wal_to_path().
|
inlinenoexcept |
Return whether the tree has no keys.
true if empty, otherwise false. | Nothing. |
Definition at line 2385 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::size_.
Referenced by Aleph::Gen_File_B_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::empty(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::is_empty().
|
inlinestaticconstexprprivatenoexcept |
Definition at line 357 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::EndianMarker, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::PortableEncodingMarker, and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::version_uses_portable_codec().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::header_checksum(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::header_checksum_v2(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_image(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::wal_header_checksum(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_full_image(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_header_to_storage(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_wal_to_path().
|
inlineprivate |
Definition at line 1920 of file tpl_file_b_tree.H.
References Aleph::and, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::borrow_from_next(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::borrow_from_prev(), Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::merge_children(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::remove_from().
|
inlinestaticprivate |
Definition at line 395 of file tpl_file_b_tree.H.
References ah_runtime_error, Aleph::divide_and_conquer_partition_dp(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::PortableFormatVersion.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_image().
|
inlinestaticprivate |
Definition at line 408 of file tpl_file_b_tree.H.
References ah_runtime_error, and Aleph::divide_and_conquer_partition_dp().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal().
|
inlineprivate |
Definition at line 449 of file tpl_file_b_tree.H.
References ah_runtime_error_unless, Aleph::divide_and_conquer_partition_dp(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::file_path_.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::open_storage().
|
inlineprivate |
Definition at line 259 of file tpl_file_b_tree.H.
References ah_runtime_error_unless, Aleph::divide_and_conquer_partition_dp(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_only().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Gen_File_B_Tree(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::clear(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::create_empty_file(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::insert(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::open_storage(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::remove(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::sync().
|
inlineprivate |
Definition at line 1665 of file tpl_file_b_tree.H.
References Aleph::and, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::cmp_, and Aleph::divide_and_conquer_partition_dp().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::contains(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::remove_from(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::upper_bound_index().
|
inlinestaticprivate |
Definition at line 1726 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::child_count, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::children, Aleph::divide_and_conquer_partition_dp(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::borrow_from_next(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::borrow_from_prev(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::merge_children().
|
inlinestaticprivate |
Definition at line 1708 of file tpl_file_b_tree.H.
References Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::key_count, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::keys, and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::borrow_from_next(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::borrow_from_prev(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::merge_children(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::remove_from().
|
inlineprivate |
Definition at line 1549 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::file_path_.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Gen_File_B_Tree(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::apply_current_cache_to_storage(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::reload(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::storage_format_version_on_disk(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::sync().
|
inlinestaticconstexprprivatenoexcept |
Definition at line 266 of file tpl_file_b_tree.H.
References Aleph::detail::ordered_tree_snapshot_magic().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_image(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::storage_format_version_on_disk(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_full_image(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_header_to_storage().
|
inlinenoexcept |
Return the backing file path.
| Nothing. |
Definition at line 2254 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::file_path_.
Referenced by Aleph::Gen_File_B_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::file_path(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::get_file_path(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_key(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_native_key(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_pod(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_portable_key(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_key(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_native_key(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_pod(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_portable_key().
|
inlinenoexcept |
Return the comparison object.
| Nothing. |
Definition at line 2245 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::key_comp().
|
inlinenoexcept |
Synonym for file_path().
| Nothing. |
Definition at line 2263 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::file_path().
|
inlineprivatenoexcept |
Definition at line 1615 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::dirty_pages_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::header_dirty_, and Aleph::Array< T >::size().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::sync().
|
inlinestaticconstexprprivatenoexcept |
Definition at line 298 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::checksummed_header_bytes().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::current_page_offset(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::serialized_header_bytes().
|
inlinestaticprivatenoexcept |
Definition at line 648 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::checkpoint_sequence(), Aleph::detail::crc32_add(), Aleph::detail::crc32_add_bytes(), Aleph::detail::crc32_begin(), Aleph::detail::crc32_finish(), Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::encoding_marker_for_version(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::key_size_for_version(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page_count(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::reserved_bytes_for_version(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::size().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_image(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_full_image(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_header_to_storage().
|
inlinestaticprivatenoexcept |
Definition at line 627 of file tpl_file_b_tree.H.
References Aleph::detail::crc32_add(), Aleph::detail::crc32_add_bytes(), Aleph::detail::crc32_begin(), Aleph::detail::crc32_finish(), Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::encoding_marker_for_version(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::key_size_for_version(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page_count(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::reserved_bytes_for_version(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::size().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_image().
|
inlinenoexcept |
Return the current height of the paged tree.
0 for an empty tree, otherwise the number of node levels. | Nothing. |
Definition at line 2403 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::children, h, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::is_leaf(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::root_page_.
Referenced by Aleph::Gen_File_B_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::height().
|
inlineprivate |
Definition at line 435 of file tpl_file_b_tree.H.
References Aleph::Array< T >::append(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::checkpoint_sequence_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::dirty_pages_, Aleph::Array< T >::empty(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::FormatVersion, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::free_page_head_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::header_dirty_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::pages_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::root_page_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::size_, and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::storage_format_version_.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::clear(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::create_empty_file().
|
inlineprivate |
Definition at line 491 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::file_path_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::journal_path_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::journal_tmp_path_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::lock_path_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::wal_path_, and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::wal_tmp_path_.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Gen_File_B_Tree().
|
inline |
Insert a key if it is not already present.
| key | Key to insert. |
true if insertion happened, false if it was duplicate. | std::bad_alloc | If the page cache grows and allocation fails. |
| std::runtime_error | If auto_sync is enabled and flushing fails. |
| Any | exception propagated by Compare or Key copies. |
Definition at line 2463 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::allocate_page(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::child_count, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::children, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::contains(), Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::ensure_writable(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::insert_nonfull(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Internal, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::key_count, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::keys, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Leaf, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::mark_header_dirty(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::mark_page_dirty(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::MaxKeys, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::root_page_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::size_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::split_child(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::sync_if_enabled().
Referenced by Aleph::Gen_File_B_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::insert(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::insert(), Aleph::Gen_File_B_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::insert_or_assign(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), and TEST().
|
inline |
Insert a key by move if it is not already present.
| key | Key to insert. |
true if insertion happened, false if it was duplicate. | std::bad_alloc | If the page cache grows and allocation fails. |
| std::runtime_error | If auto_sync is enabled and flushing fails. |
| Any | exception propagated by Compare or Key copies. |
Definition at line 2506 of file tpl_file_b_tree.H.
References Aleph::copy(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::insert().
|
inlinestaticprivate |
Definition at line 1717 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::child_count, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::children, Aleph::divide_and_conquer_partition_dp(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::borrow_from_prev(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::split_child().
|
inlinestaticprivate |
Definition at line 1700 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::key_count, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::keys, and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::borrow_from_prev(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::insert_nonfull(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::split_child().
|
inlineprivate |
Definition at line 1834 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::children, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::cmp_, Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::insert_key_at(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::insert_nonfull(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::is_leaf(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::keys(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::lower_bound_index(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::mark_page_dirty(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::MaxKeys, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::split_child().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::insert(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::insert_nonfull().
|
inlinenoexcept |
Synonym for empty().
true if empty, otherwise false. | Nothing. |
Definition at line 2391 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::empty().
|
inlinestaticconstexprprivatenoexcept |
Definition at line 425 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Internal, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::kind, and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::max_in(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::min_in(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::verify_node().
|
inlinestaticconstexprprivatenoexcept |
Definition at line 420 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::kind, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Leaf, and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::borrow_from_next(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::borrow_from_prev(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::collect_keys(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::contains(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::height(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::insert_nonfull(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::lower_bound(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::merge_children(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::remove(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::remove_from(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::split_child(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::upper_bound(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::verify_node().
|
inlinenoexcept |
Return whether this handle is read-only.
true if opened in Read_Only mode, otherwise false. | Nothing. |
Definition at line 2281 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_only().
Referenced by Aleph::Gen_File_B_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::is_read_only().
|
inlinenoexcept |
Return the comparison object.
| Nothing. |
Definition at line 2239 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::cmp_.
Referenced by Aleph::Gen_File_B_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::equals_key(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::get_compare(), and Aleph::Gen_File_B_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::key_comp().
|
inlinestaticconstexprprivatenoexcept |
Definition at line 365 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::EncodedKeySize, and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::version_uses_portable_codec().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::header_checksum(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::header_checksum_v2(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_image(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::wal_header_checksum(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_full_image(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_header_to_storage(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_wal_to_path().
|
inline |
Materialize the tree contents in sorted order.
| std::bad_alloc | If the result array cannot grow. |
| Any | exception propagated by Key copy construction. |
Definition at line 2627 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::collect_keys(), Aleph::divide_and_conquer_partition_dp(), Aleph::Array< T >::reserve(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::root_page_, and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::size_.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::borrow_from_prev(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::contains(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::insert_nonfull(), Aleph::Gen_File_B_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::items(), Aleph::Gen_File_B_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::keys(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::remove_from(), TEST(), TEST(), and Aleph::Gen_File_B_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::values().
|
inlinestaticconstexprprivatenoexcept |
Definition at line 287 of file tpl_file_b_tree.H.
References Aleph::detail::Ordered_Tree_Snapshot_Magic_Size.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::checksummed_header_bytes(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::serialized_header_bytes().
|
inlinestaticconstexprprivatenoexcept |
Definition at line 303 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::MaxChildren, and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::MaxKeys.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::checksummed_page_bytes(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::native_page_bytes(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::serialized_page_bytes().
|
inlineprivate |
Definition at line 1519 of file tpl_file_b_tree.H.
References ah_runtime_error_unless, Aleph::Array< T >::append(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::checkpoint_sequence_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::dirty_pages_, Aleph::divide_and_conquer_partition_dp(), Aleph::Array< T >::empty(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::file_path_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::free_page_head_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::header_dirty_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::open_storage(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::pages_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_image(), Aleph::Array< T >::reserve(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::root_page_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::size_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::storage_format_version_, and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::verify().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Gen_File_B_Tree(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::reload().
|
inlineprivatenoexcept |
Definition at line 247 of file tpl_file_b_tree.H.
References Aleph::detail::Exclusive, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::open_mode_, Aleph::Read_Only, and Aleph::detail::Shared.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Gen_File_B_Tree().
|
inline |
Return the first key not less than key.
| key | Probe key. |
std::nullopt if none exists. | Any | exception propagated by Compare or Key. |
Definition at line 2581 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::children, Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::is_leaf(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::keys, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::lower_bound_index(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::root_page_.
Referenced by Aleph::Gen_File_B_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::find_record(), Aleph::Gen_File_B_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::insert_or_assign(), and Aleph::Gen_File_B_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::lower_bound().
|
inlineprivate |
Definition at line 1681 of file tpl_file_b_tree.H.
References Aleph::and, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::cmp_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::key_count, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::keys, and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::contains(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::insert_nonfull(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::lower_bound(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::remove_from().
|
inlinestaticconstexprprivatenoexcept |
Definition at line 388 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::kind, and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::allocate_page(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::release_page().
|
inlineprivatenoexcept |
Definition at line 1646 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::header_dirty_.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::allocate_page(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::insert(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::release_page(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::remove().
|
inlineprivate |
Definition at line 1633 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::checkpoint_sequence, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::checkpoint_sequence_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::dirty_pages_, and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::allocate_page(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::borrow_from_next(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::borrow_from_prev(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::insert(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::insert_nonfull(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::merge_children(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::release_page(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::remove_from(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::split_child().
|
inlineprivate |
Definition at line 1783 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::child_count, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::children, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::is_internal(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::key_count, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::keys, and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::max_key(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::remove_from().
|
inline |
Return the maximum key, if any.
std::nullopt if empty. | Any | exception propagated by Key copy construction. |
Definition at line 2571 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::max_in(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::root_page_.
Referenced by Aleph::Gen_File_B_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::max_item(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::verify_node().
|
inlineprivate |
Definition at line 1897 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::child_count, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::children, Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::erase_child_at(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::erase_key_at(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::is_leaf(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::key_count, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::keys, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::mark_page_dirty(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::release_page().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::ensure_child_has_extra(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::remove_from().
|
inlineprivate |
Definition at line 1764 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::child_count, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::children, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::is_internal(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::key_count, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::keys, and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::min_key(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::remove_from().
|
inline |
Return the minimum key, if any.
std::nullopt if empty. | Any | exception propagated by Key copy construction. |
Definition at line 2562 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::min_in(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::root_page_.
Referenced by Aleph::Gen_File_B_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::min_item(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::verify_node().
|
inlinestaticconstexprprivatenoexcept |
Definition at line 316 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::legacy_page_bytes().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::serialized_page_bytes().
|
inlinenoexcept |
Return the access mode used to open the file.
Read_Write or Read_Only. | Nothing. |
Definition at line 2272 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::open_mode_.
Referenced by Aleph::Gen_File_B_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::open_mode().
|
inlineprivate |
Definition at line 465 of file tpl_file_b_tree.H.
References ah_runtime_error_unless, Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::ensure_parent_dir(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::ensure_writable(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::file_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::file_path_, Aleph::mode(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_only().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Gen_File_B_Tree(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::apply_current_cache_to_storage(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::create_empty_file(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::load_from_disk(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_storage_page_if_current(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal().
|
delete |
Assignment is disabled.
|
delete |
Move assignment is disabled.
|
inlineprivate |
Definition at line 1651 of file tpl_file_b_tree.H.
References ah_runtime_error_unless, Aleph::and, and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::pages_.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::allocate_page(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::apply_current_cache_to_storage(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::borrow_from_next(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::borrow_from_prev(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::collect_keys(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::contains(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::ensure_child_has_extra(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::erase_child_at(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::erase_key_at(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::height(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::insert(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::insert_child_at(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::insert_key_at(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::insert_nonfull(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::is_free(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::is_internal(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::is_leaf(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::lower_bound(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::lower_bound_index(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::make_page(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::mark_page_dirty(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::max_in(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::merge_children(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::min_in(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page_checksum(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page_checksum_v3(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page_checksum_v4(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_page_from_stream(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::release_page(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::remove(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::remove_from(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::split_child(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::stamp_all_pages_for_checkpoint(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::strictly_sorted(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::upper_bound(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::upper_bound_index(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::verify_node(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::wal_record_checksum_add(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::wal_record_checksum_add_v2(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::wal_record_checksum_add_v3(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_current_page_to_storage(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_full_image(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_page_record(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_wal_to_path().
|
inlineprivate |
Definition at line 1658 of file tpl_file_b_tree.H.
References ah_runtime_error_unless, Aleph::and, and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::pages_.
|
inlinestaticconstexprprivatenoexcept |
Definition at line 329 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::portable_page_bytes().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::current_page_offset(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page_size_bytes(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_storage_page_if_current().
|
inlinestaticprivate |
Definition at line 687 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::add_key_to_crc(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::checkpoint_sequence, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::child_count, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::children, Aleph::detail::crc32_add(), Aleph::detail::crc32_add_bytes(), Aleph::detail::crc32_begin(), Aleph::detail::crc32_finish(), Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::key_count, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::keys, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::kind, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::link, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::MaxKeys, and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_page_from_stream(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::wal_record_checksum_add(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_page_record().
|
inlinestaticprivate |
Definition at line 671 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::add_native_key_to_crc(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::child_count, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::children, Aleph::detail::crc32_add(), Aleph::detail::crc32_add_bytes(), Aleph::detail::crc32_begin(), Aleph::detail::crc32_finish(), Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::key_count, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::keys, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::kind, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::link, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::MaxKeys, and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_page_from_stream(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::wal_record_checksum_add_v2().
|
inlinestaticprivate |
Definition at line 704 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::add_native_key_to_crc(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::checkpoint_sequence, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::child_count, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::children, Aleph::detail::crc32_add(), Aleph::detail::crc32_add_bytes(), Aleph::detail::crc32_begin(), Aleph::detail::crc32_finish(), Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::key_count, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::keys, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::kind, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::link, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::MaxKeys, and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_page_from_stream(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::wal_record_checksum_add_v3().
|
inlinenoexcept |
Return the number of allocated pages currently tracked.
| Nothing. |
Definition at line 2317 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::pages_.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::header_checksum(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::header_checksum_v2(), Aleph::Gen_File_B_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::page_count(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_image(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::wal_header_checksum(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_full_image(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_header_to_storage(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_wal_to_path().
|
inlinenoexcept |
Return the fixed serialized page size.
| Nothing. |
Definition at line 2308 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page_bytes().
Referenced by Aleph::Gen_File_B_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::page_size_bytes().
|
inlinestaticconstexprprivatenoexcept |
Definition at line 321 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::MaxChildren, and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::MaxKeys.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page_bytes(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::serialized_page_bytes().
|
inlineprivate |
Definition at line 1401 of file tpl_file_b_tree.H.
References ah_runtime_error_unless, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::ChecksummedFormatVersion, Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::encoding_marker_for_version(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::ensure_legacy_native_format_supported(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::file_magic(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::FormatVersion, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::header_checksum(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::header_checksum_v2(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::HeaderCheckpointFormatVersion, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::key_size_for_version(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::LegacyFormatVersion, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::NativeCheckpointFormatVersion, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page_count(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::PortableFormatVersion, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_page_from_stream(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::reserved_bytes_for_version(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::serialized_header_bytes(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::serialized_page_bytes(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Loaded_Image::version.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::load_from_disk(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::recover_if_needed().
|
inlinestaticprivate |
Definition at line 595 of file tpl_file_b_tree.H.
References Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::file_path(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_native_key(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_portable_key(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::version_uses_portable_codec().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_page_from_stream().
|
inlinestaticprivate |
Definition at line 562 of file tpl_file_b_tree.H.
References ah_runtime_error, ah_runtime_error_unless, Aleph::divide_and_conquer_partition_dp(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::file_path().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_key().
|
inlineprivatenoexcept |
Definition at line 254 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::open_mode_, and Aleph::Read_Only.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Gen_File_B_Tree(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::ensure_writable(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::is_read_only(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::open_storage(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::recover_if_needed(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::set_auto_sync().
|
inlinestaticprivate |
Definition at line 1008 of file tpl_file_b_tree.H.
References ah_runtime_error_unless, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::checkpoint_sequence, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::child_count, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::children, Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::HeaderCheckpointFormatVersion, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::key_count, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::keys, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::kind, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::link, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::MaxChildren, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::MaxKeys, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::NativeCheckpointFormatVersion, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page_checksum(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page_checksum_v3(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page_checksum_v4(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::PortableFormatVersion, and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_key().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_image(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_storage_page_if_current(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal().
|
inlinestaticprivate |
Definition at line 512 of file tpl_file_b_tree.H.
References ah_runtime_error_unless, Aleph::divide_and_conquer_partition_dp(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::file_path().
|
inlinestaticprivate |
Definition at line 584 of file tpl_file_b_tree.H.
References ah_runtime_error_unless, Aleph::divide_and_conquer_partition_dp(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::file_path().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_key().
|
inlineprivate |
Definition at line 1579 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::current_page_offset(), Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::file_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::file_path_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::FormatVersion, offset, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::open_storage(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page_bytes(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_page_from_stream(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::storage_format_version_on_disk().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal().
|
inlineprivate |
Definition at line 1148 of file tpl_file_b_tree.H.
References ah_runtime_error_unless, Aleph::and, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::checkpoint_sequence_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::CommitTrailerWalVersion, Aleph::detail::crc32_begin(), Aleph::detail::crc32_finish(), Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::encoding_marker_for_version(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::ensure_legacy_native_wal_supported(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::file_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::file_exists(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::file_path_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::FormatVersion, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::key_size_for_version(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::LegacyWalVersion, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::NativeWalVersion, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::open_storage(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::PortableWalVersion, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_image(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_only(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_page_from_stream(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_storage_page_if_current(), Aleph::detail::remove_file_if_exists(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::reserved_bytes_for_version(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::storage_format_version_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::storage_format_version_on_disk(), Aleph::detail::sync_file_by_path(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::tree_kind(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::wal_header_bytes(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::wal_header_checksum(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::wal_magic(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::wal_path_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::wal_record_bytes(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::wal_record_checksum_add(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::wal_record_checksum_add_v2(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::wal_record_checksum_add_v3(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::wal_record_format_version(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::wal_tmp_path_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::wal_trailer_bytes(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::wal_trailer_magic(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::WalVersion, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_current_page_to_storage(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_header_to_storage().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::recover_if_needed().
|
inlineprivate |
Definition at line 1375 of file tpl_file_b_tree.H.
References ah_runtime_error_unless, Aleph::and, Aleph::detail::copy_file_contents(), Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::file_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::file_path_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::journal_path_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::journal_tmp_path_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_image(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_only(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal(), Aleph::detail::remove_file_if_exists(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::tree_kind().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Gen_File_B_Tree(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::reload().
|
inlineprivate |
Definition at line 1754 of file tpl_file_b_tree.H.
References Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Free, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::free_page_head_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::make_page(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::mark_header_dirty(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::mark_page_dirty(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::merge_children(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::remove().
|
inline |
Discard unsynchronized changes and reload pages from disk.
| std::runtime_error | If the file cannot be reopened or validated. |
| std::bad_alloc | If reloading the page cache exhausts memory. |
Definition at line 2373 of file tpl_file_b_tree.H.
References ah_runtime_error_unless, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::file_exists(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::file_path_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::load_from_disk(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::recover_if_needed().
Referenced by Aleph::Gen_File_B_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::reload(), and TEST().
|
inline |
Remove a key if present.
| key | Key to erase. |
true if the key was removed, otherwise false. | std::runtime_error | If auto_sync is enabled and flushing fails. |
| Any | exception propagated by Compare or Key assignments. |
Definition at line 2518 of file tpl_file_b_tree.H.
References Aleph::and, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::children, Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::ensure_writable(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::is_leaf(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::mark_header_dirty(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::release_page(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::remove_from(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::root_page_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::size_, and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::sync_if_enabled().
Referenced by Aleph::Gen_File_B_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::insert_or_assign(), Aleph::Gen_File_B_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::remove(), TEST(), TEST(), and TEST().
|
inlineprivate |
Definition at line 1950 of file tpl_file_b_tree.H.
References Aleph::and, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::children, Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::ensure_child_has_extra(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::equals(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::erase_key_at(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::is_leaf(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::key_count, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::keys(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::keys, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::lower_bound_index(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::mark_page_dirty(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::max_in(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::merge_children(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::min_in(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page(), pred, and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::remove_from().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::remove(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::remove_from().
|
inlinestaticconstexprprivatenoexcept |
Definition at line 374 of file tpl_file_b_tree.H.
References Aleph::divide_and_conquer_partition_dp(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::version_uses_portable_codec().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::header_checksum(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::header_checksum_v2(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_image(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::wal_header_checksum(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_full_image(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_header_to_storage(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_wal_to_path().
|
inline |
Synonym for contains().
| key | Key to search. |
true if the key exists, otherwise false. | Any | exception propagated by Compare. |
Definition at line 2451 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::contains().
|
inlineprivate |
Definition at line 809 of file tpl_file_b_tree.H.
References ah_runtime_error_unless, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::file_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::file_path_, and offset.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_current_page_to_storage(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_header_to_storage().
|
inlinestaticconstexprprivatenoexcept |
Definition at line 334 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::checksummed_header_bytes(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::ChecksummedFormatVersion, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::header_bytes(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::HeaderCheckpointFormatVersion, and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::legacy_header_bytes().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_image().
|
inlinestaticconstexprprivatenoexcept |
Definition at line 342 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::checksummed_page_bytes(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::HeaderCheckpointFormatVersion, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::legacy_page_bytes(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::native_page_bytes(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::NativeCheckpointFormatVersion, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::portable_page_bytes(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::PortableFormatVersion.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_image(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::wal_record_bytes().
|
inlinenoexcept |
Enable or disable automatic flushing of dirty pages.
| enabled | New auto-sync mode. |
| Nothing. |
Definition at line 2299 of file tpl_file_b_tree.H.
References Aleph::and, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::auto_sync_, Aleph::divide_and_conquer_partition_dp(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_only().
Referenced by Aleph::Gen_File_B_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::set_auto_sync(), and TEST().
|
inlinenoexcept |
Return the number of stored keys.
| Nothing. |
Definition at line 2397 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::size_.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::header_checksum(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::header_checksum_v2(), Aleph::Gen_File_B_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::size(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::wal_header_checksum(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_full_image(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_header_to_storage(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_wal_to_path().
|
inlineprivate |
Definition at line 1802 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::allocate_page(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::child_count, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::children, Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::insert_child_at(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::insert_key_at(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Internal, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::is_leaf(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::key_count, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::keys, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Leaf, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::mark_page_dirty(), Aleph::median(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::MinKeys, and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::insert(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::insert_nonfull().
|
inlineprivatenoexcept |
Definition at line 1639 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::checkpoint_sequence, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::checkpoint_sequence(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::pages_.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::sync().
|
inlineprivate |
Definition at line 1554 of file tpl_file_b_tree.H.
References Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::file_exists(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::file_magic(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::file_path_.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_storage_page_if_current(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal().
|
inlineprivate |
Definition at line 1670 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::cmp_, Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::key_count, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::keys, and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::verify_node().
|
inline |
Flush the current tree image using redo WAL or full-image fallback.
| std::runtime_error | If the file cannot be written or flushed. |
Definition at line 2342 of file tpl_file_b_tree.H.
References Aleph::and, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::apply_current_cache_to_storage(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::checkpoint_sequence_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::clear_dirty_state(), Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::ensure_writable(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::file_exists(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::FormatVersion, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::has_pending_changes(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::journal_path_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::journal_tmp_path_, Aleph::detail::remove_file_if_exists(), Aleph::detail::rename_file_atomic(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::stamp_all_pages_for_checkpoint(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::storage_format_version_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::tree_kind(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::wal_path_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::wal_tmp_path_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_full_image_to_path(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_wal_to_path().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::checkpoint(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::create_empty_file(), Aleph::Gen_File_B_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::sync(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::sync_if_enabled(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), and TEST().
|
inlineprivate |
Definition at line 2091 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::auto_sync_, and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::sync().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::clear(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::insert(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::remove().
|
inlinestaticconstexprprivatenoexcept |
Definition at line 242 of file tpl_file_b_tree.H.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Gen_File_B_Tree(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::apply_current_cache_to_storage(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::recover_if_needed(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::sync(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_full_image_to_path(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_wal_to_path().
|
inline |
Return the first key strictly greater than key.
| key | Probe key. |
std::nullopt if none exists. | Any | exception propagated by Compare or Key. |
Definition at line 2604 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::children, Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::is_leaf(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::keys, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::root_page_, and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::upper_bound_index().
Referenced by Aleph::Gen_File_B_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::upper_bound().
|
inlineprivate |
Definition at line 1690 of file tpl_file_b_tree.H.
References Aleph::and, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::cmp_, Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::equals(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::key_count, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::keys, and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::upper_bound().
|
inline |
Verify structural B-Tree invariants across cached pages.
true if the tree is structurally valid, otherwise false. | Any | exception propagated by Compare or Key. |
Definition at line 2639 of file tpl_file_b_tree.H.
References Aleph::and, Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::pages_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::root_page_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::size_, and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::verify_node().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::load_from_disk(), TEST(), TEST(), TEST(), TEST(), and Aleph::Gen_File_B_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::verify().
|
inlineprivate |
Definition at line 2016 of file tpl_file_b_tree.H.
References Aleph::and, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::child_count, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::children, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::cmp_, Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::is_internal(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::is_leaf(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::key_count, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::keys, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::max_key(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::MaxKeys, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::min_key(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::MinKeys, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::pages_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::root_page_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::strictly_sorted(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::verify_node().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::verify(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::verify_node().
|
inlinestaticconstexprprivatenoexcept |
Definition at line 351 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::PortableFormatVersion.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::encoding_marker_for_version(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::key_size_for_version(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_key(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::reserved_bytes_for_version().
|
inlinestaticconstexprprivatenoexcept |
Definition at line 882 of file tpl_file_b_tree.H.
References Aleph::detail::Ordered_Tree_Snapshot_Magic_Size.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal().
|
inlinestaticprivatenoexcept |
Definition at line 903 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::checkpoint_sequence(), Aleph::detail::crc32_add(), Aleph::detail::crc32_add_bytes(), Aleph::detail::crc32_begin(), Aleph::detail::crc32_finish(), Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::encoding_marker_for_version(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::key_size_for_version(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page_count(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::reserved_bytes_for_version(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::size(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::wal_record_format_version().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_wal_to_path().
|
inlinestaticconstexprprivatenoexcept |
Definition at line 271 of file tpl_file_b_tree.H.
References Aleph::detail::ordered_tree_snapshot_magic().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_wal_to_path().
|
inlinestaticconstexprprivatenoexcept |
Definition at line 897 of file tpl_file_b_tree.H.
References Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::serialized_page_bytes(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::wal_record_format_version().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal().
|
inlinestaticprivate |
Definition at line 721 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::add_key_to_crc(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::checkpoint_sequence, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::child_count, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::children, Aleph::detail::crc32_add(), Aleph::detail::crc32_add_bytes(), Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::key_count, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::keys, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::kind, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::link, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::MaxKeys, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page_checksum().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_wal_to_path().
|
inlinestaticprivate |
Definition at line 763 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::add_native_key_to_crc(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::child_count, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::children, Aleph::detail::crc32_add(), Aleph::detail::crc32_add_bytes(), Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::key_count, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::keys, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::kind, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::link, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::MaxKeys, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page_checksum_v3().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal().
|
inlinestaticprivate |
Definition at line 742 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::add_native_key_to_crc(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::checkpoint_sequence, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::child_count, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::children, Aleph::detail::crc32_add(), Aleph::detail::crc32_add_bytes(), Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::key_count, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::keys, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::kind, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::link, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::MaxKeys, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page_checksum_v4().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal().
|
inlinestaticconstexprprivatenoexcept |
Definition at line 889 of file tpl_file_b_tree.H.
References Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::HeaderCheckpointFormatVersion, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::NativeCheckpointFormatVersion, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::NativeWalVersion, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::PortableFormatVersion, and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::PortableWalVersion.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::wal_header_checksum(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::wal_record_bytes().
|
inlinestaticconstexprprivatenoexcept |
Definition at line 931 of file tpl_file_b_tree.H.
References Aleph::detail::Ordered_Tree_Snapshot_Magic_Size.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal().
|
inlinestaticconstexprprivatenoexcept |
Definition at line 276 of file tpl_file_b_tree.H.
References Aleph::detail::ordered_tree_snapshot_magic().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_wal_to_path().
|
inlineprivate |
Definition at line 859 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::checkpoint_sequence(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::free_page_head_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::pages_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::root_page_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::size_, and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_header_to_storage().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::apply_current_cache_to_storage().
|
inlineprivate |
Definition at line 866 of file tpl_file_b_tree.H.
References Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::current_page_offset(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::file_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::file_path_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::seekp_to(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_page_record().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::apply_current_cache_to_storage(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal().
|
inlineprivate |
Definition at line 1049 of file tpl_file_b_tree.H.
References ah_runtime_error_unless, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::checkpoint_sequence(), Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::encoding_marker_for_version(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::file_magic(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::FormatVersion, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::free_page_head_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::header_checksum(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::key_size_for_version(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page_count(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::pages_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::reserved_bytes_for_version(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::root_page_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::size(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::size_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_page_record(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_pod().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_full_image_to_path().
|
inlineprivate |
Definition at line 1087 of file tpl_file_b_tree.H.
References ah_runtime_error_unless, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::checkpoint_sequence(), Aleph::divide_and_conquer_partition_dp(), Aleph::detail::sync_file_by_path(), Aleph::detail::sync_parent_directory(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::tree_kind(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_full_image().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::apply_current_cache_to_storage(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::sync().
|
inlineprivate |
Definition at line 823 of file tpl_file_b_tree.H.
References ah_runtime_error_unless, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::checkpoint_sequence(), Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::encoding_marker_for_version(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::file_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::file_magic(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::file_path_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::FormatVersion, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::header_checksum(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::key_size_for_version(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page_count(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::reserved_bytes_for_version(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::seekp_to(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::size(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_pod().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_current_header_to_storage().
|
inlinestaticprivate |
Definition at line 554 of file tpl_file_b_tree.H.
References Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::file_path(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_portable_key().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_page_record().
|
inlinestaticprivate |
Definition at line 523 of file tpl_file_b_tree.H.
References ah_runtime_error, ah_runtime_error_unless, Aleph::divide_and_conquer_partition_dp(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::file_path().
|
inlinestaticprivate |
Definition at line 783 of file tpl_file_b_tree.H.
References ah_runtime_error_unless, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::checkpoint_sequence, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::child_count, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::children, Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::key_count, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::keys, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::kind, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Page::link, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::MaxChildren, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::MaxKeys, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page_checksum(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_key(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_pod().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_current_page_to_storage(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_full_image(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_wal_to_path().
|
inlinestaticprivate |
Definition at line 501 of file tpl_file_b_tree.H.
References ah_runtime_error_unless, Aleph::divide_and_conquer_partition_dp(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::file_path().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_full_image(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_header_to_storage(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_page_record(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_wal_to_path().
|
inlinestaticprivate |
Definition at line 542 of file tpl_file_b_tree.H.
References ah_runtime_error_unless, Aleph::divide_and_conquer_partition_dp(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::file_path().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_key().
|
inlineprivate |
Definition at line 937 of file tpl_file_b_tree.H.
References ah_runtime_error_unless, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::checkpoint_sequence(), Aleph::detail::crc32_begin(), Aleph::detail::crc32_finish(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::dirty_page_count(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::dirty_pages_, Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::encoding_marker_for_version(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::FormatVersion, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::free_page_head_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::key_size_for_version(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page_count(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::pages_, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::reserved_bytes_for_version(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::root_page_, Aleph::Array< T >::size(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::size(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::size_, Aleph::detail::sync_file_by_path(), Aleph::detail::sync_parent_directory(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::tree_kind(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::wal_header_checksum(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::wal_magic(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::wal_record_checksum_add(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::wal_trailer_magic(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::WalVersion, Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_page_record(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_pod().
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::sync().
|
mutableprivate |
Definition at line 236 of file tpl_file_b_tree.H.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::apply_current_cache_to_storage(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::checkpoint_sequence(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::init_empty_cache(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::load_from_disk(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::mark_page_dirty(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::sync().
|
staticconstexprprivate |
Definition at line 174 of file tpl_file_b_tree.H.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_image(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::serialized_header_bytes().
|
private |
Definition at line 221 of file tpl_file_b_tree.H.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::equals(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::insert_nonfull(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::key_comp(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::lower_bound_index(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::strictly_sorted(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::upper_bound_index(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::verify_node().
|
staticconstexprprivate |
Definition at line 282 of file tpl_file_b_tree.H.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal().
|
mutableprivate |
Definition at line 232 of file tpl_file_b_tree.H.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::allocate_page(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::apply_current_cache_to_storage(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::clear_dirty_state(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::dirty_page_count(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::has_pending_changes(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::init_empty_cache(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::load_from_disk(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::mark_page_dirty(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_wal_to_path().
|
staticconstexprprivate |
Definition at line 179 of file tpl_file_b_tree.H.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::key_size_for_version().
|
staticconstexprprivate |
Definition at line 182 of file tpl_file_b_tree.H.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::encoding_marker_for_version().
|
mutableprivate |
Definition at line 230 of file tpl_file_b_tree.H.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Gen_File_B_Tree(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::~Gen_File_B_Tree(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::apply_current_cache_to_storage(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::open_storage(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_storage_page_if_current(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::recover_if_needed(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::seekp_to(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_current_page_to_storage(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_header_to_storage().
|
private |
Definition at line 222 of file tpl_file_b_tree.H.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Gen_File_B_Tree(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::apply_current_cache_to_storage(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::ensure_parent_dir(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::file_exists(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::file_path(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::init_sidecar_paths(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::load_from_disk(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::open_storage(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_storage_page_if_current(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::recover_if_needed(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::reload(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::seekp_to(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::storage_format_version_on_disk(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_current_page_to_storage(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_header_to_storage().
|
staticconstexprprivate |
Definition at line 178 of file tpl_file_b_tree.H.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::apply_current_cache_to_storage(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::init_empty_cache(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_image(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_storage_page_if_current(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::sync(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_full_image(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_header_to_storage(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_wal_to_path().
|
private |
Definition at line 240 of file tpl_file_b_tree.H.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::allocate_page(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::init_empty_cache(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::load_from_disk(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::release_page(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_current_header_to_storage(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_full_image(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_wal_to_path().
|
mutableprivate |
Definition at line 233 of file tpl_file_b_tree.H.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::clear_dirty_state(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::has_pending_changes(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::init_empty_cache(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::load_from_disk(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::mark_header_dirty().
|
staticconstexprprivate |
Definition at line 175 of file tpl_file_b_tree.H.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_image(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_page_from_stream(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::serialized_header_bytes(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::serialized_page_bytes(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::wal_record_format_version().
|
staticconstexprprivate |
Definition at line 173 of file tpl_file_b_tree.H.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_image().
|
staticconstexprprivate |
Definition at line 281 of file tpl_file_b_tree.H.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal().
|
mutableprivate |
Definition at line 229 of file tpl_file_b_tree.H.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Gen_File_B_Tree().
|
private |
Definition at line 228 of file tpl_file_b_tree.H.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::Gen_File_B_Tree(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::init_sidecar_paths().
|
staticconstexprprivate |
Definition at line 171 of file tpl_file_b_tree.H.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::legacy_page_bytes(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::portable_page_bytes(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_page_from_stream(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_page_record().
|
staticconstexprprivate |
Definition at line 170 of file tpl_file_b_tree.H.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::insert(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::insert_nonfull(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::legacy_page_bytes(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page_checksum(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page_checksum_v3(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page_checksum_v4(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::portable_page_bytes(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_page_from_stream(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::verify_node(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::wal_record_checksum_add(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::wal_record_checksum_add_v2(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::wal_record_checksum_add_v3(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_page_record().
|
staticconstexprprivate |
Definition at line 172 of file tpl_file_b_tree.H.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::split_child(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::verify_node().
|
staticconstexprprivate |
Definition at line 176 of file tpl_file_b_tree.H.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_image(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_page_from_stream(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::serialized_page_bytes(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::wal_record_format_version().
|
staticconstexprprivate |
Definition at line 283 of file tpl_file_b_tree.H.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::wal_record_format_version().
|
private |
|
private |
Definition at line 231 of file tpl_file_b_tree.H.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::allocate_page(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::init_empty_cache(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::load_from_disk(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::page_count(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::stamp_all_pages_for_checkpoint(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::verify(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::verify_node(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_current_header_to_storage(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_full_image(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_wal_to_path().
|
staticconstexprprivate |
Definition at line 181 of file tpl_file_b_tree.H.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::encoding_marker_for_version().
|
staticconstexprprivate |
Definition at line 177 of file tpl_file_b_tree.H.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::ensure_legacy_native_format_supported(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_image(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::read_page_from_stream(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::serialized_page_bytes(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::version_uses_portable_codec(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::wal_record_format_version().
|
staticconstexprprivate |
Definition at line 284 of file tpl_file_b_tree.H.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::wal_record_format_version().
|
staticconstexpr |
Definition at line 2104 of file tpl_file_b_tree.H.
|
staticconstexpr |
Definition at line 2103 of file tpl_file_b_tree.H.
|
private |
Definition at line 239 of file tpl_file_b_tree.H.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::contains(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::height(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::init_empty_cache(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::insert(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::keys(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::load_from_disk(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::lower_bound(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::max_key(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::min_key(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::remove(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::upper_bound(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::verify(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::verify_node(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_current_header_to_storage(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_full_image(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_wal_to_path().
|
private |
Definition at line 238 of file tpl_file_b_tree.H.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::empty(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::init_empty_cache(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::insert(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::keys(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::load_from_disk(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::remove(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::size(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::verify(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_current_header_to_storage(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_full_image(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_wal_to_path().
|
mutableprivate |
Definition at line 235 of file tpl_file_b_tree.H.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::apply_current_cache_to_storage(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::init_empty_cache(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::load_from_disk(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::sync().
|
staticconstexprprivate |
Definition at line 285 of file tpl_file_b_tree.H.
Referenced by Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal(), and Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_wal_to_path().