pub struct TableGrantApplication<'a> {
pub statement: &'a GrantTableStmt,
pub grantees: &'a [AclGrantee],
pub requested: &'a RequestedTablePrivileges,
pub current_user: &'a dyn RoleSubject,
pub roles: &'a BTreeMap<String, RoleDefinition>,
pub memberships: &'a BTreeMap<RoleMembershipKey, RoleMembership>,
}Fields§
§statement: &'a GrantTableStmt§grantees: &'a [AclGrantee]§requested: &'a RequestedTablePrivileges§current_user: &'a dyn RoleSubject§roles: &'a BTreeMap<String, RoleDefinition>§memberships: &'a BTreeMap<RoleMembershipKey, RoleMembership>Implementations§
Source§impl TableGrantApplication<'_>
impl TableGrantApplication<'_>
Sourcepub fn replaced_tuples(
&self,
before: &TableSecurity,
after: &TableSecurity,
) -> Vec<Option<String>>
pub fn replaced_tuples( &self, before: &TableSecurity, after: &TableSecurity, ) -> Vec<Option<String>>
PostgreSQL replaces relation ACL tuples for table-level commands, and nonempty requested attribute ACLs even when their bits are unchanged.
pub fn apply( &self, current: &TableSecurity, ) -> Result<(TableSecurity, usize), SQLError>
pub fn apply_to( &self, target: &ResolvedTableGrantTarget, current: &TableSecurity, ) -> Result<(TableSecurity, usize), SQLError>
Sourcepub fn replaces_attribute(
&self,
current: &TableSecurity,
column: &str,
) -> Result<bool, SQLError>
pub fn replaces_attribute( &self, current: &TableSecurity, column: &str, ) -> Result<bool, SQLError>
Inspect one attribute in catalog order without revisiting earlier attribute ACLs.
pub fn record_warning( &self, grantable: usize, relation: &RelationIdentity, notices: &mut Vec<(&'static str, String)>, )
Auto Trait Implementations§
impl<'a> !RefUnwindSafe for TableGrantApplication<'a>
impl<'a> !Send for TableGrantApplication<'a>
impl<'a> !Sync for TableGrantApplication<'a>
impl<'a> !UnwindSafe for TableGrantApplication<'a>
impl<'a> Freeze for TableGrantApplication<'a>
impl<'a> Unpin for TableGrantApplication<'a>
impl<'a> UnsafeUnpin for TableGrantApplication<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more