proof_of_sql/sql/postprocessing/
error.rs1use alloc::string::String;
2use snafu::Snafu;
3use sqlparser::ast::Ident;
4
5#[derive(Snafu, Debug, PartialEq, Eq)]
7pub enum PostprocessingError {
8 #[snafu(display("Error in slicing due to slice index beyond usize {index}"))]
10 InvalidSliceIndex {
11 index: i128,
13 },
14 #[snafu(display("Column not found: {column}"))]
16 ColumnNotFound {
17 column: String,
19 },
20 #[snafu(transparent)]
22 ExpressionEvaluationError {
23 source: crate::base::database::ExpressionEvaluationError,
25 },
26 #[snafu(transparent)]
28 OwnedTableError {
29 source: crate::base::database::OwnedTableError,
31 },
32 #[snafu(display("Invalid group by: column '{column}' must not appear outside aggregate functions or `GROUP BY` clause."))]
34 IdentNotInAggregationOperatorOrGroupByClause {
35 column: Ident,
37 },
38 #[snafu(display("Failed to convert `Ident` to `Identifier`: {error}"))]
40 IdentifierConversionError {
41 error: String,
43 },
44 #[snafu(transparent)]
46 AggregateColumnsError {
47 source: crate::base::database::group_by_util::AggregateColumnsError,
49 },
50 #[snafu(transparent)]
52 OwnedColumnError {
53 source: crate::base::database::OwnedColumnError,
55 },
56 #[snafu(display("Nested aggregation in `GROUP BY` clause: {error}"))]
58 NestedAggregationInGroupByClause {
59 error: String,
61 },
62}
63
64pub type PostprocessingResult<T> = core::result::Result<T, PostprocessingError>;