pub struct CastEntry {
pub src: DataType,
pub target: DataType,
pub context: CastContext,
pub lossy: bool,
}Expand description
One row in the static cast catalog. Equivalent to a PG pg_cast
tuple modulo the castfunc / castmethod fields — all reddb
built-in casts today go through the schema::coerce module, so
we only need to record the (src, target, context) triple plus a
lossy flag that informs diagnostics.
Fields§
§src: DataType§target: DataType§context: CastContextMinimum context in which this cast may be applied. Implicit means “always allowed”, Assignment means “INSERT/UPDATE RHS”, Explicit means “CAST(…) only”.
lossy: boolWhether the cast may lose information (truncation, overflow). Diagnostics use this to warn users writing lossy implicit conversions (rare — the table avoids listing lossy casts at Implicit context on purpose).
Trait Implementations§
Auto Trait Implementations§
impl Freeze for CastEntry
impl RefUnwindSafe for CastEntry
impl Send for CastEntry
impl Sync for CastEntry
impl Unpin for CastEntry
impl UnsafeUnpin for CastEntry
impl UnwindSafe for CastEntry
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§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>
Wrap the input message
T in a tonic::Request