vespertide_planner/
error.rs1use thiserror::Error;
2
3#[derive(Debug, Error)]
4pub enum PlannerError {
5 #[error("table already exists: {0}")]
6 TableExists(String),
7 #[error("table not found: {0}")]
8 TableNotFound(String),
9 #[error("column already exists: {0}.{1}")]
10 ColumnExists(String, String),
11 #[error("column not found: {0}.{1}")]
12 ColumnNotFound(String, String),
13 #[error("index not found: {0}.{1}")]
14 IndexNotFound(String, String),
15 #[error("duplicate table name: {0}")]
16 DuplicateTableName(String),
17 #[error("foreign key references non-existent table: {0}.{1} -> {2}")]
18 ForeignKeyTableNotFound(String, String, String),
19 #[error("foreign key references non-existent column: {0}.{1} -> {2}.{3}")]
20 ForeignKeyColumnNotFound(String, String, String, String),
21 #[error("index references non-existent column: {0}.{1} -> {2}")]
22 IndexColumnNotFound(String, String, String),
23 #[error("constraint references non-existent column: {0}.{1} -> {2}")]
24 ConstraintColumnNotFound(String, String, String),
25 #[error("constraint has empty column list: {0}.{1}")]
26 EmptyConstraintColumns(String, String),
27 #[error("AddColumn requires fill_with when column is NOT NULL without default: {0}.{1}")]
28 MissingFillWith(String, String),
29 #[error("table validation error: {0}")]
30 TableValidation(String),
31 #[error("table '{0}' must have a primary key")]
32 MissingPrimaryKey(String),
33 #[error("enum '{0}' in column '{1}.{2}' has duplicate variant name: '{3}'")]
34 DuplicateEnumVariantName(String, String, String, String),
35 #[error("enum '{0}' in column '{1}.{2}' has duplicate value: {3}")]
36 DuplicateEnumValue(String, String, String, i32),
37}