Skip to main content

SchemaExpressionCatalog

Trait SchemaExpressionCatalog 

Source
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§

Source

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.

Source

fn registered_runtime_function_volatility( &self, name: &str, ) -> Option<FunctionVolatility>

Source

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".

Implementors§