pub struct CoalesceFilter {
pub columns: Vec<&'static str>,
pub op: FilterOp,
pub value: FilterValue,
}Expand description
COALESCE(col_a, col_b, ...) <op> <value> — left-hand expression
is the first non-null among the listed columns; right-hand side is
a bound value via the usual FilterValue envelope. Lets schemas
express the “ranked-fallback compare” pattern that shows up in
outbox / scheduler tables, where a single row carries several
time columns and the dispatcher wants the earliest non-null one.
IsNull and IsNotNull are valid op choices too: a row where
every coalesced column is null collapses to COALESCE(...) IS NULL, which the engine can index-elide when at least one of the
inputs has a NOT NULL constraint.
Fields§
§columns: Vec<&'static str>§op: FilterOp§value: FilterValueTrait Implementations§
Source§impl Clone for CoalesceFilter
impl Clone for CoalesceFilter
Source§fn clone(&self) -> CoalesceFilter
fn clone(&self) -> CoalesceFilter
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CoalesceFilter
impl Debug for CoalesceFilter
Source§impl PartialEq for CoalesceFilter
impl PartialEq for CoalesceFilter
Source§fn eq(&self, other: &CoalesceFilter) -> bool
fn eq(&self, other: &CoalesceFilter) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for CoalesceFilter
Auto Trait Implementations§
impl Freeze for CoalesceFilter
impl RefUnwindSafe for CoalesceFilter
impl Send for CoalesceFilter
impl Sync for CoalesceFilter
impl Unpin for CoalesceFilter
impl UnsafeUnpin for CoalesceFilter
impl UnwindSafe for CoalesceFilter
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 more