pub const MAX_LENGTH: u32 = 1_000_000_000;
pub const MIN_LENGTH: u32 = 30;
pub const MAX_ALLOCATION_SIZE: u32 = 2_147_483_391;
pub const MAX_COLUMN: u16 = 2000;
pub const MAX_SQL_LENGTH: u32 = 1_000_000_000;
pub const MAX_EXPR_DEPTH: u32 = 1000;
pub const MAX_PARSER_DEPTH: u32 = 2500;
pub const MAX_COMPOUND_SELECT: u32 = 500;
pub const MAX_VDBE_OP: u32 = 250_000_000;
pub const MAX_FUNCTION_ARG: u16 = 1000;
pub const DEFAULT_CACHE_SIZE: i32 = -2000;
pub const DEFAULT_WAL_AUTOCHECKPOINT: u32 = 1000;
pub const MAX_ATTACHED: u8 = 10;
pub const MAX_VARIABLE_NUMBER: u32 = 32766;
pub const MAX_PAGE_SIZE: u32 = 65536;
pub const DEFAULT_PAGE_SIZE: u32 = 4096;
pub const MAX_DEFAULT_PAGE_SIZE: u32 = 8192;
pub const MAX_PAGE_COUNT: u32 = 0xFFFF_FFFE;
pub const MAX_LIKE_PATTERN_LENGTH: u32 = 50000;
pub const MAX_TRIGGER_DEPTH: u32 = 1000;
pub const BTREE_MAX_DEPTH: u8 = 20;
pub const BTREE_MIN_CELLS: u32 = 2;
pub const DB_HEADER_SIZE: u32 = 100;
pub const BTREE_LEAF_HEADER_SIZE: u8 = 8;
pub const BTREE_INTERIOR_HEADER_SIZE: u8 = 12;
pub const CELL_POINTER_SIZE: u8 = 2;
pub const WAL_MAGIC_BE: u32 = 0x377F_0682;
pub const WAL_MAGIC_LE: u32 = 0x377F_0683;
pub const WAL_FRAME_HEADER_SIZE: u32 = 24;
pub const WAL_HEADER_SIZE: u32 = 32;
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn limit_values_match_sqlite() {
assert_eq!(MAX_LENGTH, 1_000_000_000);
assert_eq!(MAX_COLUMN, 2000);
assert_eq!(MAX_SQL_LENGTH, 1_000_000_000);
assert_eq!(MAX_EXPR_DEPTH, 1000);
assert_eq!(MAX_PARSER_DEPTH, 2500);
assert_eq!(MAX_COMPOUND_SELECT, 500);
assert_eq!(MAX_VDBE_OP, 250_000_000);
assert_eq!(MAX_FUNCTION_ARG, 1000);
assert_eq!(DEFAULT_CACHE_SIZE, -2000);
assert_eq!(DEFAULT_WAL_AUTOCHECKPOINT, 1000);
assert_eq!(MAX_ATTACHED, 10);
assert_eq!(MAX_VARIABLE_NUMBER, 32766);
assert_eq!(MAX_PAGE_SIZE, 65536);
assert_eq!(DEFAULT_PAGE_SIZE, 4096);
assert_eq!(MAX_DEFAULT_PAGE_SIZE, 8192);
assert_eq!(MAX_PAGE_COUNT, 0xFFFF_FFFE);
assert_eq!(MAX_LIKE_PATTERN_LENGTH, 50000);
assert_eq!(MAX_TRIGGER_DEPTH, 1000);
}
#[test]
fn default_page_size_is_power_of_two() {
assert!(DEFAULT_PAGE_SIZE.is_power_of_two());
}
#[test]
fn max_page_size_is_power_of_two() {
assert!(MAX_PAGE_SIZE.is_power_of_two());
}
#[test]
fn wal_constants() {
assert_eq!(WAL_FRAME_HEADER_SIZE, 24);
assert_eq!(WAL_HEADER_SIZE, 32);
}
}