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 resolve_fts_tokenizer, vec_kind_table_name,
10};
11pub use migration::{Migration, SchemaVersion};
12
13use thiserror::Error;
14
15#[derive(Debug, Error)]
16pub enum SchemaError {
17 #[error("sqlite error: {0}")]
18 Sqlite(#[from] rusqlite::Error),
19 #[error("missing sqlite capability: {0}")]
20 MissingCapability(&'static str),
21 #[error(
22 "database schema version {database_version} is newer than engine version {engine_version}; upgrade the engine"
23 )]
24 VersionMismatch {
25 database_version: u32,
26 engine_version: u32,
27 },
28}