pub struct CompiledCrossJoin { /* private fields */ }Available on crate feature
transform-cross-join only.Expand description
Validated CrossJoinSpec — apply per record with CompiledCrossJoin::apply.
Implementations§
Source§impl CompiledCrossJoin
impl CompiledCrossJoin
Sourcepub fn apply(&self, rec: Value) -> Result<Vec<Value>, FaucetError>
pub fn apply(&self, rec: Value) -> Result<Vec<Value>, FaucetError>
Expand one record into the cartesian product of its named sibling arrays.
Non-object records pass through unchanged. Missing or null named fields
are treated as empty sets (subject to on_empty); a field that is present
but not an array is an error, so an upstream type change cannot silently
drop whole records (CORE-59). A produced column that would overwrite an
existing one (a parent field, or a field of an earlier array) is an error
too — set prefix: true to keep both (CORE-33).
Trait Implementations§
Source§impl Clone for CompiledCrossJoin
impl Clone for CompiledCrossJoin
Auto Trait Implementations§
impl Freeze for CompiledCrossJoin
impl RefUnwindSafe for CompiledCrossJoin
impl Send for CompiledCrossJoin
impl Sync for CompiledCrossJoin
impl Unpin for CompiledCrossJoin
impl UnsafeUnpin for CompiledCrossJoin
impl UnwindSafe for CompiledCrossJoin
Blanket Implementations§
impl<T> Allocation for T
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> 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> 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