pub enum AdapterError {
Show 65 variants AbsurdSubscribeBounds { as_of: Timestamp, up_to: Timestamp, }, AmbiguousSystemColumnReference, Catalog(Error), ChangedPlan, 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>, }, InvalidClusterReplicaSize { size: String, expected: Vec<String>, }, InvalidSetIsolationLevel, InvalidSetCluster, InvalidStorageClusterSize { size: String, expected: Vec<String>, }, SourceOrSinkSizeRequired { expected: Vec<String>, }, InvalidTableMutationSelection, BadItemInStorageCluster { cluster_name: String, }, ConstraintViolation(NotNullViolation), ConcurrentClusterDrop, NoClusterReplicasAvailable(String), OperationProhibitsTransaction(String), OperationRequiresTransaction(String), PlanError(PlanError), VarError(VarError), 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), StatementTimeout, Canceled, IdleInTransactionSessionTimeout, SubscribeOnlyTransaction, Transform(TransformError), UnallowedOnCluster { depends_on: SmallVec<[String; 2]>, cluster: String, }, Unauthorized(UnauthorizedError), UncallableFunction { func: UnmaterializableFunc, context: &'static str, }, UnknownCursor(String), UnknownLoginRole(String), UnknownPreparedStatement(String), UnknownClusterReplica { cluster_name: String, replica_name: String, }, UnknownWebhookSource { database: String, schema: String, name: String, }, UnrecognizedConfigurationParam(String), Unstructured(Error), Unsupported(&'static str), UnmaterializableFunction(UnmaterializableFunc), UnstableDependency { object_type: String, unstable_dependencies: Vec<String>, }, UntargetedLogRead { log_names: Vec<String>, }, WriteOnlyTransaction, MultiTableWriteTransaction, SingleStatementTransaction, DDLOnlyTransaction, DDLTransactionRace, DDLTransactionDryRun { new_ops: Vec<Op>, new_state: CatalogState, }, Storage(StorageError), Compute(Error), Orchestrator(Error), DependentObject(BTreeMap<String, Vec<String>>), InvalidAlter(&'static str, PlanError),
}
Expand description

Errors that can occur in the coordinator.

Variants§

§

AbsurdSubscribeBounds

Fields

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

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

Fields

§log_names: Vec<String>

Attempted to read from log sources of a replica with disabled introspection.

§

InvalidLogDependency

Fields

§object_type: String
§log_names: Vec<String>

Attempted to create an object dependent on log sources that doesn’t support log dependencies.

§

InvalidClusterReplicaAz

Fields

§expected: Vec<String>

No such cluster replica size has been configured.

§

InvalidClusterReplicaSize

Fields

§size: String
§expected: Vec<String>

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

Fields

§size: String
§expected: Vec<String>

No such storage instance size has been configured.

§

SourceOrSinkSizeRequired

Fields

§expected: Vec<String>

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.

§

BadItemInStorageCluster

Fields

§cluster_name: String

An operation attempted to create an illegal item in a storage-only cluster

§

ConstraintViolation(NotNullViolation)

Expression violated a column’s constraint

§

ConcurrentClusterDrop

Transaction cluster was dropped in the middle of a transaction.

§

NoClusterReplicasAvailable(String)

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.

§

VarError(VarError)

An error occurred with a session variable.

§

PreparedStatementExists(String)

The named prepared statement already exists.

§

ParseError(ParserStatementError)

Wrapper around parsing error

§

ReadOnlyTransaction

The transaction is in read-only mode.

§

ReadWriteUnavailable

The transaction in in read-only mode and a read already occurred.

§

RecursionLimit(RecursionLimitError)

The recursion limit of some operation was exceeded.

§

RelationOutsideTimeDomain

Fields

§relations: Vec<String>
§names: Vec<String>

A query in a transaction referenced a relation outside the first query’s time domain.

§

ResourceExhaustion

Fields

§resource_type: String
§limit_name: String
§desired: String
§limit: String
§current: String

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.

§

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.

§

Transform(TransformError)

An error occurred in the MIR stage of the optimizer.

§

UnallowedOnCluster

Fields

§depends_on: SmallVec<[String; 2]>
§cluster: String

A query depends on items which are not allowed to be referenced from the current cluster.

§

Unauthorized(UnauthorizedError)

A user tried to perform an action that they were unauthorized to do.

§

UncallableFunction

Fields

§context: &'static str

The specified function cannot be called

§

UnknownCursor(String)

The named cursor does not exist.

§

UnknownLoginRole(String)

The named role does not exist.

§

UnknownPreparedStatement(String)

§

UnknownClusterReplica

Fields

§cluster_name: String
§replica_name: String

The named cluster replica does not exist.

§

UnknownWebhookSource

Fields

§database: String
§schema: String
§name: String

The named webhook source 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.

§

UnmaterializableFunction(UnmaterializableFunc)

The specified function cannot be materialized.

§

UnstableDependency

Fields

§object_type: String
§unstable_dependencies: Vec<String>

Attempted to create an object that has unstable dependencies.

§

UntargetedLogRead

Fields

§log_names: Vec<String>

Attempted to read from log sources without selecting a target replica.

§

WriteOnlyTransaction

