scouter_sql/sql/
error.rs

1use scouter_dataframe::error::DataFrameError;
2use scouter_types::error::RecordError;
3use sqlx::Error as SqlxError;
4use thiserror::Error;
5
6#[derive(Error, Debug)]
7pub enum SqlError {
8    #[error(transparent)]
9    SqlxError(#[from] SqlxError),
10
11    #[error("Failed to run migrations")]
12    MigrateError(#[from] sqlx::migrate::MigrateError),
13
14    #[error(transparent)]
15    RecordError(#[from] RecordError),
16
17    #[error("Invalid record type: {0}")]
18    InvalidRecordTypeError(String),
19
20    #[error(transparent)]
21    SemverError(#[from] semver::Error),
22
23    #[error(transparent)]
24    VersionError(#[from] scouter_semver::error::VersionError),
25
26    #[error("Begin datetime must be before end datetime")]
27    InvalidDateRangeError,
28
29    #[error(transparent)]
30    DataFrameError(#[from] DataFrameError),
31
32    #[error(transparent)]
33    SerdeJsonError(#[from] serde_json::Error),
34
35    #[error(transparent)]
36    CronError(#[from] cron::error::Error),
37
38    #[error("Failed to get next run for cron schedule")]
39    GetNextRunError,
40
41    #[error("Empty batch of records")]
42    EmptyBatchError,
43
44    #[error("Record batch type is not supported")]
45    UnsupportedBatchTypeError,
46}