#[non_exhaustive]pub enum Feature {
Show 17 variants
Joins,
Returning,
RowLocking,
LockModifiers,
WindowFunctions,
Regex,
Arrays,
DistinctOn,
CaseInsensitiveLike,
StatisticalAggregates,
Savepoints,
Isolation(IsolationLevel),
Subqueries,
SetOperations,
RawSql,
KeysetPagination,
NullableKeyset,
}Expand description
A single optional query feature that a plan may require.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Joins
JOINs between sources.
Returning
RETURNING clauses on writes.
RowLocking
Row locking.
LockModifiers
NOWAIT / SKIP LOCKED lock modifiers.
WindowFunctions
Window functions.
Regex
Regular expression matching.
Arrays
Native array columns.
DistinctOn
DISTINCT ON (...).
CaseInsensitiveLike
ILIKE style case-insensitive matching natively.
StatisticalAggregates
STDDEV / VARIANCE aggregates.
Savepoints
Nested transactions via savepoints.
Isolation(IsolationLevel)
A specific transaction isolation level.
Subqueries
Subqueries: EXISTS (..), scalar subqueries and IN (subquery).
SetOperations
Set operations (UNION, INTERSECT, EXCEPT).
RawSql
Raw SQL text (fetch_raw, execute_raw, execute_script).
KeysetPagination
Cursor (keyset) pagination: QuerySet::cursor_page.
NullableKeyset
Cursor pagination over nullable ordering columns, which needs a null-position sort key the backend can express.
Trait Implementations§
impl Copy for Feature
impl Eq for Feature
impl StructuralPartialEq for Feature
Auto Trait Implementations§
impl Freeze for Feature
impl RefUnwindSafe for Feature
impl Send for Feature
impl Sync for Feature
impl Unpin for Feature
impl UnsafeUnpin for Feature
impl UnwindSafe for Feature
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,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.