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}