gluesql_core/executor/insert/
error.rs1use {serde::Serialize, std::fmt::Debug, thiserror::Error};
2
3#[derive(Error, Serialize, Debug, PartialEq, Eq)]
4pub enum InsertError {
5 #[error("table not found: {0}")]
6 TableNotFound(String),
7
8 #[error("lack of required column: {0}")]
9 LackOfRequiredColumn(String),
10
11 #[error("wrong column name: {0}")]
12 WrongColumnName(String),
13
14 #[error("column and values not matched")]
15 ColumnAndValuesNotMatched,
16
17 #[error("literals have more values than target columns")]
18 TooManyValues,
19
20 #[error("only single value accepted for schemaless row insert: got {0}")]
21 OnlySingleValueAcceptedForSchemalessRow(usize),
22
23 #[error("map type required: {0}")]
24 MapTypeValueRequired(String),
25
26 #[error(
27 "cannot find referenced value on {table_name}.{column_name} with value {referenced_value:?}"
28 )]
29 CannotFindReferencedValue {
30 table_name: String,
31 column_name: String,
32 referenced_value: String,
33 },
34
35 #[error("unreachable referencing column name: {0}")]
36 ConflictReferencingColumnName(String),
37}