|
| | SegmentTree (idx_t base_row_id=0) |
| |
| SegmentLock | Lock () const |
| |
| bool | IsEmpty (SegmentLock &l) const |
| |
| optional_ptr< SegmentNode< T > > | GetRootSegment () const |
| | Gets a pointer to the first segment. Useful for scans.
|
| |
| optional_ptr< SegmentNode< T > > | GetRootSegment (SegmentLock &l) const |
| |
| vector< unique_ptr< SegmentNode< T > > > | MoveSegments (SegmentLock &l) |
| | Obtains ownership of the data of the segment tree.
|
| |
| vector< unique_ptr< SegmentNode< T > > > | MoveSegments () |
| |
| vector< unique_ptr< SegmentNode< T > > > & | ReferenceLoadedSegmentsMutable (SegmentLock &l) |
| |
| idx_t | GetSegmentCount () const |
| |
| idx_t | GetSegmentCount (SegmentLock &l) const |
| |
| optional_ptr< SegmentNode< T > > | GetSegmentByIndex (int64_t index) const |
| | Gets a pointer to the nth segment. Negative numbers start from the back.
|
| |
| optional_ptr< SegmentNode< T > > | GetSegmentByIndex (SegmentLock &l, int64_t index) const |
| |
| optional_ptr< SegmentNode< T > > | GetNextSegment (SegmentNode< T > &node) const |
| | Gets the next segment.
|
| |
| optional_ptr< SegmentNode< T > > | GetNextSegment (SegmentLock &l, SegmentNode< T > &node) const |
| |
| optional_ptr< SegmentNode< T > > | GetLastSegment (SegmentLock &l) const |
| | Gets a pointer to the last segment. Useful for appends.
|
| |
| optional_ptr< SegmentNode< T > > | GetSegment (idx_t row_number) const |
| | Gets a pointer to a specific column segment for the given row.
|
| |
| optional_ptr< SegmentNode< T > > | GetSegment (SegmentLock &l, idx_t row_number) const |
| |
| void | AppendSegment (shared_ptr< T > segment) |
| |
| void | AppendSegment (SegmentLock &l, shared_ptr< T > segment) |
| |
| void | AppendSegment (SegmentLock &l, shared_ptr< T > segment, idx_t row_start) |
| |
| bool | HasSegment (SegmentNode< T > &segment) const |
| | Debug method, check whether the segment is in the segment tree.
|
| |
| bool | HasSegment (SegmentLock &, SegmentNode< T > &segment) const |
| |
| void | EraseSegments (SegmentLock &l, idx_t segment_start) |
| | Erase all segments after a specific segment.
|
| |
| idx_t | GetSegmentIndex (SegmentLock &l, idx_t row_number) const |
| | Get the segment index of the column segment for the given row.
|
| |
| bool | TryGetSegmentIndex (SegmentLock &l, idx_t row_number, idx_t &result) const |
| |
| void | Verify (SegmentLock &) const |
| |
| void | Verify () |
| |
| idx_t | GetBaseRowId () const |
| |
| SegmentIterationHelper | Segments () const |
| |
| SegmentIterationHelper | Segments (SegmentLock &l) const |
| |
| SegmentNodeIterationHelper | SegmentNodes () const |
| |
| SegmentNodeIterationHelper | SegmentNodes (SegmentLock &l) const |
| |
template<
class T, bool SUPPORTS_LAZY_LOADING = false>
class duckdb::SegmentTree< T, SUPPORTS_LAZY_LOADING >
The SegmentTree maintains a list of all segments of a specific column in a table, and allows searching for a segment by row number