Skip to main content

GroupKernel

Trait GroupKernel 

Source
pub trait GroupKernel<M: IndexDomain, K: GroupKey, O: Operand>: Operation<Scope = Group> {
    type Output: Operand;

    // Required method
    fn execute<'a>(
        graphrecord: &'a GraphRecord,
        partition: Partition<'a, M, K, O>,
        prepared: Self::Prepared<'a>,
    ) -> QueryResult<<Self::Output as EvaluateOperand>::ReturnValue<'a>>;

    // Provided method
    fn estimate(&self, input: Estimate, stats: &Stats<'_>) -> Estimate { ... }
}

Required Associated Types§

Required Methods§

Source

fn execute<'a>( graphrecord: &'a GraphRecord, partition: Partition<'a, M, K, O>, prepared: Self::Prepared<'a>, ) -> QueryResult<<Self::Output as EvaluateOperand>::ReturnValue<'a>>

Provided Methods§

Source

fn estimate(&self, input: Estimate, stats: &Stats<'_>) -> Estimate

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl<M, K, J, V, A> GroupKernel<M, K, OperandHandle<Indexed<J, V>, Definite>> for BroadcastViaOperation<A>

Source§

impl<M, K, J, V, A> GroupKernel<M, K, OperandHandle<Indexed<J, V>, Single>> for BroadcastViaOperation<A>

Source§

impl<M, K, O, P> GroupKernel<M, K, O> for HavingOperation<P>

Source§

impl<M, K, V, A> GroupKernel<M, K, OperandHandle<Bare<V>, Definite>> for BroadcastViaOperation<A>

Source§

impl<M, K, V, A> GroupKernel<M, K, OperandHandle<Bare<V>, Single>> for BroadcastViaOperation<A>

Source§

impl<M: IndexDomain, K: GroupKey, I: IndexDomain, V: ValueDomain, C: PartitionArity<Indexed<I, V>>> GroupKernel<M, K, OperandHandle<Indexed<I, V>, C>> for UngroupOperation

Source§

impl<M: IndexDomain, K: GroupKey, I: IndexDomain, V: ValueDomain> GroupKernel<M, K, OperandHandle<Indexed<I, V>, Definite>> for BroadcastOperation

Source§

impl<M: IndexDomain, K: GroupKey, I: IndexDomain, V: ValueDomain> GroupKernel<M, K, OperandHandle<Indexed<I, V>, Definite>> for UngroupKeyedOperation

Source§

impl<M: IndexDomain, K: GroupKey, I: IndexDomain, V: ValueDomain> GroupKernel<M, K, OperandHandle<Indexed<I, V>, Single>> for BroadcastOperation

Source§

impl<M: IndexDomain, K: GroupKey, I: IndexDomain, V: ValueDomain> GroupKernel<M, K, OperandHandle<Indexed<I, V>, Single>> for UngroupKeyedOperation

Source§

impl<M: IndexDomain, K: GroupKey, O: Operand, D: Diagnostic> GroupKernel<M, K, O> for DropKeyErrorsOf<D>

Source§

impl<M: IndexDomain, K: GroupKey, O: Operand, D: Diagnostic> GroupKernel<M, K, O> for RaiseKeyErrorsOf<D>

Source§

impl<M: IndexDomain, K: GroupKey, O: Operand, E: Error + 'static> GroupKernel<M, K, O> for DropKeyErrorsWithCause<E>

Source§

impl<M: IndexDomain, K: GroupKey, O: Operand, E: Error + 'static> GroupKernel<M, K, O> for RaiseKeyErrorsWithCause<E>

Source§

impl<M: IndexDomain, K: GroupKey, O: Operand, G: ErrorGroup> GroupKernel<M, K, O> for DropKeyErrorsIn<G>

Source§

impl<M: IndexDomain, K: GroupKey, O: Operand, G: ErrorGroup> GroupKernel<M, K, O> for RaiseKeyErrorsIn<G>

Source§

impl<M: IndexDomain, K: GroupKey, O: Operand> GroupKernel<M, K, O> for DropKeyErrors

Source§

impl<M: IndexDomain, K: GroupKey, O: Operand> GroupKernel<M, K, O> for RaiseKeyErrors

Source§

impl<M: IndexDomain, K: GroupKey, S: ElementShape, C: Arity> GroupKernel<M, K, OperandHandle<S, C>> for KeyErrorsOperation

Source§

impl<M: IndexDomain, K: GroupKey, S: ElementShape, C: Arity> GroupKernel<M, K, OperandHandle<S, C>> for KeysOperation

Source§

impl<M: IndexDomain, K: GroupKey, S: ElementShape, C: BucketFailureArity<S>, D: Diagnostic> GroupKernel<M, K, OperandHandle<S, C>> for DropBucketErrorsOf<D>

Source§

impl<M: IndexDomain, K: GroupKey, S: ElementShape, C: BucketFailureArity<S>, D: Diagnostic> GroupKernel<M, K, OperandHandle<S, C>> for RaiseBucketErrorsOf<D>

Source§

impl<M: IndexDomain, K: GroupKey, S: ElementShape, C: BucketFailureArity<S>, E: Error + 'static> GroupKernel<M, K, OperandHandle<S, C>> for DropBucketErrorsWithCause<E>

Source§

impl<M: IndexDomain, K: GroupKey, S: ElementShape, C: BucketFailureArity<S>, E: Error + 'static> GroupKernel<M, K, OperandHandle<S, C>> for RaiseBucketErrorsWithCause<E>

Source§

impl<M: IndexDomain, K: GroupKey, S: ElementShape, C: BucketFailureArity<S>, G: ErrorGroup> GroupKernel<M, K, OperandHandle<S, C>> for DropBucketErrorsIn<G>

Source§

impl<M: IndexDomain, K: GroupKey, S: ElementShape, C: BucketFailureArity<S>, G: ErrorGroup> GroupKernel<M, K, OperandHandle<S, C>> for RaiseBucketErrorsIn<G>

Source§

impl<M: IndexDomain, K: GroupKey, S: ElementShape, C: BucketFailureArity<S>> GroupKernel<M, K, OperandHandle<S, C>> for BucketErrorsOperation

Source§

impl<M: IndexDomain, K: GroupKey, S: ElementShape, C: BucketFailureArity<S>> GroupKernel<M, K, OperandHandle<S, C>> for DropBucketErrors

Source§

impl<M: IndexDomain, K: GroupKey, S: ElementShape, C: BucketFailureArity<S>> GroupKernel<M, K, OperandHandle<S, C>> for RaiseBucketErrors

Source§

impl<M: IndexDomain, K: GroupKey, V: BareValueDomain, C: PartitionArity<Bare<V>>> GroupKernel<M, K, OperandHandle<Bare<V>, C>> for UngroupOperation

Source§

impl<M: IndexDomain, K: GroupKey, V: BareValueDomain> GroupKernel<M, K, OperandHandle<Bare<V>, Definite>> for BroadcastOperation

Source§

impl<M: IndexDomain, K: GroupKey, V: BareValueDomain> GroupKernel<M, K, OperandHandle<Bare<V>, Definite>> for UngroupKeyedOperation

Source§

impl<M: IndexDomain, K: GroupKey, V: BareValueDomain> GroupKernel<M, K, OperandHandle<Bare<V>, Single>> for BroadcastOperation

Source§

impl<M: IndexDomain, K: GroupKey, V: BareValueDomain> GroupKernel<M, K, OperandHandle<Bare<V>, Single>> for UngroupKeyedOperation