Enum ValueType
pub enum ValueType {
String,
Number,
Boolean,
Null,
Json,
Int,
}Expand description
The logical type of a column (or a literal), mirroring the JS
ValueType (zero-schema/table-schema.ts): the five types Zero stores,
plus the opt-in exact-integer plane (design 226). It drives the SQLite value
boundary — to_sqlite_param (boolean→0/1, json→serialized TEXT) and
from_sqlite (ty-directed col() conversion, the number safe-int bound
check). The leaf maps each to a crate::value storage class.
Number is the f64 plane: an out-of-safe-range integer in a Number column
is an error, not a silent widening. Int is the declared exact-i64 plane
(226 §4): its cells are NULL or SQLite storage class INTEGER, carried as
OwnedValue::Int end to end with no round-trip bound. No decltype maps to
Int yet — BIGINT/INT8 stay refused until 226 Stage C4 lifts the
refusal — so today it is reachable only by explicit declaration (embedded
SourceSchema::with_column_types, typed ColumnDefs).
Variants§
String
Number
Boolean
Null
Json
Int
The exact-i64 column plane (design 226): NULL-or-INTEGER storage class,
no f64 round-trip requirement.