pub struct ExprProperties {
pub sort_properties: SortProperties,
pub range: Interval,
pub preserves_lex_ordering: bool,
}
Expand description
Represents the properties of a PhysicalExpr
, including its sorting,
range, and whether it preserves lexicographical ordering.
Fields§
§sort_properties: SortProperties
Properties that describe the sorting behavior of the expression, such as whether it is ordered, unordered, or a singleton value.
range: Interval
A closed interval representing the range of possible values for the expression. Used to compute reliable bounds.
preserves_lex_ordering: bool
Indicates whether the expression preserves lexicographical ordering of its inputs. For example, string concatenation preserves ordering, while addition does not.
Implementations§
Source§impl ExprProperties
impl ExprProperties
Sourcepub fn new_unknown() -> Self
pub fn new_unknown() -> Self
Creates a new ExprProperties
instance with unknown sort properties,
unknown range, and unknown lexicographical ordering preservation.
Sourcepub fn with_order(self, order: SortProperties) -> Self
pub fn with_order(self, order: SortProperties) -> Self
Sets the sorting properties of the expression and returns the modified instance.
Sourcepub fn with_range(self, range: Interval) -> Self
pub fn with_range(self, range: Interval) -> Self
Sets the range of the expression and returns the modified instance.
Sourcepub fn with_preserves_lex_ordering(self, preserves_lex_ordering: bool) -> Self
pub fn with_preserves_lex_ordering(self, preserves_lex_ordering: bool) -> Self
Sets whether the expression maintains lexicographical ordering and returns the modified instance.
Trait Implementations§
Source§impl Clone for ExprProperties
impl Clone for ExprProperties
Source§fn clone(&self) -> ExprProperties
fn clone(&self) -> ExprProperties
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreAuto Trait Implementations§
impl Freeze for ExprProperties
impl !RefUnwindSafe for ExprProperties
impl Send for ExprProperties
impl Sync for ExprProperties
impl Unpin for ExprProperties
impl !UnwindSafe for ExprProperties
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
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>
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