ic-sqlite-vfs 0.1.1

SQLite VFS backed directly by Internet Computer stable memory
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//! Central runtime constants for the SQLite-on-stable-memory layout.
//!
//! Keeping offsets and PRAGMA values here prevents hidden magic numbers in VFS
//! callbacks, migrations, and canister API code.

pub const SQLITE_PAGE_SIZE: u32 = 16_384;
pub const SQLITE_CACHE_SIZE_KIB: i32 = 32_768;
pub const BUSY_TIMEOUT_MS: u64 = 0;

pub const STABLE_PAGE_SIZE: u64 = 65_536;
pub const SUPERBLOCK_OFFSET: u64 = 0;
pub const SUPERBLOCK_SIZE: u64 = STABLE_PAGE_SIZE;
pub const DB_REGION_OFFSET: u64 = SUPERBLOCK_OFFSET + SUPERBLOCK_SIZE;

pub const MAIN_DB_PATH: &str = "/main.db";
pub const VFS_NAME: &str = "icstable";
pub const SQLITE_URI: &str = "file:/main.db?vfs=icstable";