|
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_bplus_tree.H>
Classes | |
| class | Iterator |
| Lazy iterator over ordered keys stored in leaf pages. More... | |
| struct | Loaded_Image |
| struct | Page |
| struct | Wal_Record |
Public Types | |
| using | key_type = Key |
| Stored key type. | |
| using | tree_type = Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec > |
| Concrete persistent tree type. | |
| 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_BPlus_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_BPlus_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_BPlus_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_BPlus_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_BPlus_Tree (const Gen_File_BPlus_Tree &)=delete | |
| Copying is disabled. | |
| Gen_File_BPlus_Tree & | operator= (const Gen_File_BPlus_Tree &)=delete |
| Assignment is disabled. | |
| Gen_File_BPlus_Tree (Gen_File_BPlus_Tree &&)=delete | |
| Moving is disabled. | |
| Gen_File_BPlus_Tree & | operator= (Gen_File_BPlus_Tree &&)=delete |
| Move assignment is disabled. | |
| ~Gen_File_BPlus_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. | |
| Iterator | get_it () const noexcept |
| Return a lazy iterator over the full key order. | |
| Iterator | get_range_it (const Key &first, const Key &last) const |
| Return a lazy iterator over an inclusive key range. | |
| Array< Key > | range (const Key &first, const Key &last) const |
Collect all keys in the inclusive range [first, last]. | |
| 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 | first_leaf_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_BPlus_Tree implements a file-backed B+ Tree with:
The whole file is cached in memory after opening, but all mutations are performed against the paged representation itself rather than by reconstructing an in-memory BPlus_Tree and snapshotting sorted keys. This makes the persistent format structurally faithful to a real on-disk B+ Tree, while keeping the implementation and API practical.
| 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.
k is the number of reported keysRead_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. B+ Trees store all keys in leaf nodes which are linked together, providing efficient range scans in addition to O(log n) point access.
| 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_bplus_tree.H.
| using Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::key_type = Key |
Stored key type.
Definition at line 2146 of file tpl_file_bplus_tree.H.
| using Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::open_mode_type = Paged_File_Open_Mode |
File opening mode type.
Definition at line 2149 of file tpl_file_bplus_tree.H.
|
private |
Definition at line 185 of file tpl_file_bplus_tree.H.
| using Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page_id_type = page_id_t |
Type of on-disk page identifiers.
Definition at line 2148 of file tpl_file_bplus_tree.H.
| using Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::tree_type = Gen_File_BPlus_Tree<Key, Compare, MinDegree, Codec> |
Concrete persistent tree type.
Definition at line 2147 of file tpl_file_bplus_tree.H.
|
strongprivate |
| Enumerator | |
|---|---|
| Free | |
| Internal | |
| Leaf | |
Definition at line 187 of file tpl_file_bplus_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 2293 of file tpl_file_bplus_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 2312 of file tpl_file_bplus_tree.H.
References Aleph::detail::Pid_File_Lock::acquire(), ah_runtime_error_unless, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::create_empty_file(), Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::ensure_writable(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::file_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::file_exists(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::file_path_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::init_sidecar_paths(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::load_from_disk(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::lock_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::lock_mode(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::lock_path_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::open_storage(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::read_only(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::recover_if_needed(), and Aleph::Gen_File_BPlus_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 2362 of file tpl_file_bplus_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 2381 of file tpl_file_bplus_tree.H.
|
delete |
Copying is disabled.
|
delete |
Moving is disabled.
|
inlinenoexcept |
Close the backing file.
| Nothing. |
Definition at line 2404 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::file_.
|
inlinestaticprivate |
Definition at line 611 of file tpl_file_bplus_tree.H.
References Aleph::divide_and_conquer_partition_dp().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page_checksum(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::wal_record_checksum_add().
|
inlinestaticprivate |
Definition at line 618 of file tpl_file_bplus_tree.H.
References ah_runtime_error, Aleph::detail::crc32_add_bytes(), and Aleph::divide_and_conquer_partition_dp().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page_checksum_v3(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page_checksum_v4(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::wal_record_checksum_add_v2(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::wal_record_checksum_add_v3().
|
inlineprivate |
Definition at line 1753 of file tpl_file_bplus_tree.H.
References Aleph::Array< T >::append(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::dirty_pages_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::free_page_head_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::link, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::make_page(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::mark_header_dirty(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::mark_page_dirty(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::pages_.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::insert(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::split_child().
|
inlineprivate |
Definition at line 1140 of file tpl_file_bplus_tree.H.
References ah_runtime_error_unless, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::checkpoint_sequence(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::checkpoint_sequence_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::dirty_pages_, Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::file_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::file_exists(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::file_path_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::FormatVersion, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::open_storage(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page(), Aleph::Array< T >::size(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::storage_format_version_, Aleph::detail::sync_file_by_path(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::tree_kind(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_current_header_to_storage(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_current_page_to_storage(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_full_image_to_path().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::sync().
|
inlinenoexcept |
Return whether automatic synchronization is enabled.
true if successful mutations call sync(). | Nothing. |
Definition at line 2469 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::auto_sync_.
Referenced by Aleph::Gen_File_BPlus_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::auto_sync_enabled().
|
inlineprivate |
Definition at line 1918 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::child_count, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::children, Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::erase_child_at(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::erase_key_at(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::is_leaf(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::key_count, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::keys, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::mark_page_dirty(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::rebuild_separators().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::fix_underflow().
|
inlineprivate |
Definition at line 1892 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::child_count, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::children, Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::erase_child_at(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::erase_key_at(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::insert_child_at(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::insert_key_at(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::is_leaf(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::key_count, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::keys, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::mark_page_dirty(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::rebuild_separators().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::fix_underflow().
|
inline |
Synonym for sync().
| std::runtime_error | If the file cannot be written or flushed. |
Definition at line 2513 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::sync().
Referenced by Aleph::Gen_File_BPlus_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 2505 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::checkpoint_sequence_.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::apply_current_cache_to_storage(), Aleph::Gen_File_BPlus_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::checkpoint_sequence(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::header_checksum(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::stamp_all_pages_for_checkpoint(), TEST(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::wal_header_checksum(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_current_header_to_storage(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_full_image(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_full_image_to_path(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_header_to_storage(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_wal_to_path().
|
inlinestaticconstexprprivatenoexcept |
Definition at line 295 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::legacy_header_bytes().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::header_bytes(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::serialized_header_bytes().
|
inlinestaticconstexprprivatenoexcept |
Definition at line 313 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::legacy_page_bytes().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::serialized_page_bytes().
|
inlineprivate |
Definition at line 1717 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::upper_bound_index().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::find_leaf_page(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::insert_nonfull(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::remove_from().
|
inline |
Remove every key from the tree.
| std::runtime_error | If auto_sync is enabled and flushing fails. |
Definition at line 2598 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::ensure_writable(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::init_empty_cache(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::sync_if_enabled().
Referenced by Aleph::Gen_File_BPlus_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::clear().
|
inlineprivatenoexcept |
Definition at line 1643 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::dirty_pages_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::header_dirty_, and Aleph::Array< T >::size().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::sync().
|
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 2610 of file tpl_file_bplus_tree.H.
References Aleph::and, Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::equals(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::find_leaf_page(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::key_count, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::keys, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::lower_bound_index(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::insert(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::search().
|
inlineprivate |
Definition at line 1558 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::ensure_writable(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::init_empty_cache(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::open_storage(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::sync().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Gen_File_BPlus_Tree().
|
inlineprivatenoexcept |
Definition at line 827 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::header_bytes(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page_bytes().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::read_storage_page_if_current(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_current_page_to_storage().
|
inlineprivatenoexcept |
Definition at line 888 of file tpl_file_bplus_tree.H.
References Aleph::count(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::dirty_pages_, and Aleph::Array< T >::size().
Referenced by Aleph::Gen_File_BPlus_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 2564 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::size_.
Referenced by Aleph::Gen_File_BPlus_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::empty(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::is_empty().
|
inlinestaticconstexprprivatenoexcept |
Definition at line 359 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::EndianMarker, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::PortableEncodingMarker, and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::version_uses_portable_codec().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::header_checksum(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::header_checksum_v2(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::read_image(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::wal_header_checksum(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_full_image(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_header_to_storage(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_wal_to_path().
|
inlinestaticprivate |
Definition at line 397 of file tpl_file_bplus_tree.H.
References ah_runtime_error, Aleph::divide_and_conquer_partition_dp(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::PortableFormatVersion.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::read_image().
|
inlinestaticprivate |
Definition at line 410 of file tpl_file_bplus_tree.H.
References ah_runtime_error, and Aleph::divide_and_conquer_partition_dp().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal().
|
inlineprivate |
Definition at line 452 of file tpl_file_bplus_tree.H.
References ah_runtime_error_unless, Aleph::divide_and_conquer_partition_dp(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::file_path_.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::open_storage().
|
inlineprivate |
Definition at line 261 of file tpl_file_bplus_tree.H.
References ah_runtime_error_unless, Aleph::divide_and_conquer_partition_dp(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::read_only().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Gen_File_BPlus_Tree(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::clear(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::create_empty_file(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::insert(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::open_storage(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::remove(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::sync().
|
inlineprivate |
Definition at line 1682 of file tpl_file_bplus_tree.H.
References Aleph::and, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::cmp_, and Aleph::divide_and_conquer_partition_dp().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::contains(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::remove_from(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::upper_bound_index(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::verify_node().
|
inlinestaticprivate |
Definition at line 1746 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::child_count, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::children, and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::borrow_from_next(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::borrow_from_prev(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::merge_children().
|
inlinestaticprivate |
Definition at line 1730 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::key_count, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::keys, and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::borrow_from_next(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::borrow_from_prev(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::remove_from().
|
inlineprivate |
Definition at line 1566 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::file_path_.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Gen_File_BPlus_Tree(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::apply_current_cache_to_storage(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::reload(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::storage_format_version_on_disk(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::sync().
|
inlinestaticconstexprprivatenoexcept |
Definition at line 268 of file tpl_file_bplus_tree.H.
References Aleph::detail::ordered_tree_snapshot_magic().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::read_image(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::storage_format_version_on_disk(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_full_image(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_header_to_storage().
|
inlinenoexcept |
Return the backing file path.
| Nothing. |
Definition at line 2433 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::file_path_.
Referenced by Aleph::Gen_File_BPlus_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::file_path(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::get_file_path(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::read_key(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::read_native_key(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::read_pod(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::read_portable_key(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_key(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_native_key(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_pod(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_portable_key().
|
inlineprivate |
Definition at line 1823 of file tpl_file_bplus_tree.H.
References Aleph::and, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::child_index(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::children, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::is_internal(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::root_page_.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Iterator::Iterator(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::contains(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::lower_bound(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::upper_bound().
|
inlineprivate |
Definition at line 1977 of file tpl_file_bplus_tree.H.
References Aleph::and, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::borrow_from_next(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::borrow_from_prev(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::children, Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::merge_children(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::MinKeys, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::rebuild_separators().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::remove_from().
|
inlinenoexcept |
Return the comparison object.
| Nothing. |
Definition at line 2424 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::key_comp().
|
inlinenoexcept |
Synonym for file_path().
| Nothing. |
Definition at line 2442 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::file_path().
|
inlinenoexcept |
Return a lazy iterator over the full key order.
| Nothing. |
Definition at line 2800 of file tpl_file_bplus_tree.H.
Referenced by Aleph::Gen_File_BPlus_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::get_it(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::keys(), and TEST().
|
inline |
Return a lazy iterator over an inclusive key range.
| first | Lower endpoint, inclusive. |
| last | Upper endpoint, inclusive. |
| std::invalid_argument | If last < first. |
| Any | exception propagated by Compare. |
Definition at line 2812 of file tpl_file_bplus_tree.H.
Referenced by Aleph::Gen_File_BPlus_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::get_range_it(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::range(), and TEST().
|
inlineprivatenoexcept |
Definition at line 1632 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::dirty_pages_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::header_dirty_, and Aleph::Array< T >::size().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::sync().
|
inlinestaticconstexprprivatenoexcept |
Definition at line 300 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::checksummed_header_bytes().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::current_page_offset(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::serialized_header_bytes().
|
inlinestaticprivatenoexcept |
Definition at line 656 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_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_BPlus_Tree< Key, Compare, MinDegree, Codec >::encoding_marker_for_version(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::key_size_for_version(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page_count(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::reserved_bytes_for_version(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::size().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::read_image(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_full_image(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_header_to_storage().
|
inlinestaticprivatenoexcept |
Definition at line 633 of file tpl_file_bplus_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_BPlus_Tree< Key, Compare, MinDegree, Codec >::encoding_marker_for_version(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::key_size_for_version(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page_count(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::reserved_bytes_for_version(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::size().
Referenced by Aleph::Gen_File_BPlus_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 2582 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::children, h, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::is_leaf(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::root_page_.
Referenced by Aleph::Gen_File_BPlus_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::height().
|
inlineprivate |
Definition at line 437 of file tpl_file_bplus_tree.H.
References Aleph::Array< T >::append(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::checkpoint_sequence_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::dirty_pages_, Aleph::Array< T >::empty(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::first_leaf_page_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::FormatVersion, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::free_page_head_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::header_dirty_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::pages_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::root_page_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::size_, and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::storage_format_version_.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::clear(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::create_empty_file().
|
inlineprivate |
Definition at line 494 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::file_path_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::journal_path_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::journal_tmp_path_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::lock_path_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::wal_path_, and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::wal_tmp_path_.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Gen_File_BPlus_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 2638 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::allocate_page(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::child_count, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::children, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::contains(), Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::ensure_writable(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::first_leaf_page_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::insert_nonfull(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Internal, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::key_count, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::keys, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Leaf, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::mark_header_dirty(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::mark_page_dirty(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::MaxKeys, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::root_page_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::size_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::split_child(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::sync_if_enabled().
Referenced by Aleph::Gen_File_BPlus_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::insert(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::insert(), Aleph::Gen_File_BPlus_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(), 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 2682 of file tpl_file_bplus_tree.H.
References Aleph::copy(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::insert().
|
inlinestaticprivate |
Definition at line 1737 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::child_count, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::children, Aleph::divide_and_conquer_partition_dp(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::borrow_from_prev(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::split_child().
|
inlinestaticprivate |
Definition at line 1722 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::key_count, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::keys, and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::borrow_from_prev(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::insert_nonfull().
|
inlineprivate |
Definition at line 1870 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::child_index(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::children, Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::insert_key_at(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::insert_nonfull(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::is_leaf(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::lower_bound_index(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::mark_page_dirty(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::MaxKeys, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::rebuild_separators(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::split_child().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::insert(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::insert_nonfull().
|
inlinenoexcept |
Synonym for empty().
true if empty, otherwise false. | Nothing. |
Definition at line 2570 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::empty().
|
inlinestaticconstexprprivatenoexcept |
Definition at line 432 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Free, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::kind, and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::verify_node().
|
inlinestaticconstexprprivatenoexcept |
Definition at line 427 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Internal, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::kind, and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::find_leaf_page(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::leftmost_leaf_page(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::rebuild_separators(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::remove(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::rightmost_leaf_page(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::subtree_min().
|
inlinestaticconstexprprivatenoexcept |
Definition at line 422 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::kind, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Leaf, and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::borrow_from_next(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::borrow_from_prev(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::height(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::insert_nonfull(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::merge_children(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::remove(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::remove_from(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::split_child(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::subtree_min(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::verify_leaf_chain(), and Aleph::Gen_File_BPlus_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 2460 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::read_only().
Referenced by Aleph::Gen_File_BPlus_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::is_read_only().
|
inlinenoexcept |
Return the comparison object.
| Nothing. |
Definition at line 2418 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::cmp_.
Referenced by Aleph::Gen_File_BPlus_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::equals_key(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::get_compare(), and Aleph::Gen_File_BPlus_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::key_comp().
|
inlinestaticconstexprprivatenoexcept |
Definition at line 367 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::EncodedKeySize, and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::version_uses_portable_codec().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::header_checksum(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::header_checksum_v2(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::read_image(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::wal_header_checksum(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_full_image(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_header_to_storage(), and Aleph::Gen_File_BPlus_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 2840 of file tpl_file_bplus_tree.H.
References Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::get_it(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Iterator::has_curr(), Aleph::Array< T >::reserve(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::size_.
Referenced by Aleph::Gen_File_BPlus_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::items(), Aleph::Gen_File_BPlus_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::keys(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::remove_from(), and Aleph::Gen_File_BPlus_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::values().
|
inlineprivate |
Definition at line 1809 of file tpl_file_bplus_tree.H.
References Aleph::and, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::children, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::is_internal(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::verify().
|
inlinestaticconstexprprivatenoexcept |
Definition at line 289 of file tpl_file_bplus_tree.H.
References Aleph::detail::Ordered_Tree_Snapshot_Magic_Size.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::checksummed_header_bytes(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::serialized_header_bytes().
|
inlinestaticconstexprprivatenoexcept |
Definition at line 305 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::MaxChildren, and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::MaxKeys.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::checksummed_page_bytes(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::native_page_bytes(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::serialized_page_bytes().
|
inlineprivate |
Definition at line 1535 of file tpl_file_bplus_tree.H.
References ah_runtime_error_unless, Aleph::Array< T >::append(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::checkpoint_sequence_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::dirty_pages_, Aleph::divide_and_conquer_partition_dp(), Aleph::Array< T >::empty(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::file_path_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::first_leaf_page_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::free_page_head_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::header_dirty_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::open_storage(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::pages_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::read_image(), Aleph::Array< T >::reserve(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::root_page_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::size_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::storage_format_version_, and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::verify().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Gen_File_BPlus_Tree(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::reload().
|
inlineprivatenoexcept |
Definition at line 249 of file tpl_file_bplus_tree.H.
References Aleph::detail::Exclusive, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::open_mode_, Aleph::Read_Only, and Aleph::detail::Shared.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Gen_File_BPlus_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 2753 of file tpl_file_bplus_tree.H.
References Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::find_leaf_page(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::key_count, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::keys, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::link, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::lower_bound_index(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page().
Referenced by Aleph::Gen_File_BPlus_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::find_record(), and Aleph::Gen_File_BPlus_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::lower_bound().
|
inlineprivate |
Definition at line 1698 of file tpl_file_bplus_tree.H.
References Aleph::and, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::cmp_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::key_count, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::keys, and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Iterator::Iterator(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::contains(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::insert_nonfull(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::lower_bound(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::remove_from().
|
inlinestaticconstexprprivatenoexcept |
Definition at line 390 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::kind, and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::allocate_page(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::release_page().
|
inlineprivatenoexcept |
Definition at line 1663 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::header_dirty_.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::allocate_page(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::insert(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::merge_children(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::release_page(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::remove().
|
inlineprivate |
Definition at line 1650 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::checkpoint_sequence, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::checkpoint_sequence_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::dirty_pages_, and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::allocate_page(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::borrow_from_next(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::borrow_from_prev(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::insert(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::insert_nonfull(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::merge_children(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::rebuild_separators(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::release_page(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::remove_from(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::split_child().
|
inline |
Return the maximum key, if any.
std::nullopt if empty. | Any | exception propagated by Key copy construction. |
Definition at line 2740 of file tpl_file_bplus_tree.H.
References Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::key_count, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::keys, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::rightmost_leaf_page(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::root_page_.
Referenced by Aleph::Gen_File_BPlus_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::max_item(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::verify_node().
|
inlineprivate |
Definition at line 1941 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::child_count, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::children, Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::erase_child_at(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::first_leaf_page_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::is_leaf(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::key_count, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::keys, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::link, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::mark_header_dirty(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::mark_page_dirty(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::rebuild_separators(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::release_page().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::fix_underflow().
|
inline |
Return the minimum key, if any.
std::nullopt if empty. | Any | exception propagated by Key copy construction. |
Definition at line 2729 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::first_leaf_page_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::keys, and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page().
Referenced by Aleph::Gen_File_BPlus_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::min_item(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::verify_node().
|
inlinestaticconstexprprivatenoexcept |
Definition at line 318 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::legacy_page_bytes().
Referenced by Aleph::Gen_File_BPlus_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 2451 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::open_mode_.
Referenced by Aleph::Gen_File_BPlus_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::open_mode().
|
inlineprivate |
Definition at line 468 of file tpl_file_bplus_tree.H.
References ah_runtime_error_unless, Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::ensure_parent_dir(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::ensure_writable(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::file_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::file_path_, Aleph::mode(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::read_only().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Gen_File_BPlus_Tree(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::apply_current_cache_to_storage(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::create_empty_file(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::load_from_disk(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::read_storage_page_if_current(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal().
|
delete |
Assignment is disabled.
|
delete |
Move assignment is disabled.
|
inlineprivate |
Definition at line 1668 of file tpl_file_bplus_tree.H.
References ah_runtime_error_unless, Aleph::and, and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::pages_.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Iterator::Iterator(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::allocate_page(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::apply_current_cache_to_storage(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::borrow_from_next(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::borrow_from_prev(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::child_index(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::contains(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::erase_child_at(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::erase_key_at(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::find_leaf_page(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::fix_underflow(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Iterator::get_curr(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::height(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::insert(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::insert_child_at(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::insert_key_at(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::insert_nonfull(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::is_free(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::is_internal(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::is_leaf(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::leftmost_leaf_page(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::lower_bound(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::lower_bound_index(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::make_page(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::mark_page_dirty(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::max_key(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::merge_children(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::min_key(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page_checksum(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page_checksum_v3(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page_checksum_v4(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::read_page_from_stream(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::rebuild_separators(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::release_page(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::remove(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::remove_from(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::rightmost_leaf_page(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Iterator::skip_past_end(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::split_child(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::stamp_all_pages_for_checkpoint(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::strictly_sorted(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::subtree_min(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::upper_bound(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::upper_bound_index(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::verify_leaf_chain(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::verify_node(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::wal_record_checksum_add(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::wal_record_checksum_add_v2(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::wal_record_checksum_add_v3(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_current_page_to_storage(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_full_image(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_page_record(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_wal_to_path().
|
inlineprivate |
Definition at line 1675 of file tpl_file_bplus_tree.H.
References ah_runtime_error_unless, Aleph::and, and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::pages_.
|
inlinestaticconstexprprivatenoexcept |
Definition at line 331 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::portable_page_bytes().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::current_page_offset(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page_size_bytes(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::read_storage_page_if_current().
|
inlinestaticprivate |
Definition at line 697 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::add_key_to_crc(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::checkpoint_sequence, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::child_count, Aleph::Gen_File_BPlus_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_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::key_count, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::keys, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::kind, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::link, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::MaxKeys, and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::read_page_from_stream(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::wal_record_checksum_add(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_page_record().
|
inlinestaticprivate |
Definition at line 681 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::add_native_key_to_crc(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::child_count, Aleph::Gen_File_BPlus_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_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::key_count, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::keys, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::kind, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::link, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::MaxKeys, and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::read_page_from_stream(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::wal_record_checksum_add_v2().
|
inlinestaticprivate |
Definition at line 714 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::add_native_key_to_crc(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::checkpoint_sequence, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::child_count, Aleph::Gen_File_BPlus_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_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::key_count, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::keys, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::kind, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::link, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::MaxKeys, and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::read_page_from_stream(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::wal_record_checksum_add_v3().
|
inlinenoexcept |
Return the number of allocated pages currently tracked.
| Nothing. |
Definition at line 2496 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::pages_.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::header_checksum(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::header_checksum_v2(), Aleph::Gen_File_BPlus_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::page_count(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::read_image(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::wal_header_checksum(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_full_image(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_header_to_storage(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_wal_to_path().
|
inlinenoexcept |
Return the fixed serialized page size.
| Nothing. |
Definition at line 2487 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page_bytes().
Referenced by Aleph::Gen_File_BPlus_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::page_size_bytes().
|
inlinestaticconstexprprivatenoexcept |
Definition at line 323 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::MaxChildren, and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::MaxKeys.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page_bytes(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::serialized_page_bytes().
|
inline |
Collect all keys in the inclusive range [first, last].
| first | Lower endpoint, inclusive. |
| last | Upper endpoint, inclusive. |
| std::invalid_argument | if last < first according to Compare. |
| std::bad_alloc | if the result array cannot grow. |
| Any | exception propagated by Compare or Key copies. |
Definition at line 2825 of file tpl_file_bplus_tree.H.
References Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::get_range_it(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Iterator::has_curr(), and Aleph::Array< T >::reserve().
Referenced by Aleph::Gen_File_BPlus_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::range(), TEST(), TEST(), TEST(), and TEST().
|
inlineprivate |
Definition at line 1412 of file tpl_file_bplus_tree.H.
References ah_runtime_error_unless, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::ChecksummedFormatVersion, Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::encoding_marker_for_version(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::ensure_legacy_native_format_supported(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::file_magic(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::FormatVersion, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::header_checksum(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::header_checksum_v2(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::HeaderCheckpointFormatVersion, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::key_size_for_version(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::LegacyFormatVersion, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::NativeCheckpointFormatVersion, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page_count(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::PortableFormatVersion, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::read_page_from_stream(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::reserved_bytes_for_version(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::serialized_header_bytes(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::serialized_page_bytes(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Loaded_Image::version.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::load_from_disk(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::recover_if_needed().
|
inlinestaticprivate |
Definition at line 601 of file tpl_file_bplus_tree.H.
References Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::file_path(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::read_native_key(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::read_portable_key(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::version_uses_portable_codec().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::read_page_from_stream().
|
inlinestaticprivate |
Definition at line 566 of file tpl_file_bplus_tree.H.
References ah_runtime_error, ah_runtime_error_unless, Aleph::divide_and_conquer_partition_dp(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::file_path().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::read_key().
|
inlineprivatenoexcept |
Definition at line 256 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::open_mode_, and Aleph::Read_Only.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Gen_File_BPlus_Tree(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::ensure_writable(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::is_read_only(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::open_storage(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::recover_if_needed().
|
inlinestaticprivate |
Definition at line 1027 of file tpl_file_bplus_tree.H.
References ah_runtime_error_unless, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::checkpoint_sequence, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::child_count, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::children, Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::HeaderCheckpointFormatVersion, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::key_count, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::keys, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::kind, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::link, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::MaxChildren, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::MaxKeys, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::NativeCheckpointFormatVersion, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page_checksum(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page_checksum_v3(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page_checksum_v4(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::PortableFormatVersion, and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::read_key().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::read_image(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::read_storage_page_if_current(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal().
|
inlinestaticprivate |
Definition at line 515 of file tpl_file_bplus_tree.H.
References ah_runtime_error_unless, Aleph::divide_and_conquer_partition_dp(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::file_path().
|
inlinestaticprivate |
Definition at line 590 of file tpl_file_bplus_tree.H.
References ah_runtime_error_unless, Aleph::divide_and_conquer_partition_dp(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::file_path().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::read_key().
|
inlineprivate |
Definition at line 1596 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::current_page_offset(), Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::file_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::file_path_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::FormatVersion, offset, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::open_storage(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page_bytes(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::read_page_from_stream(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::storage_format_version_on_disk().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal().
|
inlineprivate |
Definition at line 1793 of file tpl_file_bplus_tree.H.
References ah_runtime_error_unless, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::child_count, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::children, Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::is_internal(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::key_count, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::keys, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::mark_page_dirty(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::subtree_min().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::borrow_from_next(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::borrow_from_prev(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::fix_underflow(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::insert_nonfull(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::merge_children(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::remove_from(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::split_child().
|
inlineprivate |
Definition at line 1170 of file tpl_file_bplus_tree.H.
References ah_runtime_error_unless, Aleph::and, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::checkpoint_sequence_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::CommitTrailerWalVersion, Aleph::detail::crc32_begin(), Aleph::detail::crc32_finish(), Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::encoding_marker_for_version(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::ensure_legacy_native_wal_supported(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::file_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::file_exists(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::file_path_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::FormatVersion, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::key_size_for_version(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::LegacyWalVersion, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::NativeWalVersion, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::open_storage(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::PortableWalVersion, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::read_only(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::read_page_from_stream(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::read_storage_page_if_current(), Aleph::detail::remove_file_if_exists(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::reserved_bytes_for_version(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::storage_format_version_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::storage_format_version_on_disk(), Aleph::detail::sync_file_by_path(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::tree_kind(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::wal_header_bytes(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::wal_header_checksum(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::wal_magic(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::wal_path_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::wal_record_bytes(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::wal_record_checksum_add(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::wal_record_checksum_add_v2(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::wal_record_checksum_add_v3(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::wal_record_format_version(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::wal_tmp_path_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::wal_trailer_bytes(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::wal_trailer_magic(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::WalVersion, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_current_page_to_storage(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_header_to_storage().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::recover_if_needed().
|
inlineprivate |
Definition at line 1386 of file tpl_file_bplus_tree.H.
References ah_runtime_error_unless, Aleph::and, Aleph::detail::copy_file_contents(), Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::file_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::file_path_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::journal_path_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::journal_tmp_path_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::read_image(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::read_only(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal(), Aleph::detail::remove_file_if_exists(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::tree_kind().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Gen_File_BPlus_Tree(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::reload().
|
inlineprivate |
Definition at line 1772 of file tpl_file_bplus_tree.H.
References Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Free, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::free_page_head_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::make_page(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::mark_header_dirty(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::mark_page_dirty(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::merge_children(), and Aleph::Gen_File_BPlus_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 2552 of file tpl_file_bplus_tree.H.
References ah_runtime_error_unless, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::file_exists(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::file_path_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::load_from_disk(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::recover_if_needed().
Referenced by Aleph::Gen_File_BPlus_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 2694 of file tpl_file_bplus_tree.H.
References Aleph::and, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::children, Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::ensure_writable(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::first_leaf_page_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::is_internal(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::is_leaf(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::mark_header_dirty(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::release_page(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::remove_from(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::root_page_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::size_, and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::sync_if_enabled().
Referenced by Aleph::Gen_File_BPlus_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::insert_or_assign(), Aleph::Gen_File_BPlus_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::remove(), TEST(), TEST(), and TEST().
|
inlineprivate |
Definition at line 2006 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::child_index(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::children, Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::equals(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::erase_key_at(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::fix_underflow(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::is_leaf(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::keys(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::lower_bound_index(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::mark_page_dirty(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::rebuild_separators(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::remove_from().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::remove(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::remove_from().
|
inlinestaticconstexprprivatenoexcept |
Definition at line 376 of file tpl_file_bplus_tree.H.
References Aleph::divide_and_conquer_partition_dp(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::version_uses_portable_codec().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::header_checksum(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::header_checksum_v2(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::read_image(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::wal_header_checksum(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_full_image(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_header_to_storage(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_wal_to_path().
|
inlineprivate |
Definition at line 1816 of file tpl_file_bplus_tree.H.
References Aleph::and, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::child_count, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::children, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::is_internal(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::max_key().
|
inline |
Synonym for contains().
| key | Key to search. |
true if the key exists, otherwise false. | Any | exception propagated by Compare. |
Definition at line 2626 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::contains().
|
inlineprivate |
Definition at line 819 of file tpl_file_bplus_tree.H.
References ah_runtime_error_unless, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::file_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::file_path_, and offset.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_current_page_to_storage(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_header_to_storage().
|
inlinestaticconstexprprivatenoexcept |
Definition at line 336 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::checksummed_header_bytes(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::ChecksummedFormatVersion, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::header_bytes(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::HeaderCheckpointFormatVersion, and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::legacy_header_bytes().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::read_image().
|
inlinestaticconstexprprivatenoexcept |
Definition at line 344 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::checksummed_page_bytes(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::HeaderCheckpointFormatVersion, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::legacy_page_bytes(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::native_page_bytes(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::NativeCheckpointFormatVersion, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::portable_page_bytes(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::PortableFormatVersion.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::read_image(), and Aleph::Gen_File_BPlus_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 2478 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::auto_sync_.
Referenced by Aleph::Gen_File_BPlus_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::set_auto_sync().
|
inlinenoexcept |
Return the number of stored keys.
| Nothing. |
Definition at line 2576 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::size_.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::header_checksum(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::header_checksum_v2(), Aleph::Gen_File_BPlus_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::size(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::wal_header_checksum(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_full_image(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_header_to_storage(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_wal_to_path().
|
inlineprivate |
Definition at line 1831 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::allocate_page(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::child_count, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::children, Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::insert_child_at(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Internal, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::is_leaf(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::key_count, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::keys, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Leaf, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::link, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::mark_page_dirty(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::MinKeys, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::rebuild_separators().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::insert(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::insert_nonfull().
|
inlineprivatenoexcept |
Definition at line 1656 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::checkpoint_sequence, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::checkpoint_sequence(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::pages_.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::sync().
|
inlineprivate |
Definition at line 1571 of file tpl_file_bplus_tree.H.
References Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::file_exists(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::file_magic(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::file_path_.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::read_storage_page_if_current(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal().
|
inlineprivate |
Definition at line 1687 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::cmp_, Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::key_count, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::keys, and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::verify_node().
|
inlineprivate |
Definition at line 1782 of file tpl_file_bplus_tree.H.
References ah_runtime_error_unless, Aleph::and, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::children, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::is_internal(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::is_leaf(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::keys, and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::rebuild_separators(), and Aleph::Gen_File_BPlus_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 2521 of file tpl_file_bplus_tree.H.
References Aleph::and, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::apply_current_cache_to_storage(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::checkpoint_sequence_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::clear_dirty_state(), Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::ensure_writable(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::file_exists(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::FormatVersion, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::has_pending_changes(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::journal_path_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::journal_tmp_path_, Aleph::detail::remove_file_if_exists(), Aleph::detail::rename_file_atomic(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::stamp_all_pages_for_checkpoint(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::storage_format_version_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::tree_kind(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::wal_path_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::wal_tmp_path_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_full_image_to_path(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_wal_to_path().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::checkpoint(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::create_empty_file(), Aleph::Gen_File_BPlus_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::sync(), Aleph::Gen_File_BPlus_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 2139 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::auto_sync_, and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::sync().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::clear(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::insert(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::remove().
|
inlinestaticconstexprprivatenoexcept |
Definition at line 244 of file tpl_file_bplus_tree.H.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Gen_File_BPlus_Tree(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::apply_current_cache_to_storage(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::recover_if_needed(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::sync(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_full_image_to_path(), and Aleph::Gen_File_BPlus_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 2777 of file tpl_file_bplus_tree.H.
References Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::find_leaf_page(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::key_count, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::keys, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::link, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::upper_bound_index().
Referenced by Aleph::Gen_File_BPlus_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::upper_bound().
|
inlineprivate |
Definition at line 1707 of file tpl_file_bplus_tree.H.
References Aleph::and, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::cmp_, Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::equals(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::key_count, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::keys, and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::child_index(), and Aleph::Gen_File_BPlus_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 2854 of file tpl_file_bplus_tree.H.
References Aleph::and, Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::first_leaf_page_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::leftmost_leaf_page(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::pages_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::root_page_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::size_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::verify_leaf_chain(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::verify_node().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::load_from_disk(), TEST(), TEST(), TEST(), TEST(), TEST(), and Aleph::Gen_File_BPlus_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::verify().
|
inlineprivate |
Definition at line 2029 of file tpl_file_bplus_tree.H.
References Aleph::and, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::child_count, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::cmp_, Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::first_leaf_page_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::is_leaf(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::key_count, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::keys, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::link, Aleph::next(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::pages_, and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::size_.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::verify().
|
inlineprivate |
Definition at line 2074 of file tpl_file_bplus_tree.H.
References Aleph::and, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::child_count, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::children, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::cmp_, Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::equals(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::is_free(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::is_leaf(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::key_count, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::keys, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::max_key(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::MaxKeys, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::min_key(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::MinKeys, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::root_page_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::strictly_sorted(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::subtree_min(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::verify_node().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::verify(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::verify_node().
|
inlinestaticconstexprprivatenoexcept |
Definition at line 353 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::PortableFormatVersion.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::encoding_marker_for_version(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::key_size_for_version(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::read_key(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::reserved_bytes_for_version().
|
inlinestaticconstexprprivatenoexcept |
Definition at line 897 of file tpl_file_bplus_tree.H.
References Aleph::detail::Ordered_Tree_Snapshot_Magic_Size.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal().
|
inlinestaticprivatenoexcept |
Definition at line 918 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_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_BPlus_Tree< Key, Compare, MinDegree, Codec >::encoding_marker_for_version(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::key_size_for_version(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page_count(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::reserved_bytes_for_version(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::size(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::wal_record_format_version().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_wal_to_path().
|
inlinestaticconstexprprivatenoexcept |
Definition at line 273 of file tpl_file_bplus_tree.H.
References Aleph::detail::ordered_tree_snapshot_magic().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_wal_to_path().
|
inlinestaticconstexprprivatenoexcept |
Definition at line 912 of file tpl_file_bplus_tree.H.
References Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::serialized_page_bytes(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::wal_record_format_version().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal().
|
inlinestaticprivate |
Definition at line 731 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::add_key_to_crc(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::checkpoint_sequence, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::child_count, Aleph::Gen_File_BPlus_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_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::key_count, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::keys, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::kind, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::link, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::MaxKeys, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page_checksum().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_wal_to_path().
|
inlinestaticprivate |
Definition at line 773 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::add_native_key_to_crc(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::child_count, Aleph::Gen_File_BPlus_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_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::key_count, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::keys, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::kind, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::link, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::MaxKeys, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page_checksum_v3().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal().
|
inlinestaticprivate |
Definition at line 752 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::add_native_key_to_crc(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::checkpoint_sequence, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::child_count, Aleph::Gen_File_BPlus_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_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::key_count, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::keys, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::kind, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::link, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::MaxKeys, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page_checksum_v4().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal().
|
inlinestaticconstexprprivatenoexcept |
Definition at line 904 of file tpl_file_bplus_tree.H.
References Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::HeaderCheckpointFormatVersion, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::NativeCheckpointFormatVersion, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::NativeWalVersion, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::PortableFormatVersion, and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::PortableWalVersion.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::wal_header_checksum(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::wal_record_bytes().
|
inlinestaticconstexprprivatenoexcept |
Definition at line 948 of file tpl_file_bplus_tree.H.
References Aleph::detail::Ordered_Tree_Snapshot_Magic_Size.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal().
|
inlinestaticconstexprprivatenoexcept |
Definition at line 278 of file tpl_file_bplus_tree.H.
References Aleph::detail::ordered_tree_snapshot_magic().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_wal_to_path().
|
inlineprivate |
Definition at line 873 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::checkpoint_sequence(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::first_leaf_page_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::free_page_head_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::pages_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::root_page_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::size_, and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_header_to_storage().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::apply_current_cache_to_storage().
|
inlineprivate |
Definition at line 881 of file tpl_file_bplus_tree.H.
References Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::current_page_offset(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::file_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::file_path_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::seekp_to(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_page_record().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::apply_current_cache_to_storage(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal().
|
inlineprivate |
Definition at line 1068 of file tpl_file_bplus_tree.H.
References ah_runtime_error_unless, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::checkpoint_sequence(), Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::encoding_marker_for_version(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::file_magic(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::first_leaf_page_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::FormatVersion, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::free_page_head_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::header_checksum(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::key_size_for_version(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page_count(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::pages_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::reserved_bytes_for_version(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::root_page_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::size(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::size_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_page_record(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_pod().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_full_image_to_path().
|
inlineprivate |
Definition at line 1109 of file tpl_file_bplus_tree.H.
References ah_runtime_error_unless, Aleph::Gen_File_BPlus_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_BPlus_Tree< Key, Compare, MinDegree, Codec >::tree_kind(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_full_image().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::apply_current_cache_to_storage(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::sync().
|
inlineprivate |
Definition at line 833 of file tpl_file_bplus_tree.H.
References ah_runtime_error_unless, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::checkpoint_sequence(), Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::encoding_marker_for_version(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::file_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::file_magic(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::file_path_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::FormatVersion, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::header_checksum(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::key_size_for_version(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page_count(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::reserved_bytes_for_version(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::seekp_to(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::size(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_pod().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_current_header_to_storage().
|
inlinestaticprivate |
Definition at line 558 of file tpl_file_bplus_tree.H.
References Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::file_path(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_portable_key().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_page_record().
|
inlinestaticprivate |
Definition at line 526 of file tpl_file_bplus_tree.H.
References ah_runtime_error, ah_runtime_error_unless, Aleph::divide_and_conquer_partition_dp(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::file_path().
|
inlinestaticprivate |
Definition at line 793 of file tpl_file_bplus_tree.H.
References ah_runtime_error_unless, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::checkpoint_sequence, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::child_count, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::children, Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::key_count, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::keys, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::kind, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Page::link, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::MaxChildren, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::MaxKeys, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page_checksum(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_key(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_pod().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_current_page_to_storage(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_full_image(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_wal_to_path().
|
inlinestaticprivate |
Definition at line 504 of file tpl_file_bplus_tree.H.
References ah_runtime_error_unless, Aleph::divide_and_conquer_partition_dp(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::file_path().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_full_image(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_header_to_storage(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_page_record(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_wal_to_path().
|
inlinestaticprivate |
Definition at line 546 of file tpl_file_bplus_tree.H.
References ah_runtime_error_unless, Aleph::divide_and_conquer_partition_dp(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::file_path().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_key().
|
inlineprivate |
Definition at line 954 of file tpl_file_bplus_tree.H.
References ah_runtime_error_unless, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::checkpoint_sequence(), Aleph::detail::crc32_begin(), Aleph::detail::crc32_finish(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::dirty_page_count(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::dirty_pages_, Aleph::divide_and_conquer_partition_dp(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::encoding_marker_for_version(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::first_leaf_page_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::FormatVersion, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::free_page_head_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::key_size_for_version(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page_count(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::pages_, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::reserved_bytes_for_version(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::root_page_, Aleph::Array< T >::size(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::size(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::size_, Aleph::detail::sync_file_by_path(), Aleph::detail::sync_parent_directory(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::tree_kind(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::wal_header_checksum(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::wal_magic(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::wal_record_checksum_add(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::wal_trailer_magic(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::WalVersion, Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_page_record(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_pod().
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::sync().
|
private |
Definition at line 235 of file tpl_file_bplus_tree.H.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::auto_sync_enabled(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::set_auto_sync(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::sync_if_enabled().
|
mutableprivate |
Definition at line 237 of file tpl_file_bplus_tree.H.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::apply_current_cache_to_storage(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::checkpoint_sequence(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::init_empty_cache(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::load_from_disk(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::mark_page_dirty(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::sync().
|
staticconstexprprivate |
Definition at line 174 of file tpl_file_bplus_tree.H.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::read_image(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::serialized_header_bytes().
|
private |
Definition at line 222 of file tpl_file_bplus_tree.H.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Iterator::Iterator(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::equals(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::key_comp(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::lower_bound_index(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Iterator::skip_past_end(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::strictly_sorted(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::upper_bound_index(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::verify_leaf_chain(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::verify_node().
|
staticconstexprprivate |
Definition at line 284 of file tpl_file_bplus_tree.H.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal().
|
mutableprivate |
Definition at line 233 of file tpl_file_bplus_tree.H.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::allocate_page(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::apply_current_cache_to_storage(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::clear_dirty_state(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::dirty_page_count(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::has_pending_changes(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::init_empty_cache(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::load_from_disk(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::mark_page_dirty(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_wal_to_path().
|
staticconstexprprivate |
Definition at line 179 of file tpl_file_bplus_tree.H.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::key_size_for_version().
|
staticconstexprprivate |
Definition at line 182 of file tpl_file_bplus_tree.H.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::encoding_marker_for_version().
|
mutableprivate |
Definition at line 231 of file tpl_file_bplus_tree.H.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Gen_File_BPlus_Tree(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::~Gen_File_BPlus_Tree(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::apply_current_cache_to_storage(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::open_storage(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::read_storage_page_if_current(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::recover_if_needed(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::seekp_to(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_current_page_to_storage(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_header_to_storage().
|
private |
Definition at line 223 of file tpl_file_bplus_tree.H.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Gen_File_BPlus_Tree(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::apply_current_cache_to_storage(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::ensure_parent_dir(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::file_exists(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::file_path(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::init_sidecar_paths(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::load_from_disk(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::open_storage(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::read_storage_page_if_current(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::recover_if_needed(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::reload(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::seekp_to(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::storage_format_version_on_disk(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_current_page_to_storage(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_header_to_storage().
|
private |
Definition at line 241 of file tpl_file_bplus_tree.H.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::init_empty_cache(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::insert(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::load_from_disk(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::merge_children(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::min_key(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::remove(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::verify(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::verify_leaf_chain(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_current_header_to_storage(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_full_image(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_wal_to_path().
|
staticconstexprprivate |
Definition at line 178 of file tpl_file_bplus_tree.H.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::apply_current_cache_to_storage(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::init_empty_cache(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::read_image(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::read_storage_page_if_current(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::sync(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_full_image(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_header_to_storage(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_wal_to_path().
|
private |
Definition at line 242 of file tpl_file_bplus_tree.H.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::allocate_page(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::init_empty_cache(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::load_from_disk(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::release_page(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_current_header_to_storage(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_full_image(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_wal_to_path().
|
mutableprivate |
Definition at line 234 of file tpl_file_bplus_tree.H.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::clear_dirty_state(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::has_pending_changes(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::init_empty_cache(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::load_from_disk(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::mark_header_dirty().
|
staticconstexprprivate |
Definition at line 175 of file tpl_file_bplus_tree.H.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::read_image(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::read_page_from_stream(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::serialized_header_bytes(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::serialized_page_bytes(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::wal_record_format_version().
|
private |
Definition at line 225 of file tpl_file_bplus_tree.H.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::init_sidecar_paths(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::recover_if_needed(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::sync().
|
private |
Definition at line 226 of file tpl_file_bplus_tree.H.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::init_sidecar_paths(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::recover_if_needed(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::sync().
|
staticconstexprprivate |
Definition at line 173 of file tpl_file_bplus_tree.H.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::read_image().
|
staticconstexprprivate |
Definition at line 283 of file tpl_file_bplus_tree.H.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal().
|
mutableprivate |
Definition at line 230 of file tpl_file_bplus_tree.H.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Gen_File_BPlus_Tree().
|
private |
Definition at line 229 of file tpl_file_bplus_tree.H.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::Gen_File_BPlus_Tree(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::init_sidecar_paths().
|
staticconstexprprivate |
Definition at line 171 of file tpl_file_bplus_tree.H.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::legacy_page_bytes(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::portable_page_bytes(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::read_page_from_stream(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_page_record().
|
staticconstexprprivate |
Definition at line 170 of file tpl_file_bplus_tree.H.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::insert(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::insert_nonfull(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::legacy_page_bytes(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page_checksum(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page_checksum_v3(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page_checksum_v4(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::portable_page_bytes(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::read_page_from_stream(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::verify_node(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::wal_record_checksum_add(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::wal_record_checksum_add_v2(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::wal_record_checksum_add_v3(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_page_record().
|
staticconstexprprivate |
Definition at line 172 of file tpl_file_bplus_tree.H.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::fix_underflow(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::split_child(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::verify_node().
|
staticconstexprprivate |
Definition at line 176 of file tpl_file_bplus_tree.H.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::read_image(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::read_page_from_stream(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::serialized_page_bytes(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::wal_record_format_version().
|
staticconstexprprivate |
Definition at line 285 of file tpl_file_bplus_tree.H.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::wal_record_format_version().
|
private |
|
private |
Definition at line 232 of file tpl_file_bplus_tree.H.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::allocate_page(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::init_empty_cache(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::load_from_disk(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::page_count(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::stamp_all_pages_for_checkpoint(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::verify(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::verify_leaf_chain(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_current_header_to_storage(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_full_image(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_wal_to_path().
|
staticconstexprprivate |
Definition at line 181 of file tpl_file_bplus_tree.H.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::encoding_marker_for_version().
|
staticconstexprprivate |
Definition at line 177 of file tpl_file_bplus_tree.H.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::ensure_legacy_native_format_supported(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::read_image(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::read_page_from_stream(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::serialized_page_bytes(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::version_uses_portable_codec(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::wal_record_format_version().
|
staticconstexprprivate |
Definition at line 286 of file tpl_file_bplus_tree.H.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::wal_record_format_version().
|
staticconstexpr |
Definition at line 2152 of file tpl_file_bplus_tree.H.
|
staticconstexpr |
Definition at line 2151 of file tpl_file_bplus_tree.H.
|
private |
Definition at line 240 of file tpl_file_bplus_tree.H.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::find_leaf_page(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::height(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::init_empty_cache(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::insert(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::load_from_disk(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::max_key(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::remove(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::verify(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::verify_node(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_current_header_to_storage(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_full_image(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_wal_to_path().
|
private |
Definition at line 239 of file tpl_file_bplus_tree.H.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::empty(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::init_empty_cache(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::insert(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::keys(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::load_from_disk(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::remove(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::size(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::verify(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::verify_leaf_chain(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_current_header_to_storage(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_full_image(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_wal_to_path().
|
mutableprivate |
Definition at line 236 of file tpl_file_bplus_tree.H.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::apply_current_cache_to_storage(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::init_empty_cache(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::load_from_disk(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::sync().
|
private |
Definition at line 227 of file tpl_file_bplus_tree.H.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::init_sidecar_paths(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::sync().
|
private |
Definition at line 228 of file tpl_file_bplus_tree.H.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::init_sidecar_paths(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::sync().
|
staticconstexprprivate |
Definition at line 287 of file tpl_file_bplus_tree.H.
Referenced by Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::recover_from_wal(), and Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_wal_to_path().