pub(crate) trait EagerBinaryFunc {
type Input<'a>: InputDatumType<'a, EvalError>;
type Output<'a>: OutputDatumType<'a, EvalError>;
// Required methods
fn call<'a>(
&self,
input: Self::Input<'a>,
temp_storage: &'a RowArena,
) -> Self::Output<'a>;
fn output_type(&self, input_types: &[SqlColumnType]) -> SqlColumnType;
// Provided methods
fn propagates_nulls(&self) -> bool { ... }
fn introduces_nulls(&self) -> bool { ... }
fn could_error(&self) -> bool { ... }
fn negate(&self) -> Option<BinaryFunc> { ... }
fn is_monotone(&self) -> (bool, bool) { ... }
fn is_infix_op(&self) -> bool { ... }
}Required Associated Types§
type Input<'a>: InputDatumType<'a, EvalError>
type Output<'a>: OutputDatumType<'a, EvalError>
Required Methods§
fn call<'a>( &self, input: Self::Input<'a>, temp_storage: &'a RowArena, ) -> Self::Output<'a>
Sourcefn output_type(&self, input_types: &[SqlColumnType]) -> SqlColumnType
fn output_type(&self, input_types: &[SqlColumnType]) -> SqlColumnType
The output SqlColumnType of this function
Provided Methods§
Sourcefn propagates_nulls(&self) -> bool
fn propagates_nulls(&self) -> bool
Whether this function will produce NULL on NULL input
Sourcefn introduces_nulls(&self) -> bool
fn introduces_nulls(&self) -> bool
Whether this function will produce NULL on non-NULL input
Sourcefn could_error(&self) -> bool
fn could_error(&self) -> bool
Whether this function could produce an error
Sourcefn negate(&self) -> Option<BinaryFunc>
fn negate(&self) -> Option<BinaryFunc>
Returns the negation of the given binary function, if it exists.
fn is_monotone(&self) -> (bool, bool)
fn is_infix_op(&self) -> bool
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.