#[non_exhaustive]pub enum Feature {
JsonbPathOps,
Subscriptions,
Mutations,
WindowFunctions,
CommonTableExpressions,
FullTextSearch,
AdvisoryLocks,
StddevVariance,
Upsert,
ArrayTypes,
BackwardPagination,
}Expand description
A database feature that may not be supported on all dialects.
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.
JsonbPathOps
JSONB path expressions (metadata->>'key', @>, ?, etc.)
Subscriptions
GraphQL subscriptions (real-time push over WebSocket/SSE)
Mutations
Mutations (INSERT/UPDATE/DELETE via mutation_response)
WindowFunctions
Window functions (RANK(), ROW_NUMBER(), LAG(), etc.)
CommonTableExpressions
Common Table Expressions (WITH clause)
FullTextSearch
Full-text search (MATCH, @@, CONTAINS)
AdvisoryLocks
Advisory locks (pg_advisory_lock, GET_LOCK)
StddevVariance
Standard deviation / variance aggregates (STDDEV, VARIANCE)
Upsert
Upsert (ON CONFLICT DO UPDATE, INSERT ... ON DUPLICATE KEY UPDATE, MERGE)
ArrayTypes
Array column types (text[], integer[])
BackwardPagination
Backward keyset pagination (requires stable sort with reversed direction)
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,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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 more