use crate::{
ast::{ColumnDef, FunctionVolatility},
SQLError,
};
use crate::{expr::EngineHook, semantics::sets::SetFunctionCatalog};
pub trait SchemaExpressionCatalog: EngineHook + SetFunctionCatalog {
fn registered_runtime_function_volatility(&self, name: &str) -> Option<FunctionVolatility>;
fn schema_expression_columns(&self, table: &str) -> Result<Option<Vec<ColumnDef>>, SQLError>;
}
pub struct SchemaBindingContext<'a, 'q> {
pub catalog: &'a dyn SchemaExpressionCatalog,
pub binding: &'a crate::binding::context::BindingContext<'q>,
}