Skip to documentation
SLOP

tiny.sql.OverflowPage

Reference tiny.sql OverflowPage

Defined in page.

API (7)

Actions

Public operations.

Fields and members

Public fields and members.

No direct callersNo direct callspageOverflow
Static calls · unresolved targets: unknown · external targets: unknown.

Source

Source: lib/sql/src/page.zig:971

zig
pub const Overflow = struct {    bytes: *[size]u8,    pub fn init(bytes: *[size]u8, page_id: u64, next_page: u32, fragment: []const u8) Error!Overflow {        if (fragment.len == 0 or fragment.len > overflow_capacity) return error.ValueTooLarge;        if (next_page != 0 and @as(u64, next_page) == page_id) return error.InvalidPageId;        var overflow = Overflow{ .bytes = bytes };        @memset(overflow.bytes, 0);        @memcpy(overflow.bytes[magic_offset..][0..magic.len], magic[0..]);        overflow.bytes[version_offset] = format_version;        overflow.bytes[kind_offset] = overflow_kind;        overflow.writeU16(flags_offset, 0);        overflow.writeU64(id_offset, page_id);        overflow.writeU64(generation_offset, 0);        overflow.writeU32(overflow_next_offset, next_page);        overflow.writeU16(overflow_used_offset, @intCast(fragment.len));        overflow.writeU16(overflow_reserved_offset, 0);        @memcpy(overflow.bytes[header_size..][0..fragment.len], fragment);        return overflow;    }    pub fn load(bytes: *[size]u8) Error!Overflow {        const overflow = Overflow{ .bytes = bytes };        try overflow.validate();        return overflow;    }    pub fn id(self: *const Overflow) u64 {        return self.readU64(id_offset);    }    pub fn next(self: *const Overflow) u32 {        return self.readU32(overflow_next_offset);    }    pub fn used(self: *const Overflow) usize {        return self.readU16(overflow_used_offset);    }    pub fn content(self: *const Overflow) []const u8 {        return self.bytes[header_size..][0..self.used()];    }    fn validate(self: *const Overflow) Error!void {        if (!std.mem.eql(u8, self.bytes[magic_offset..][0..magic.len], magic[0..])) return error.InvalidPage;        if (self.bytes[version_offset] != format_version) return error.InvalidPage;        if (self.bytes[kind_offset] != overflow_kind) return error.InvalidPage;        if (self.readU16(flags_offset) != 0) return error.InvalidPage;        if (self.readU16(overflow_reserved_offset) != 0) return error.InvalidPage;        if (self.used() == 0 or self.used() > overflow_capacity) return error.InvalidPage;        if (self.next() != 0 and @as(u64, self.next()) == self.id()) return error.InvalidPage;    }    fn readU16(self: *const Overflow, offset: usize) u16 {        return std.mem.readInt(u16, self.bytes[offset..][0..2], .big);    }    fn readU32(self: *const Overflow, offset: usize) u32 {        return std.mem.readInt(u32, self.bytes[offset..][0..4], .big);    }    fn readU64(self: *const Overflow, offset: usize) u64 {        return std.mem.readInt(u64, self.bytes[offset..][0..8], .big);    }    fn writeU16(self: *Overflow, offset: usize, value: u16) void {        std.mem.writeInt(u16, self.bytes[offset..][0..2], value, .big);    }    fn writeU32(self: *Overflow, offset: usize, value: u32) void {        std.mem.writeInt(u32, self.bytes[offset..][0..4], value, .big);    }    fn writeU64(self: *Overflow, offset: usize, value: u64) void {        std.mem.writeInt(u64, self.bytes[offset..][0..8], value, .big);    }};

Source: lib/sql/src/root.zig:59

zig
pub const OverflowPage = page.Overflow;
Called byCallsNo direct callstest sourcelib.sql.src.pagetest: overflow page stores a linked c...OverflowPagecontent
Static calls · unresolved targets: 0 · external targets: 0.
Called byCallsprivate sourcelib.sql.src.page.Overflowvalidatetest sourcelib.sql.src.pagetest: overflow page stores a linked c...private sourcelib.sql.src.page.OverflowreadU64OverflowPageid
Static calls · unresolved targets: 0 · external targets: 0.
Called byCallsNo direct callstest sourcelib.sql.src.pagetest: overflow page rejects empty ove...test sourcelib.sql.src.pagetest: overflow page stores a linked c...private sourcelib.sql.src.tree.TreewriteOverflowValueprivate sourcelib.sql.src.tree.WritespillFreeListOverflowPageinit
Static calls · unresolved targets: 0 · external targets: 3.
Called byCallsNo direct callstest sourcelib.sql.src.pagetest: overflow page stores a linked c...private sourcelib.sql.src.tree.HashBuilderoverflowValueprivate sourcelib.sql.src.tree.TreecollectOverflowPagesprivate sourcelib.sql.src.tree.TreeentryStateFromRecordprivate sourcelib.sql.src.tree.WriterefillFreeList+3 moreOverflowPageload
Static calls · unresolved targets: 0 · external targets: 1.
Called byCallsprivate sourcelib.sql.src.page.Overflowvalidatetest sourcelib.sql.src.pagetest: overflow page stores a linked c...private sourcelib.sql.src.page.OverflowreadU32OverflowPagenext
Static calls · unresolved targets: 0 · external targets: 0.
Called byCallsprivate sourcelib.sql.src.page.Overflowvalidateprivate sourcelib.sql.src.page.OverflowreadU16OverflowPageused
Static calls · unresolved targets: 0 · external targets: 0.

Complete caller list for OverflowPage.load

8 direct callers.

Audit

Definitions7
Public names14
Members1
Version26.7.0
Revisiondaab053ee433