pub struct RewriteOutput {
pub statement: Statement,
pub column_aliases: Vec<(String, String)>,
}Expand description
Output of RbacFilter::rewrite_statement.
Carries the rewritten statement alongside the alias mapping derived
from the original projection. Downstream code (e.g. the masking pass
in kimberlite) uses the mapping to resolve output column names
back to their source columns so masks are applied to the underlying
sensitive attribute, not the user-visible alias.
Fields§
§statement: StatementThe rewritten SQL statement.
column_aliases: Vec<(String, String)>Pairs of (output_column_name, source_column_name) for each
projection item that survived RBAC filtering.
Bare identifiers produce pairs where both entries are equal.
Aliased identifiers (SELECT ssn AS id) produce distinct
output/source entries — the masking pass must key its lookup
on the source entry (AUDIT-2026-04 M-7).
Trait Implementations§
Auto Trait Implementations§
impl Freeze for RewriteOutput
impl RefUnwindSafe for RewriteOutput
impl Send for RewriteOutput
impl Sync for RewriteOutput
impl Unpin for RewriteOutput
impl UnsafeUnpin for RewriteOutput
impl UnwindSafe for RewriteOutput
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