pub struct NotExpr { /* private fields */ }Expand description
NOT expression - negates the result of the inner expression
Implementations§
Source§impl NotExpr
impl NotExpr
Sourcepub fn new(inner: Box<dyn Expression>) -> Self
pub fn new(inner: Box<dyn Expression>) -> Self
Create a new NOT expression
Sourcepub fn not(expr: Box<dyn Expression>) -> Self
pub fn not(expr: Box<dyn Expression>) -> Self
Create a NOT expression (convenience)
Sourcepub fn get_inner(&self) -> Option<&dyn Expression>
pub fn get_inner(&self) -> Option<&dyn Expression>
Get the inner expression (for expression compilation)
Trait Implementations§
Source§impl Expression for NotExpr
impl Expression for NotExpr
Source§fn evaluate_fast(&self, row: &Row) -> bool
fn evaluate_fast(&self, row: &Row) -> bool
Fast evaluation without detailed error handling Read more
Source§fn with_aliases(
&self,
aliases: &FxHashMap<String, String>,
) -> Box<dyn Expression>
fn with_aliases( &self, aliases: &FxHashMap<String, String>, ) -> Box<dyn Expression>
Create a copy of this expression with column aliases resolved Read more
Source§fn prepare_for_schema(&mut self, schema: &Schema)
fn prepare_for_schema(&mut self, schema: &Schema)
Prepare the expression for a specific schema Read more
Source§fn is_prepared(&self) -> bool
fn is_prepared(&self) -> bool
Check if this expression has been prepared for a schema
Source§fn clone_box(&self) -> Box<dyn Expression>
fn clone_box(&self) -> Box<dyn Expression>
Clone the expression into a boxed trait object
Source§fn is_unknown_due_to_null(&self, row: &Row) -> bool
fn is_unknown_due_to_null(&self, row: &Row) -> bool
Check if the expression result would be UNKNOWN (NULL) for this row Read more
Source§fn get_column_name(&self) -> Option<&str>
fn get_column_name(&self) -> Option<&str>
Get the column name this expression operates on (if single column)
Source§fn can_use_index(&self) -> bool
fn can_use_index(&self) -> bool
Check if this expression can potentially use an index
Source§fn get_comparison_info(&self) -> Option<(&str, Operator, &Value)>
fn get_comparison_info(&self) -> Option<(&str, Operator, &Value)>
Extract equality comparison info for index lookups Read more
Source§fn get_and_operands(&self) -> Option<&[Box<dyn Expression>]>
fn get_and_operands(&self) -> Option<&[Box<dyn Expression>]>
Get child expressions if this is an AND expression Read more
Source§fn get_or_operands(&self) -> Option<&[Box<dyn Expression>]>
fn get_or_operands(&self) -> Option<&[Box<dyn Expression>]>
Get child expressions if this is an OR expression Read more
Auto Trait Implementations§
impl Freeze for NotExpr
impl !RefUnwindSafe for NotExpr
impl Send for NotExpr
impl Sync for NotExpr
impl Unpin for NotExpr
impl UnsafeUnpin for NotExpr
impl !UnwindSafe for NotExpr
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> CompactArcDrop for T
impl<T> CompactArcDrop for T
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