pub struct ProcedureSignature {
pub inputs: Vec<String>,
pub input_types: Vec<String>,
pub outputs: Vec<String>,
}Expand description
A procedure’s declared shape – everything Executor needs to validate
a CALL at the point it’s about to run (arity, coarse argument-type
compatibility, output column names for YIELD), before ever asking
ProcedureProvider::call to actually produce rows.
Fields§
§inputs: Vec<String>Declared input parameter names, in order – used both for the
InvalidNumberOfArguments arity check and for resolving a
standalone call’s implicit arguments (CALL proc, no parens) from
same-named $params.
input_types: Vec<String>Each input’s declared type, in the same order as inputs – one of
INTEGER/FLOAT/NUMBER/STRING/BOOLEAN (optionally suffixed
with ? for nullable, which every real procedure signature is in
practice; the ? doesn’t change compatibility checking here since
Value::Null is always accepted regardless of declared type).
Unrecognized type names are tolerated (treated as “accept
anything”) rather than rejected – this is a coarse compile-time
sanity check, not a full type system.
outputs: Vec<String>Declared output column names, in order – what YIELD */an
unqualified YIELD name (no AS) binds, and what call’s own
returned rows are positionally shaped as.
Trait Implementations§
Source§impl Clone for ProcedureSignature
impl Clone for ProcedureSignature
Source§fn clone(&self) -> ProcedureSignature
fn clone(&self) -> ProcedureSignature
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for ProcedureSignature
impl RefUnwindSafe for ProcedureSignature
impl Send for ProcedureSignature
impl Sync for ProcedureSignature
impl Unpin for ProcedureSignature
impl UnsafeUnpin for ProcedureSignature
impl UnwindSafe for ProcedureSignature
Blanket Implementations§
Source§impl<T> AnyExt for T
impl<T> AnyExt for T
Source§fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
T behind referenceSource§fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
T behind mutable referenceSource§fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
T behind Rc pointerSource§fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
T behind Arc pointer