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() -> ExprProperties
pub fn new_unknown() -> ExprProperties
Creates a new ExprProperties
instance with unknown sort properties,
unknown range, and unknown lexicographical ordering preservation.
Sourcepub fn with_order(self, order: SortProperties) -> ExprProperties
pub fn with_order(self, order: SortProperties) -> ExprProperties
Sets the sorting properties of the expression and returns the modified instance.
Sourcepub fn with_range(self, range: Interval) -> ExprProperties
pub fn with_range(self, range: Interval) -> ExprProperties
Sets the range of the expression and returns the modified instance.
Sourcepub fn with_preserves_lex_ordering(
self,
preserves_lex_ordering: bool,
) -> ExprProperties
pub fn with_preserves_lex_ordering( self, preserves_lex_ordering: bool, ) -> ExprProperties
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