package umari:sqlite@0.1.0;
interface types {
type sql = string;
/// SQLite value types
variant value {
null,
integer(s64),
real(f64),
text(string),
blob(list<u8>),
}
record column {
name: string,
value: value,
}
record row {
columns: list<column>,
}
/// The type of constraint that was violated
enum constraint-violation-kind {
unique,
primary-key,
not-null,
foreign-key,
check,
other,
}
/// Details of a SQLite constraint violation
record constraint-violation {
kind: constraint-violation-kind,
message: string,
}
/// SQLite error - only constraint violation errors are surfaced; all other errors trap the actor.
variant sqlite-error {
constraint-violation(constraint-violation),
}
}