Enum mz_adapter::error::AdapterError
source · pub enum AdapterError {
Show 68 variants
AbsurdSubscribeBounds {
as_of: Timestamp,
up_to: Timestamp,
},
AmbiguousSystemColumnReference,
Catalog(Error),
ChangedPlan(String),
DuplicateCursor(String),
Eval(EvalError),
Explain(ExplainError),
IdExhaustionError,
Internal(String),
IntrospectionDisabled {
log_names: Vec<String>,
},
InvalidLogDependency {
object_type: String,
log_names: Vec<String>,
},
InvalidClusterReplicaAz {
az: String,
expected: Vec<String>,
},
InvalidSetIsolationLevel,
InvalidSetCluster,
InvalidStorageClusterSize {
size: String,
expected: Vec<String>,
},
SourceOrSinkSizeRequired {
expected: Vec<String>,
},
InvalidTableMutationSelection,
ConstraintViolation(NotNullViolation),
ConcurrentClusterDrop,
NoClusterReplicasAvailable {
name: String,
is_managed: bool,
},
OperationProhibitsTransaction(String),
OperationRequiresTransaction(String),
PlanError(PlanError),
PreparedStatementExists(String),
ParseError(ParserStatementError),
ReadOnlyTransaction,
ReadWriteUnavailable,
RecursionLimit(RecursionLimitError),
RelationOutsideTimeDomain {
relations: Vec<String>,
names: Vec<String>,
},
ResourceExhaustion {
resource_type: String,
limit_name: String,
desired: String,
limit: String,
current: String,
},
ResultSize(String),
SafeModeViolation(String),
WrongSetOfLocks,
StatementTimeout,
Canceled,
IdleInTransactionSessionTimeout,
SubscribeOnlyTransaction,
Optimizer(OptimizerError),
UnallowedOnCluster {
depends_on: SmallVec<[String; 2]>,
cluster: String,
},
Unauthorized(UnauthorizedError),
UnknownCursor(String),
UnknownLoginRole(String),
UnknownPreparedStatement(String),
UnknownClusterReplica {
cluster_name: String,
replica_name: String,
},
UnrecognizedConfigurationParam(String),
Unstructured(Error),
Unsupported(&'static str),
UntargetedLogRead {
log_names: Vec<String>,
},
WriteOnlyTransaction,
SingleStatementTransaction,
DDLOnlyTransaction,
DDLTransactionRace,
TransactionDryRun {
new_ops: Vec<Op>,
new_state: CatalogState,
},
Storage(StorageError<Timestamp>),
Compute(Error),
Orchestrator(Error),
DependentObject(BTreeMap<String, Vec<String>>),
InvalidAlter(&'static str, PlanError),
ConnectionValidation(ConnectionValidationError),
MaterializedViewWouldNeverRefresh(Timestamp, Timestamp),
InputNotReadableAtRefreshAtTime(Timestamp, Antichain<Timestamp>),
RtrTimeout(String),
RtrDropFailure(String),
UnreadableSinkCollection,
UserSessionsDisallowed,
NetworkPolicyDenied(NetworkPolicyError),
ReadOnly,
AlterClusterTimeout,
}
Expand description
Errors that can occur in the coordinator.
Variants§
AbsurdSubscribeBounds
A SUBSCRIBE
was requested whose UP TO
bound precedes its as_of
timestamp
AmbiguousSystemColumnReference
Attempted to use a potentially ambiguous column reference expression with a system table.
Catalog(Error)
An error occurred in a catalog operation.
ChangedPlan(String)
The cached plan or descriptor changed.
DuplicateCursor(String)
The cursor already exists.
Eval(EvalError)
An error while evaluating an expression.
Explain(ExplainError)
An error occurred while planning the statement.
IdExhaustionError
The ID allocator exhausted all valid IDs.
Internal(String)
Unexpected internal state was encountered.
IntrospectionDisabled
Attempted to read from log sources of a replica with disabled introspection.
InvalidLogDependency
Attempted to create an object dependent on log sources that doesn’t support log dependencies.
InvalidClusterReplicaAz
No such cluster replica size has been configured.
InvalidSetIsolationLevel
SET TRANSACTION ISOLATION LEVEL was called in the middle of a transaction.
InvalidSetCluster
SET cluster was called in the middle of a transaction.
InvalidStorageClusterSize
No such storage instance size has been configured.
SourceOrSinkSizeRequired
Creating a source or sink without specifying its size is forbidden.
InvalidTableMutationSelection
The selection value for a table mutation operation refers to an invalid object.
ConstraintViolation(NotNullViolation)
Expression violated a column’s constraint
ConcurrentClusterDrop
Transaction cluster was dropped in the middle of a transaction.
NoClusterReplicasAvailable
Target cluster has no replicas to service query.
OperationProhibitsTransaction(String)
The named operation cannot be run in a transaction.
OperationRequiresTransaction(String)
The named operation requires an active transaction.
PlanError(PlanError)
An error occurred while planning the statement.
PreparedStatementExists(String)
The named prepared statement already exists.
ParseError(ParserStatementError)
Wrapper around parsing error
ReadOnlyTransaction
The transaction is in read-only mode.
The transaction in in read-only mode and a read already occurred.
RecursionLimit(RecursionLimitError)
The recursion limit of some operation was exceeded.
RelationOutsideTimeDomain
A query in a transaction referenced a relation outside the first query’s time domain.
ResourceExhaustion
A query tried to create more resources than is allowed in the system configuration.
ResultSize(String)
Result size of a query is too large.
SafeModeViolation(String)
The specified feature is not permitted in safe mode.
WrongSetOfLocks
The current transaction had the wrong set of write locks.
StatementTimeout
Waiting on a query timed out.
Note this differs slightly from PG’s implementation/semantics.
Canceled
The user canceled the query
IdleInTransactionSessionTimeout
An idle session in a transaction has timed out.
SubscribeOnlyTransaction
The transaction is in single-subscribe mode.
Optimizer(OptimizerError)
An error occurred in the optimizer.
UnallowedOnCluster
A query depends on items which are not allowed to be referenced from the current cluster.
A user tried to perform an action that they were unauthorized to do.
UnknownCursor(String)
The named cursor does not exist.
UnknownLoginRole(String)
The named role does not exist.
UnknownPreparedStatement(String)
UnknownClusterReplica
The named cluster replica does not exist.
UnrecognizedConfigurationParam(String)
The named setting does not exist.
Unstructured(Error)
A generic error occurred.
Unsupported(&'static str)
The named feature is not supported and will (probably) not be.
UntargetedLogRead
Attempted to read from log sources without selecting a target replica.
WriteOnlyTransaction
The transaction is in write-only mode.
SingleStatementTransaction
The transaction can only execute a single statement.
DDLOnlyTransaction
The transaction can only execute simple DDL.
DDLTransactionRace
Another session modified the Catalog while this transaction was open.
TransactionDryRun
Used to prevent us from durably committing state while a DDL transaction is open, should never be returned to the user.
Fields
new_state: CatalogState
New resulting CatalogState
.
Storage(StorageError<Timestamp>)
An error occurred in the storage layer
Compute(Error)
An error occurred in the compute layer
Orchestrator(Error)
An error in the orchestrator layer
DependentObject(BTreeMap<String, Vec<String>>)
A statement tried to drop a role that had dependent objects.
The map keys are role names and values are detailed error messages.
InvalidAlter(&'static str, PlanError)
When performing an ALTER
of some variety, re-planning the statement
errored.
ConnectionValidation(ConnectionValidationError)
An error occurred while validating a connection.
MaterializedViewWouldNeverRefresh(Timestamp, Timestamp)
We refuse to create the materialized view, because it would never be refreshed, so it would never be queryable. This can happen when the only specified refreshes are further back in the past than the initial compaction window of the materialized view.
InputNotReadableAtRefreshAtTime(Timestamp, Antichain<Timestamp>)
A CREATE MATERIALIZED VIEW statement tried to acquire a read hold at a REFRESH AT time, but was unable to get a precise read hold.
RtrTimeout(String)
A humanized version of StorageError::RtrTimeout
.
RtrDropFailure(String)
A humanized version of StorageError::RtrDropFailure
.
UnreadableSinkCollection
The collection requested to be sinked cannot be read at any timestamp
UserSessionsDisallowed
User sessions have been blocked.
NetworkPolicyDenied(NetworkPolicyError)
This use session has been deneid by a NetworkPolicy.
ReadOnly
Something attempted a write (to catalog, storage, tables, etc.) while in read-only mode.
AlterClusterTimeout
Implementations§
source§impl AdapterError
impl AdapterError
pub fn into_response(self, severity: Severity) -> ErrorResponse
pub fn position(&self) -> Option<usize>
sourcepub fn detail(&self) -> Option<String>
pub fn detail(&self) -> Option<String>
Reports additional details about the error, if any are available.
sourcepub fn hint(&self) -> Option<String>
pub fn hint(&self) -> Option<String>
Reports a hint for the user about how the error could be fixed.
pub fn code(&self) -> SqlState
pub fn internal<E: Display>(context: &str, e: E) -> AdapterError
Trait Implementations§
source§impl Debug for AdapterError
impl Debug for AdapterError
source§impl Display for AdapterError
impl Display for AdapterError
source§impl Error for AdapterError
impl Error for AdapterError
1.30.0 · source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · source§fn description(&self) -> &str
fn description(&self) -> &str
source§impl From<CatalogError> for AdapterError
impl From<CatalogError> for AdapterError
source§fn from(e: CatalogError) -> Self
fn from(e: CatalogError) -> Self
source§impl From<CatalogError> for AdapterError
impl From<CatalogError> for AdapterError
source§fn from(e: CatalogError) -> AdapterError
fn from(e: CatalogError) -> AdapterError
source§impl From<ConnectionError> for AdapterError
impl From<ConnectionError> for AdapterError
source§fn from(value: ConnectionError) -> Self
fn from(value: ConnectionError) -> Self
source§impl From<ConnectionValidationError> for AdapterError
impl From<ConnectionValidationError> for AdapterError
source§fn from(e: ConnectionValidationError) -> AdapterError
fn from(e: ConnectionValidationError) -> AdapterError
source§impl From<DurableCatalogError> for AdapterError
impl From<DurableCatalogError> for AdapterError
source§fn from(e: DurableCatalogError) -> Self
fn from(e: DurableCatalogError) -> Self
source§impl From<Error> for AdapterError
impl From<Error> for AdapterError
source§fn from(e: Error) -> AdapterError
fn from(e: Error) -> AdapterError
source§impl From<Error> for AdapterError
impl From<Error> for AdapterError
source§fn from(e: Error) -> AdapterError
fn from(e: Error) -> AdapterError
source§impl From<EvalError> for AdapterError
impl From<EvalError> for AdapterError
source§fn from(e: EvalError) -> AdapterError
fn from(e: EvalError) -> AdapterError
source§impl From<ExplainError> for AdapterError
impl From<ExplainError> for AdapterError
source§fn from(e: ExplainError) -> AdapterError
fn from(e: ExplainError) -> AdapterError
source§impl From<IdentError> for AdapterError
impl From<IdentError> for AdapterError
source§fn from(value: IdentError) -> Self
fn from(value: IdentError) -> Self
source§impl From<InstanceExists> for AdapterError
impl From<InstanceExists> for AdapterError
source§fn from(e: InstanceExists) -> Self
fn from(e: InstanceExists) -> Self
source§impl From<NetworkPolicyError> for AdapterError
impl From<NetworkPolicyError> for AdapterError
source§fn from(value: NetworkPolicyError) -> Self
fn from(value: NetworkPolicyError) -> Self
source§impl From<NotNullViolation> for AdapterError
impl From<NotNullViolation> for AdapterError
source§fn from(e: NotNullViolation) -> AdapterError
fn from(e: NotNullViolation) -> AdapterError
source§impl From<OptimizerError> for AdapterError
impl From<OptimizerError> for AdapterError
source§fn from(e: OptimizerError) -> AdapterError
fn from(e: OptimizerError) -> AdapterError
source§impl From<ParserStatementError> for AdapterError
impl From<ParserStatementError> for AdapterError
source§fn from(e: ParserStatementError) -> Self
fn from(e: ParserStatementError) -> Self
source§impl From<PlanError> for AdapterError
impl From<PlanError> for AdapterError
source§fn from(e: PlanError) -> AdapterError
fn from(e: PlanError) -> AdapterError
source§impl From<RecursionLimitError> for AdapterError
impl From<RecursionLimitError> for AdapterError
source§fn from(e: RecursionLimitError) -> AdapterError
fn from(e: RecursionLimitError) -> AdapterError
source§impl From<RecvError> for AdapterError
impl From<RecvError> for AdapterError
source§fn from(e: RecvError) -> AdapterError
fn from(e: RecvError) -> AdapterError
source§impl From<StorageError<Timestamp>> for AdapterError
impl From<StorageError<Timestamp>> for AdapterError
source§fn from(e: StorageError<Timestamp>) -> Self
fn from(e: StorageError<Timestamp>) -> Self
source§impl From<TimeoutType> for AdapterError
impl From<TimeoutType> for AdapterError
source§fn from(timeout: TimeoutType) -> Self
fn from(timeout: TimeoutType) -> Self
source§impl From<TimestampError> for AdapterError
impl From<TimestampError> for AdapterError
source§fn from(e: TimestampError) -> Self
fn from(e: TimestampError) -> Self
source§impl From<TryFromDecimalError> for AdapterError
impl From<TryFromDecimalError> for AdapterError
source§fn from(e: TryFromDecimalError) -> AdapterError
fn from(e: TryFromDecimalError) -> AdapterError
source§impl From<TryFromIntError> for AdapterError
impl From<TryFromIntError> for AdapterError
source§fn from(e: TryFromIntError) -> AdapterError
fn from(e: TryFromIntError) -> AdapterError
source§fn from(e: UnauthorizedError) -> Self
fn from(e: UnauthorizedError) -> Self
source§impl From<VarError> for AdapterError
impl From<VarError> for AdapterError
source§impl ShouldTerminateGracefully for AdapterError
impl ShouldTerminateGracefully for AdapterError
source§fn should_terminate_gracefully(&self) -> bool
fn should_terminate_gracefully(&self) -> bool
Auto Trait Implementations§
impl !Freeze for AdapterError
impl !RefUnwindSafe for AdapterError
impl Send for AdapterError
impl Sync for AdapterError
impl Unpin for AdapterError
impl !UnwindSafe for AdapterError
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<E> ErrorExt for E
impl<E> ErrorExt for E
source§fn display_with_causes(&self) -> ErrorChainFormatter<&Self>
fn display_with_causes(&self) -> ErrorChainFormatter<&Self>
source§fn to_string_with_causes(&self) -> String
fn to_string_with_causes(&self) -> String
self
to a string String
, along with the chain of source errors or
causes, if there are any. Read moresource§impl<T> FmtForward for T
impl<T> FmtForward for T
source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self
to use its Binary
implementation when Debug
-formatted.source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self
to use its Display
implementation when
Debug
-formatted.source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self
to use its LowerExp
implementation when
Debug
-formatted.source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self
to use its LowerHex
implementation when
Debug
-formatted.source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self
to use its Octal
implementation when Debug
-formatted.source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self
to use its Pointer
implementation when
Debug
-formatted.source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self
to use its UpperExp
implementation when
Debug
-formatted.source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self
to use its UpperHex
implementation when
Debug
-formatted.source§impl<T> FutureExt for T
impl<T> FutureExt for T
source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request
source§impl<T, U> OverrideFrom<Option<&T>> for Uwhere
U: OverrideFrom<T>,
impl<T, U> OverrideFrom<Option<&T>> for Uwhere
U: OverrideFrom<T>,
source§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read moresource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read moresource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self
, then passes self.as_ref()
into the pipe function.source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self
, then passes self.as_mut()
into the pipe
function.source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self
, then passes self.deref()
into the pipe function.source§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<P, R> ProtoType<R> for Pwhere
R: RustType<P>,
impl<P, R> ProtoType<R> for Pwhere
R: RustType<P>,
source§fn into_rust(self) -> Result<R, TryFromProtoError>
fn into_rust(self) -> Result<R, TryFromProtoError>
RustType::from_proto
.source§fn from_rust(rust: &R) -> P
fn from_rust(rust: &R) -> P
RustType::into_proto
.source§impl<'a, S, T> Semigroup<&'a S> for Twhere
T: Semigroup<S>,
impl<'a, S, T> Semigroup<&'a S> for Twhere
T: Semigroup<S>,
source§fn plus_equals(&mut self, rhs: &&'a S)
fn plus_equals(&mut self, rhs: &&'a S)
std::ops::AddAssign
, for types that do not implement AddAssign
.source§impl<T> Tap for T
impl<T> Tap for T
source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B>
of a value. Read moresource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B>
of a value. Read moresource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R>
view of a value. Read moresource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R>
view of a value. Read moresource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target
of a value. Read moresource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target
of a value. Read moresource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow()
only in debug builds, and is erased in release
builds.source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref()
only in debug builds, and is erased in release
builds.source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut()
only in debug builds, and is erased in release
builds.source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref()
only in debug builds, and is erased in release
builds.