pub enum StatementKind {
Read,
Write,
Admin,
Transaction,
}Expand description
Classification of a parsed statement for permission checking.
Determined after parsing but before execution. The session checks the
caller’s Identity against the statement kind and rejects operations
that exceed the caller’s role.
Variants§
Read
Read-only: MATCH, RETURN, WITH, UNWIND, CALL (read-only procedures).
Write
Data mutation: CREATE, SET, DELETE, REMOVE, MERGE.
Admin
Schema/admin: CREATE TYPE, DROP TYPE, CREATE INDEX, DROP INDEX, CREATE CONSTRAINT, DROP CONSTRAINT.
Transaction
Transaction control: START TRANSACTION, COMMIT, ROLLBACK, SAVEPOINT. Always allowed regardless of role.
Implementations§
Source§impl StatementKind
impl StatementKind
Sourcepub fn required_role(self) -> Option<Role>
pub fn required_role(self) -> Option<Role>
Returns the minimum Role required for this statement kind.
Returns None for StatementKind::Transaction (always allowed).
Trait Implementations§
Source§impl Clone for StatementKind
impl Clone for StatementKind
Source§fn clone(&self) -> StatementKind
fn clone(&self) -> StatementKind
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for StatementKind
impl Debug for StatementKind
Source§impl Display for StatementKind
impl Display for StatementKind
Source§impl PartialEq for StatementKind
impl PartialEq for StatementKind
impl Copy for StatementKind
impl Eq for StatementKind
impl StructuralPartialEq for StatementKind
Auto Trait Implementations§
impl Freeze for StatementKind
impl RefUnwindSafe for StatementKind
impl Send for StatementKind
impl Sync for StatementKind
impl Unpin for StatementKind
impl UnsafeUnpin for StatementKind
impl UnwindSafe for StatementKind
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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