uqa_sql/schema/
declarations.rs1use crate::{
10 ast::{ColumnDef, FunctionVolatility},
11 SQLError,
12};
13use crate::{expr::EngineHook, semantics::sets::SetFunctionCatalog};
14
15pub trait SchemaExpressionCatalog: EngineHook + SetFunctionCatalog {
17 fn registered_runtime_function_volatility(&self, name: &str) -> Option<FunctionVolatility>;
18 fn schema_expression_columns(&self, table: &str) -> Result<Option<Vec<ColumnDef>>, SQLError>;
19}
20
21pub struct SchemaBindingContext<'a, 'q> {
23 pub catalog: &'a dyn SchemaExpressionCatalog,
24 pub binding: &'a crate::binding::context::BindingContext<'q>,
25}