pub trait SchemaExpressionCatalog:
EngineHook
+ SetFunctionCatalog
+ OidAliasInput {
// Required methods
fn plan_schema_expression(
&self,
expression: &Expr,
columns: &[ColumnDef],
) -> Result<PlannedSchemaExpression, SQLError>;
fn registered_runtime_function_volatility(
&self,
name: &str,
) -> Option<FunctionVolatility>;
fn schema_expression_columns(
&self,
table: &str,
) -> Result<Option<Vec<ColumnDef>>, SQLError>;
}Expand description
Definition lookup and planner capability for stored schema expressions.
Required Methods§
Sourcefn plan_schema_expression(
&self,
expression: &Expr,
columns: &[ColumnDef],
) -> Result<PlannedSchemaExpression, SQLError>
fn plan_schema_expression( &self, expression: &Expr, columns: &[ColumnDef], ) -> Result<PlannedSchemaExpression, SQLError>
Analyze original stored syntax, then plan a copy to classify its remaining functions. The planner owns simplification; the returned catalog expression retains its dependencies.
fn registered_runtime_function_volatility( &self, name: &str, ) -> Option<FunctionVolatility>
fn schema_expression_columns( &self, table: &str, ) -> Result<Option<Vec<ColumnDef>>, SQLError>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".