pub trait ViewPrivilegeCatalog {
// Required methods
fn view_definition(
&self,
name: &str,
) -> Result<Option<StoredView>, SQLError>;
fn current_user_name(&self) -> String;
fn ensure_view_privilege_for(
&self,
name: &str,
view: &StoredView,
subject: &str,
privilege: TableAclPrivilege,
) -> Result<(), SQLError>;
fn ensure_view_column_privilege_for(
&self,
name: &str,
view: &StoredView,
column: &str,
subject: &str,
privilege: TableAclPrivilege,
) -> Result<(), SQLError>;
fn ensure_any_view_column_privilege_for(
&self,
name: &str,
view: &StoredView,
subject: &str,
privilege: TableAclPrivilege,
) -> Result<(), SQLError>;
fn ensure_target_select(
&self,
request: TargetSelectPrivilegeRequest<'_, '_>,
) -> Result<(), SQLError>;
}Expand description
Authorization access to one loaded view and the current statement’s SELECT privileges.
Required Methods§
fn view_definition(&self, name: &str) -> Result<Option<StoredView>, SQLError>
fn current_user_name(&self) -> String
fn ensure_view_privilege_for( &self, name: &str, view: &StoredView, subject: &str, privilege: TableAclPrivilege, ) -> Result<(), SQLError>
fn ensure_view_column_privilege_for( &self, name: &str, view: &StoredView, column: &str, subject: &str, privilege: TableAclPrivilege, ) -> Result<(), SQLError>
fn ensure_any_view_column_privilege_for( &self, name: &str, view: &StoredView, subject: &str, privilege: TableAclPrivilege, ) -> Result<(), SQLError>
fn ensure_target_select( &self, request: TargetSelectPrivilegeRequest<'_, '_>, ) -> Result<(), SQLError>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".