Skip to documentation
SLOP

tiny.sql.history.segment.manifest.PageRange

Reference tiny.sql history segment manifest PageRange

Defined in history.segment.manifest.

API (12)

Actions

Public operations.

Types and contracts

Public types and contracts.

Values and defaults

Public values and defaults.

No direct callersNo direct callshistory.segment.manifestPageRange
Static calls · unresolved targets: unknown · external targets: unknown.

Source

Source: lib/sql/src/history/segment/manifest.zig:16

zig
pub const PageRange = struct {    pub const Count = u64;    pub const unit_precision_segments: Count = 1;    pub const maximum_segments_per_second: Count =        segment.SegmentRange.maximum_units_per_second;    pub const maximum_seconds_per_year: Count =        segment.SegmentRange.maximum_seconds_per_year;    pub const service_lifetime_years: Count =        segment.SegmentRange.service_lifetime_years;    pub const service_lifetime_seconds: Count =        segment.SegmentRange.service_lifetime_seconds;    pub const segments_per_page: Count = entries_per_page;    pub const maximum_increment_pages: Count = 1;    pub const budget_pages: Count = total(        maximum_segments_per_second,        service_lifetime_seconds,    ).?;    pub fn total(segments_per_second: Count, lifetime_seconds: Count) ?Count {        const segment_count = @as(u128, unit_precision_segments) *            @as(u128, segments_per_second) * @as(u128, lifetime_seconds);        const page_count = if (segment_count == 0) 0 else (segment_count - 1) / @as(u128, segments_per_page) + 1;        return std.math.cast(Count, page_count);    }    pub fn advance(current: Count, increment: Count) ?Count {        if (!containsCount(current) or increment > maximum_increment_pages) {            return null;        }        const next = std.math.add(Count, current, increment) catch return null;        return if (next <= budget_pages) next else null;    }    pub fn containsCount(count: Count) bool {        return count > 0 and count <= budget_pages;    }};
Called byCallshistory.segment.manifestappendprivate sourcelib.sql.src.properties.historycheckPageAdvancetest sourcelib.sql.src.properties.historytest: property: segmented counter ran...history.segment.manifest.PageRangecontainsCounthistory.segment.manifest.PageRangeadvance
Static calls · unresolved targets: 0 · external targets: 0.
Called byCallsNo direct callshistory.segment.manifest.PageRangeadvancehistory.segment.manifestverifyRootprivate sourcelib.sql.src.history.segment.manifestwriteRoothistory.segment.manifest.PageRangecontainsCount
Static calls · unresolved targets: 0 · external targets: 0.
Called byCallsNo direct callsprivate sourcelib.sql.src.properties.historyexpectPageTotaltest sourcelib.sql.src.properties.historytest: property: segmented counter ran...history.segment.manifest.PageRangetotal
Static calls · unresolved targets: 1 · external targets: 0.

Audit

Definitions13
Public names13
Members0
Version26.7.0
Revisiondaab053ee433