1#[macro_use]
2mod trace_support;
3
4mod bootstrap;
5mod migration;
6
7pub use bootstrap::{
8 BootstrapReport, DEFAULT_FTS_TOKENIZER, SchemaManager, fts_column_name, fts_kind_table_name,
9 legacy_fts_kind_table_name, legacy_vec_kind_table_name, resolve_fts_tokenizer,
10 vec_kind_table_name,
11};
12pub use migration::{Migration, SchemaVersion};
13
14use thiserror::Error;
15
16#[derive(Debug, Error)]
17pub enum SchemaError {
18 #[error("sqlite error: {0}")]
19 Sqlite(#[from] rusqlite::Error),
20 #[error("missing sqlite capability: {0}")]
21 MissingCapability(&'static str),
22 #[error(
23 "database schema version {database_version} is newer than engine version {engine_version}; upgrade the engine"
24 )]
25 VersionMismatch {
26 database_version: u32,
27 engine_version: u32,
28 },
29}