Skip to main content

gluesql_core/query_builder/
error.rs

1use {serde::Serialize, std::fmt::Debug, thiserror::Error};
2
3#[derive(Error, Serialize, Debug, PartialEq, Eq)]
4pub enum QueryBuilderError {
5    #[error("failed to parse numeric value: {0}")]
6    FailedToParseNumeric(String),
7
8    #[error("hash join executor can only be built as an execution plan")]
9    HashJoinExecutorRequiresPlan,
10
11    #[error("index_by can only be built as an execution plan")]
12    IndexByRequiresPlan,
13
14    #[error(
15        "projection expression label cannot be derived from a plan-only expression; use an explicit alias"
16    )]
17    ProjectionLabelRequiresAlias,
18
19    #[error("values_from requires at least one row")]
20    ValuesFromRequiresRows,
21
22    #[error("values_from row has {found} values but {expected} columns are declared")]
23    ValuesFromColumnCountMismatch { expected: usize, found: usize },
24}