pub struct Features(/* private fields */);Expand description
Metadata about what features are supported by the Server to which this
Client connects.
Implementations§
Source§impl Features
impl Features
pub fn get_group_rollup_modes(&self) -> Vec<GroupRollupMode>
Sourcepub fn get_split_rollup_modes(&self) -> Vec<SplitRollupMode>
pub fn get_split_rollup_modes(&self) -> Vec<SplitRollupMode>
Unlike Features::get_group_rollup_modes, an empty feature list
resolves to [Flat] rather than “no constraint” - servers predating
(or not implementing) split rollup can only produce leaf columns, so
absence must not offer the Rollup option.
Methods from Deref<Target = GetFeaturesResp>§
pub fn default_op(&self, col_type: ColumnType) -> Option<&str>
Sourcepub fn get_window_aggregates(
&self,
col_type: ColumnType,
) -> Vec<WindowAggregateArgs>
pub fn get_window_aggregates( &self, col_type: ColumnType, ) -> Vec<WindowAggregateArgs>
The window aggregates this server supports for a col_type SOURCE
column, in the server’s declared (menu) order.
Sourcepub fn has_window_aggregates(&self) -> bool
pub fn has_window_aggregates(&self) -> bool
Whether this server supports window columns at all - the
window_aggregates declaration is the single source of truth.
Trait Implementations§
impl StructuralPartialEq for Features
Auto Trait Implementations§
impl Freeze for Features
impl RefUnwindSafe for Features
impl Send for Features
impl Sync for Features
impl Unpin for Features
impl UnsafeUnpin for Features
impl UnwindSafe for Features
Blanket Implementations§
impl<T> Allocation for T
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> 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