Skip to main content

RoleSubject

Trait RoleSubject 

Source
pub trait RoleSubject {
    // Required methods
    fn role_name<'a>(
        &'a self,
        roles: &'a BTreeMap<String, RoleDefinition>,
    ) -> Option<&'a str>;
    fn role_definition<'a>(
        &self,
        roles: &'a BTreeMap<String, RoleDefinition>,
    ) -> Option<&'a RoleDefinition>;
}
Expand description

A named SQL argument and an already selected session role have different lookup semantics. An absent bound role contributes no inherited privileges; PUBLIC ACLs remain applicable.

Required Methods§

Source

fn role_name<'a>( &'a self, roles: &'a BTreeMap<String, RoleDefinition>, ) -> Option<&'a str>

Source

fn role_definition<'a>( &self, roles: &'a BTreeMap<String, RoleDefinition>, ) -> Option<&'a RoleDefinition>

Dyn Compatibility§

This trait is dyn compatible.

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

Implementations on Foreign Types§

Source§

impl RoleSubject for String

Source§

fn role_name<'a>( &'a self, roles: &'a BTreeMap<String, RoleDefinition>, ) -> Option<&'a str>

Source§

fn role_definition<'a>( &self, roles: &'a BTreeMap<String, RoleDefinition>, ) -> Option<&'a RoleDefinition>

Source§

impl RoleSubject for str

Source§

fn role_name<'a>( &'a self, _roles: &'a BTreeMap<String, RoleDefinition>, ) -> Option<&'a str>

Source§

fn role_definition<'a>( &self, roles: &'a BTreeMap<String, RoleDefinition>, ) -> Option<&'a RoleDefinition>

Source§

impl<T: RoleSubject + ?Sized> RoleSubject for &T

Source§

fn role_name<'a>( &'a self, roles: &'a BTreeMap<String, RoleDefinition>, ) -> Option<&'a str>

Source§

fn role_definition<'a>( &self, roles: &'a BTreeMap<String, RoleDefinition>, ) -> Option<&'a RoleDefinition>

Source§

impl<T: RoleSubject + ?Sized> RoleSubject for Arc<T>

Source§

fn role_name<'a>( &'a self, roles: &'a BTreeMap<String, RoleDefinition>, ) -> Option<&'a str>

Source§

fn role_definition<'a>( &self, roles: &'a BTreeMap<String, RoleDefinition>, ) -> Option<&'a RoleDefinition>

Implementors§