Skip to main content

ViewRewriteCatalog

Trait ViewRewriteCatalog 

Source
pub trait ViewRewriteCatalog: SetFunctionCatalog {
    // Required methods
    fn view_definition(
        &self,
        name: &str,
    ) -> Result<Option<ViewRewriteDefinition>, SQLError>;
    fn try_resolve_view_name(
        &self,
        name: &str,
    ) -> Result<Option<String>, String>;
    fn try_describe_table(
        &self,
        name: &str,
    ) -> Result<Option<Vec<ColumnDef>>, String>;
    fn try_table_columns(&self, name: &str) -> Result<Vec<String>, String>;
    fn rules_for(
        &self,
        name: &str,
        event: RuleEvent,
    ) -> Result<Vec<StoredRule>, SQLError>;
    fn rule_definitions_for(
        &self,
        name: &str,
        event: RuleEvent,
    ) -> Result<Vec<StoredRule>, SQLError>;
    fn has_trigger_definition(
        &self,
        name: &str,
        timing: TriggerTiming,
        event: TriggerEvent,
        row: bool,
    ) -> Result<bool, SQLError>;
    fn rule_new_row_columns(
        &self,
        rule: &StoredRule,
    ) -> Result<Option<BTreeSet<String>>, SQLError>;
    fn target_view_kind(
        &self,
        name: &str,
    ) -> Result<Option<StoredViewKind>, SQLError>;
    fn binding_scope(&self) -> Result<BindingSnapshot, SQLError>;
    fn restored_view_catalog(&self) -> (CatalogReadView, RelationNameResolution);
}

Required Methods§

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§