Struct substrait::proto::expression::ScalarFunction
source · pub struct ScalarFunction {
pub function_reference: u32,
pub arguments: Vec<FunctionArgument>,
pub options: Vec<FunctionOption>,
pub output_type: Option<Type>,
pub args: Vec<Expression>,
}
Expand description
A scalar function call.
Fields§
§function_reference: u32
Points to a function_anchor defined in this plan, which must refer to a scalar function in the associated YAML file. Required; avoid using anchor/reference zero.
arguments: Vec<FunctionArgument>
The arguments to be bound to the function. This must have exactly the number of arguments specified in the function definition, and the argument types must also match exactly:
- Value arguments must be bound using FunctionArgument.value, and the expression in that must yield a value of a type that a function overload is defined for.
- Type arguments must be bound using FunctionArgument.type.
- Enum arguments must be bound using FunctionArgument.enum followed by Enum.specified, with a string that case-insensitively matches one of the allowed options.
options: Vec<FunctionOption>
Options to specify behavior for corner cases, or leave behavior unspecified if the consumer does not need specific behavior in these cases.
output_type: Option<Type>
Must be set to the return type of the function, exactly as derived using the declaration in the extension.
args: Vec<Expression>
👎Deprecated
Deprecated; use arguments instead.
Trait Implementations§
source§impl Clone for ScalarFunction
impl Clone for ScalarFunction
source§fn clone(&self) -> ScalarFunction
fn clone(&self) -> ScalarFunction
Returns a copy of the value. Read more
1.0.0 · 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 ScalarFunction
impl Debug for ScalarFunction
source§impl Default for ScalarFunction
impl Default for ScalarFunction
§impl<'de> Deserialize<'de> for ScalarFunction
impl<'de> Deserialize<'de> for ScalarFunction
§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl Message for ScalarFunction
impl Message for ScalarFunction
source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Returns the encoded length of the message without a length delimiter.
source§fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>
fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>
Encodes the message to a buffer. Read more
source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Encodes the message to a newly allocated buffer.
source§fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>
fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>
Encodes the message with a length-delimiter to a buffer. Read more
source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Encodes the message with a length-delimiter to a newly allocated buffer.
source§fn decode<B>(buf: B) -> Result<Self, DecodeError>
fn decode<B>(buf: B) -> Result<Self, DecodeError>
Decodes an instance of the message from a buffer. Read more
source§fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>
fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>
Decodes a length-delimited instance of the message from the buffer.
source§fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>
fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>
Decodes an instance of the message from a buffer, and merges it into
self
. Read moresource§fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>
fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>
Decodes a length-delimited instance of the message from buffer, and
merges it into
self
.source§impl PartialEq for ScalarFunction
impl PartialEq for ScalarFunction
source§fn eq(&self, other: &ScalarFunction) -> bool
fn eq(&self, other: &ScalarFunction) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.§impl Serialize for ScalarFunction
impl Serialize for ScalarFunction
impl StructuralPartialEq for ScalarFunction
Auto Trait Implementations§
impl Freeze for ScalarFunction
impl RefUnwindSafe for ScalarFunction
impl Send for ScalarFunction
impl Sync for ScalarFunction
impl Unpin for ScalarFunction
impl UnwindSafe for ScalarFunction
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§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)