pub trait RoutineResolution: FunctionTypeResolver {
// Provided methods
fn has_registered_scalar_function(&self, _name: &str) -> bool { ... }
fn has_registered_table_function(&self, _name: &str) -> bool { ... }
fn has_registered_aggregate_function(&self, _name: &str) -> bool { ... }
fn lookup_visible_sql_functions(
&self,
_name: &str,
) -> Result<Option<Vec<Arc<SQLUserFunction>>>, SQLError> { ... }
fn lookup_visible_sql_functions_for_analysis(
&self,
name: &str,
) -> Result<Option<Vec<Arc<SQLUserFunction>>>, SQLError> { ... }
fn lookup_bound_sql_functions(
&self,
_name: &str,
) -> Option<Vec<Arc<SQLUserFunction>>> { ... }
fn lookup_bound_sql_functions_by_binding(
&self,
_binding: &FunctionBinding,
) -> Option<Vec<Arc<SQLUserFunction>>> { ... }
fn resolve_static_sql_function(
&self,
_name: &str,
_binding: Option<&FunctionBinding>,
_argument_names: &[Option<String>],
_argument_types: &[Option<ColumnType>],
_explicit_variadic: bool,
) -> Result<Option<Arc<SQLUserFunction>>, SQLError> { ... }
fn resolve_static_sql_function_match(
&self,
_name: &str,
_binding: Option<&FunctionBinding>,
_argument_names: &[Option<String>],
_argument_types: &[Option<ColumnType>],
_explicit_variadic: bool,
) -> Result<Option<StaticFunctionMatch>, SQLError> { ... }
fn resolve_table_function_overload_with_builtins(
&self,
_name: &str,
_binding: Option<&FunctionBinding>,
_argument_names: &[Option<String>],
_argument_types: &[Option<ColumnType>],
_explicit_variadic: bool,
_builtins: &[BuiltinFunctionOverload],
) -> Result<Option<ResolvedFunctionOverload>, SQLError> { ... }
}Expand description
Function-catalog operations required by static query binding. The interface deliberately excludes storage, transaction, locking, and execution services so the binder can run against a deterministic catalog fixture.
Provided Methods§
fn has_registered_scalar_function(&self, _name: &str) -> bool
fn has_registered_table_function(&self, _name: &str) -> bool
fn has_registered_aggregate_function(&self, _name: &str) -> bool
fn lookup_visible_sql_functions( &self, _name: &str, ) -> Result<Option<Vec<Arc<SQLUserFunction>>>, SQLError>
Sourcefn lookup_visible_sql_functions_for_analysis(
&self,
name: &str,
) -> Result<Option<Vec<Arc<SQLUserFunction>>>, SQLError>
fn lookup_visible_sql_functions_for_analysis( &self, name: &str, ) -> Result<Option<Vec<Arc<SQLUserFunction>>>, SQLError>
Resolve candidate metadata without refreshing session-visible function state during analysis.
Sourcefn lookup_bound_sql_functions(
&self,
_name: &str,
) -> Option<Vec<Arc<SQLUserFunction>>>
fn lookup_bound_sql_functions( &self, _name: &str, ) -> Option<Vec<Arc<SQLUserFunction>>>
Resolve an exact stored routine name without repeating visible-name lookup.
fn lookup_bound_sql_functions_by_binding( &self, _binding: &FunctionBinding, ) -> Option<Vec<Arc<SQLUserFunction>>>
fn resolve_static_sql_function( &self, _name: &str, _binding: Option<&FunctionBinding>, _argument_names: &[Option<String>], _argument_types: &[Option<ColumnType>], _explicit_variadic: bool, ) -> Result<Option<Arc<SQLUserFunction>>, SQLError>
fn resolve_static_sql_function_match( &self, _name: &str, _binding: Option<&FunctionBinding>, _argument_names: &[Option<String>], _argument_types: &[Option<ColumnType>], _explicit_variadic: bool, ) -> Result<Option<StaticFunctionMatch>, SQLError>
fn resolve_table_function_overload_with_builtins( &self, _name: &str, _binding: Option<&FunctionBinding>, _argument_names: &[Option<String>], _argument_types: &[Option<ColumnType>], _explicit_variadic: bool, _builtins: &[BuiltinFunctionOverload], ) -> Result<Option<ResolvedFunctionOverload>, SQLError>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".