connectorx/sources/oracle/
errors.rs1use std::string::FromUtf8Error;
2use thiserror::Error;
3
4#[derive(Error, Debug)]
5pub enum OracleSourceError {
6 #[error(transparent)]
7 ConnectorXError(#[from] crate::errors::ConnectorXError),
8
9 #[error(transparent)]
10 OracleError(#[from] r2d2_oracle::oracle::Error),
11
12 #[error(transparent)]
13 OraclePoolError(#[from] r2d2::Error),
14
15 #[error(transparent)]
16 OracleUrlError(#[from] url::ParseError),
17
18 #[error(transparent)]
19 OracleUrlDecodeError(#[from] FromUtf8Error),
20
21 #[error(transparent)]
22 DecimalError(#[from] rust_decimal::Error),
23
24 #[error(
27 "column {column} is a native BOOLEAN, but Oracle Instant Client {client} can return \
28 wrong BOOLEAN values without raising an error. Upgrade Instant Client to 23.5 or \
29 later, or convert the column in SQL, e.g. CAST({column} AS NUMBER)"
30 )]
31 UnreliableBooleanClient {
32 column: String,
34 client: String,
36 },
37
38 #[error(transparent)]
40 Other(#[from] anyhow::Error),
41}