pub struct SqlValidator { /* private fields */ }Expand description
SQL validator that parses and analyzes SQL statements.
Implementations§
Source§impl SqlValidator
impl SqlValidator
Sourcepub fn validate(&self, sql: &str) -> Result<SqlStatementInfo, ValidationError>
pub fn validate(&self, sql: &str) -> Result<SqlStatementInfo, ValidationError>
Parse SQL and extract statement info.
Returns an error if the SQL fails to parse, is empty, or contains multiple statements (SQL Code Mode validates one statement at a time).
Sourcepub fn analyze_security(&self, info: &SqlStatementInfo) -> SecurityAnalysis
pub fn analyze_security(&self, info: &SqlStatementInfo) -> SecurityAnalysis
Produce a security analysis for the given statement info.
The issues produced here are warnings only — config-level and
policy-level authorization are enforced separately in
ValidationPipeline::validate_sql_query.
Sourcepub fn to_code_type(&self, info: &SqlStatementInfo) -> CodeType
pub fn to_code_type(&self, info: &SqlStatementInfo) -> CodeType
Map parsed statement info to CodeType.
Trait Implementations§
Source§impl Clone for SqlValidator
impl Clone for SqlValidator
Source§fn clone(&self) -> SqlValidator
fn clone(&self) -> SqlValidator
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 SqlValidator
impl Debug for SqlValidator
Auto Trait Implementations§
impl Freeze for SqlValidator
impl RefUnwindSafe for SqlValidator
impl Send for SqlValidator
impl Sync for SqlValidator
impl Unpin for SqlValidator
impl UnsafeUnpin for SqlValidator
impl UnwindSafe for SqlValidator
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<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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 moreCreates a shared type from an unshared type.