The transaction is in write-only mode.

§

MultiTableWriteTransaction

The transaction only supports single table writes

§

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.

§

DDLTransactionDryRun

Fields

§new_ops: Vec<Op>

New operations that were run in the transaction.

§new_state: CatalogState

New resulting CatalogState.

Used to prevent us from durably committing state while a DDL transaction is open, should never be returned to the user.

§

Storage(StorageError)

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.

Implementations§

source§

impl AdapterError

source

pub fn into_response(self, severity: Severity) -> ErrorResponse

source

pub fn detail(&self) -> Option<String>

Reports additional details about the error, if any are available.

source

pub fn hint(&self) -> Option<String>

Reports a hint for the user about how the error could be fixed.

source

pub fn code(&self) -> SqlState

source

pub fn internal<E: Display>(context: &str, e: E) -> AdapterError

Trait Implementations§

source§

impl Debug for AdapterError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for AdapterError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Error for AdapterError

1.30.0 · source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl From<AdapterError> for OptimizerError

source§

fn from(source: AdapterError) -> Self

Converts to this type from the input type.
source§

impl From<CatalogError> for AdapterError

source§

fn from(e: CatalogError) -> Self

Converts to this type from the input type.
source§

impl From<CatalogError> for AdapterError

source§

fn from(e: CatalogError) -> AdapterError

Converts to this type from the input type.
source§

impl From<ConnectionError> for AdapterError

source§

fn from(value: ConnectionError) -> Self

Converts to this type from the input type.
source§

impl From<Error> for AdapterError

source§

fn from(e: Error) -> AdapterError

Converts to this type from the input type.
source§

impl From<Error> for AdapterError

source§

fn from(e: Error) -> AdapterError

Converts to this type from the input type.
source§

impl From<EvalError> for AdapterError

source§

fn from(e: EvalError) -> AdapterError

Converts to this type from the input type.
source§

impl From<ExplainError> for AdapterError

source§

fn from(e: ExplainError) -> AdapterError

Converts to this type from the input type.
source§

impl From<IdentError> for AdapterError

source§

fn from(value: IdentError) -> Self

Converts to this type from the input type.
source§

impl From<InstanceExists> for AdapterError

source§

fn from(e: InstanceExists) -> Self

Converts to this type from the input type.
source§

impl From<NotNullViolation> for AdapterError

source§

fn from(e: NotNullViolation) -> AdapterError

Converts to this type from the input type.
source§

impl From<OptimizerError> for AdapterError

source§

fn from(value: OptimizerError) -> Self

Converts to this type from the input type.
source§

impl From<ParserStatementError> for AdapterError

source§

fn from(e: ParserStatementError) -> Self

Converts to this type from the input type.
source§

impl From<PlanError> for AdapterError

source§

fn from(e: PlanError) -> AdapterError

Converts to this type from the input type.
source§

impl From<RecursionLimitError> for AdapterError

source§

fn from(e: RecursionLimitError) -> AdapterError

Converts to this type from the input type.
source§

impl From<RecvError> for AdapterError

source§

fn from(e: RecvError) -> AdapterError

Converts to this type from the input type.
source§

impl From<StorageError> for AdapterError

source§

fn from(e: StorageError) -> Self

Converts to this type from the input type.
source§

impl From<TimeoutType> for AdapterError

source§

fn from(timeout: TimeoutType) -> Self

Converts to this type from the input type.
source§

impl From<TimestampError> for AdapterError

source§

fn from(e: TimestampError) -> Self

Converts to this type from the input type.
source§

impl From<TransformError> for AdapterError

source§

fn from(e: TransformError) -> AdapterError

Converts to this type from the input type.
source§

impl From<TryFromDecimalError> for AdapterError

source§

fn from(e: TryFromDecimalError) -> AdapterError

Converts to this type from the input type.
source§

impl From<TryFromIntError> for AdapterError

source§

fn from(e: TryFromIntError) -> AdapterError

Converts to this type from the input type.
source§

impl From<UnauthorizedError> for AdapterError

source§

fn from(e: UnauthorizedError) -> Self

Converts to this type from the input type.
source§

impl From<VarError> for AdapterError

source§

fn from(e: VarError) -> Self

Converts to this type from the input type.
source§

impl ShouldHalt for AdapterError

source§

fn should_halt(&self) -> bool

Reports whether the error should halt rather than panic the process.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<E> ErrorExt for Ewhere E: Error + ?Sized,

source§

fn display_with_causes(&self) -> ErrorChainFormatter<&Self>

Returns a type that displays the error, along with the chain of source errors or causes, if there are any. Read more
source§

fn to_string_with_causes(&self) -> String

Converts self to a string String, along with the chain of source errors or causes, if there are any. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> FutureExt for T

source§

fn with_context(self, otel_cx: Context) -> WithContext<Self>

Attaches the provided Context to this type, returning a WithContext wrapper. Read more
source§

fn with_current_context(self) -> WithContext<Self>

Attaches the current Context to this type, returning a WithContext wrapper. Read more
source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoRequest<T> for T

source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
source§

impl<T> Pointable for T

source§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<P, R> ProtoType<R> for Pwhere R: RustType<P>,

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToString for Twhere T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

source§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more