pub struct WithQuery<Q, Bindings> { /* private fields */ }Expand description
Query wrapper that prepends ClickHouse scalar WITH aliases.
Implementations§
Source§impl<Q, Bindings> WithQuery<Q, Bindings>
impl<Q, Bindings> WithQuery<Q, Bindings>
Sourcepub fn and_with_alias<Expr>(
self,
expr: Expr,
alias: impl Into<String>,
) -> WithQuery<Q, WithBinding<Bindings, Expr>>where
Expr: Expression,
pub fn and_with_alias<Expr>(
self,
expr: Expr,
alias: impl Into<String>,
) -> WithQuery<Q, WithBinding<Bindings, Expr>>where
Expr: Expression,
Add another scalar WITH expr AS alias binding.
Sourcepub fn and_with_cte<Cte>(
self,
alias: impl Into<String>,
cte: Cte,
) -> WithQuery<Q, WithCteBinding<Bindings, Cte>>
pub fn and_with_cte<Cte>( self, alias: impl Into<String>, cte: Cte, ) -> WithQuery<Q, WithCteBinding<Bindings, Cte>>
Add another common table expression binding.
Sourcepub fn and_with_materialized_cte<Cte>(
self,
alias: impl Into<String>,
cte: Cte,
) -> WithQuery<Q, WithCteBinding<Bindings, Cte>>
pub fn and_with_materialized_cte<Cte>( self, alias: impl Into<String>, cte: Cte, ) -> WithQuery<Q, WithCteBinding<Bindings, Cte>>
Add another materialized common table expression binding.
Trait Implementations§
Source§impl<Q, Bindings> QueryFragment<ClickHouse> for WithQuery<Q, Bindings>where
Q: QueryFragment<ClickHouse>,
Bindings: WithBindings,
impl<Q, Bindings> QueryFragment<ClickHouse> for WithQuery<Q, Bindings>where
Q: QueryFragment<ClickHouse>,
Bindings: WithBindings,
Source§fn walk_ast<'b>(&'b self, out: AstPass<'_, 'b, ClickHouse>) -> QueryResult<()>
fn walk_ast<'b>(&'b self, out: AstPass<'_, 'b, ClickHouse>) -> QueryResult<()>
Walk over this
QueryFragment for all passes. Read moreSource§fn to_sql(
&self,
out: &mut <DB as Backend>::QueryBuilder,
backend: &DB,
) -> Result<(), Error>
fn to_sql( &self, out: &mut <DB as Backend>::QueryBuilder, backend: &DB, ) -> Result<(), Error>
Converts this
QueryFragment to its SQL representation. Read moreSource§fn collect_binds<'b>(
&'b self,
out: &mut <DB as Backend>::BindCollector<'b>,
metadata_lookup: &mut <DB as TypeMetadata>::MetadataLookup,
backend: &'b DB,
) -> Result<(), Error>
fn collect_binds<'b>( &'b self, out: &mut <DB as Backend>::BindCollector<'b>, metadata_lookup: &mut <DB as TypeMetadata>::MetadataLookup, backend: &'b DB, ) -> Result<(), Error>
Serializes all bind parameters in this query. Read more
Source§impl<Q, Bindings> QueryId for WithQuery<Q, Bindings>where
Q: QueryId,
impl<Q, Bindings> QueryId for WithQuery<Q, Bindings>where
Q: QueryId,
Source§impl<Q, Bindings, Conn> RunQueryDsl<Conn> for WithQuery<Q, Bindings>
impl<Q, Bindings, Conn> RunQueryDsl<Conn> for WithQuery<Q, Bindings>
Source§fn execute(self, conn: &mut Conn) -> Result<usize, Error>where
Conn: Connection,
Self: ExecuteDsl<Conn>,
fn execute(self, conn: &mut Conn) -> Result<usize, Error>where
Conn: Connection,
Self: ExecuteDsl<Conn>,
Executes the given command, returning the number of rows affected. Read more
Source§fn load<'query, U>(self, conn: &mut Conn) -> Result<Vec<U>, Error>where
Self: LoadQuery<'query, Conn, U>,
fn load<'query, U>(self, conn: &mut Conn) -> Result<Vec<U>, Error>where
Self: LoadQuery<'query, Conn, U>,
Source§fn load_iter<'conn, 'query, U, B>(
self,
conn: &'conn mut Conn,
) -> Result<Self::RowIter<'conn>, Error>where
'query: 'conn,
U: 'conn,
Self: LoadQuery<'query, Conn, U, B> + 'conn,
fn load_iter<'conn, 'query, U, B>(
self,
conn: &'conn mut Conn,
) -> Result<Self::RowIter<'conn>, Error>where
'query: 'conn,
U: 'conn,
Self: LoadQuery<'query, Conn, U, B> + 'conn,
impl<Q: Copy, Bindings: Copy> Copy for WithQuery<Q, Bindings>
Auto Trait Implementations§
impl<Q, Bindings> Freeze for WithQuery<Q, Bindings>
impl<Q, Bindings> RefUnwindSafe for WithQuery<Q, Bindings>where
Q: RefUnwindSafe,
Bindings: RefUnwindSafe,
impl<Q, Bindings> Send for WithQuery<Q, Bindings>
impl<Q, Bindings> Sync for WithQuery<Q, Bindings>
impl<Q, Bindings> Unpin for WithQuery<Q, Bindings>
impl<Q, Bindings> UnsafeUnpin for WithQuery<Q, Bindings>where
Q: UnsafeUnpin,
Bindings: UnsafeUnpin,
impl<Q, Bindings> UnwindSafe for WithQuery<Q, Bindings>where
Q: UnwindSafe,
Bindings: UnwindSafe,
Blanket Implementations§
Source§impl<T> AggregateExpressionMethods for T
impl<T> AggregateExpressionMethods for T
Source§fn aggregate_distinct(self) -> Self::Outputwhere
Self: DistinctDsl,
fn aggregate_distinct(self) -> Self::Outputwhere
Self: DistinctDsl,
DISTINCT modifier for aggregate functions Read moreSource§fn aggregate_all(self) -> Self::Outputwhere
Self: AllDsl,
fn aggregate_all(self) -> Self::Outputwhere
Self: AllDsl,
ALL modifier for aggregate functions Read moreSource§fn aggregate_filter<P>(self, f: P) -> Self::Output
fn aggregate_filter<P>(self, f: P) -> Self::Output
Add an aggregate function filter Read more
Source§fn aggregate_order<O>(self, o: O) -> Self::Outputwhere
Self: OrderAggregateDsl<O>,
fn aggregate_order<O>(self, o: O) -> Self::Outputwhere
Self: OrderAggregateDsl<O>,
Add an aggregate function order Read more
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> ClickHouseJoinDsl for T
impl<T> ClickHouseJoinDsl for T
Source§fn clickhouse_join<Right>(
self,
right: Right,
) -> ClickHouseJoinBuilder<Self, Right>where
Self: QuerySource,
Right: QuerySource,
fn clickhouse_join<Right>(
self,
right: Right,
) -> ClickHouseJoinBuilder<Self, Right>where
Self: QuerySource,
Right: QuerySource,
Start building a ClickHouse-specific join between
self and right.Source§impl<T> ClickHouseQueryDsl for T
impl<T> ClickHouseQueryDsl for T
Source§fn format(self, format: Format) -> FormattedQuery<Self>
fn format(self, format: Format) -> FormattedQuery<Self>
Append
FORMAT <format>.Source§fn into_outfile(self, file_name: impl Into<String>) -> IntoOutfileQuery<Self>
fn into_outfile(self, file_name: impl Into<String>) -> IntoOutfileQuery<Self>
Append
INTO OUTFILE file_name.Source§fn settings<I>(self, settings: I) -> SettingsQuery<Self>where
I: IntoIterator<Item = Setting>,
fn settings<I>(self, settings: I) -> SettingsQuery<Self>where
I: IntoIterator<Item = Setting>,
Append
SETTINGS ....Source§fn limit_by_col(self, limit: i64, column: impl Into<String>) -> LimitBy<Self>
fn limit_by_col(self, limit: i64, column: impl Into<String>) -> LimitBy<Self>
Append
LIMIT n BY column.Source§fn limit_by_col_offset(
self,
offset: i64,
limit: i64,
column: impl Into<String>,
) -> LimitBy<Self>
fn limit_by_col_offset( self, offset: i64, limit: i64, column: impl Into<String>, ) -> LimitBy<Self>
Append
LIMIT offset, n BY column.Source§fn limit_by_cols<I, S>(self, limit: i64, columns: I) -> LimitBy<Self>
fn limit_by_cols<I, S>(self, limit: i64, columns: I) -> LimitBy<Self>
Append
LIMIT n BY col1, col2, ....Source§fn with_ties(self) -> LimitWithTies<Self>
fn with_ties(self) -> LimitWithTies<Self>
Append
WITH TIES after a ClickHouse LIMIT clause.Source§fn with_alias<Expr>(
self,
expr: Expr,
alias: impl Into<String>,
) -> WithQuery<Self, WithBinding<NoWithBindings, Expr>>where
Expr: Expression,
fn with_alias<Expr>(
self,
expr: Expr,
alias: impl Into<String>,
) -> WithQuery<Self, WithBinding<NoWithBindings, Expr>>where
Expr: Expression,
Prepend a scalar
WITH expr AS alias binding to this query.Source§fn with_cte<Cte>(
self,
alias: impl Into<String>,
cte: Cte,
) -> WithQuery<Self, WithCteBinding<NoWithBindings, Cte>>
fn with_cte<Cte>( self, alias: impl Into<String>, cte: Cte, ) -> WithQuery<Self, WithCteBinding<NoWithBindings, Cte>>
Prepend a common table expression binding to this query.
Source§fn with_materialized_cte<Cte>(
self,
alias: impl Into<String>,
cte: Cte,
) -> WithQuery<Self, WithCteBinding<NoWithBindings, Cte>>
fn with_materialized_cte<Cte>( self, alias: impl Into<String>, cte: Cte, ) -> WithQuery<Self, WithCteBinding<NoWithBindings, Cte>>
Prepend a materialized common table expression binding to this query.
Source§fn window<Spec>(
self,
name: impl Into<String>,
spec: Spec,
) -> WindowQuery<Self, WindowBinding<NoWindowBindings, Spec>>
fn window<Spec>( self, name: impl Into<String>, spec: Spec, ) -> WindowQuery<Self, WindowBinding<NoWindowBindings, Spec>>
Append
WINDOW name AS (spec).Source§fn qualify<Predicate>(
self,
predicate: Predicate,
) -> QualifyQuery<Self, Predicate>where
Predicate: Expression,
fn qualify<Predicate>(
self,
predicate: Predicate,
) -> QualifyQuery<Self, Predicate>where
Predicate: Expression,
Append
QUALIFY predicate.Source§fn array_join<Expr>(self, expr: Expr) -> ArrayJoin<Self, Expr>where
Self: QuerySource,
Expr: Expression,
fn array_join<Expr>(self, expr: Expr) -> ArrayJoin<Self, Expr>where
Self: QuerySource,
Expr: Expression,
Treat this query source as
source ARRAY JOIN expr.Source§fn array_join_as<Expr>(
self,
expr: Expr,
alias: impl Into<String>,
) -> ArrayJoin<Self, Expr>where
Self: QuerySource,
Expr: Expression,
fn array_join_as<Expr>(
self,
expr: Expr,
alias: impl Into<String>,
) -> ArrayJoin<Self, Expr>where
Self: QuerySource,
Expr: Expression,
Treat this query source as
source ARRAY JOIN expr AS alias.Source§fn left_array_join<Expr>(self, expr: Expr) -> ArrayJoin<Self, Expr>where
Self: QuerySource,
Expr: Expression,
fn left_array_join<Expr>(self, expr: Expr) -> ArrayJoin<Self, Expr>where
Self: QuerySource,
Expr: Expression,
Treat this query source as
source LEFT ARRAY JOIN expr.Source§fn left_array_join_as<Expr>(
self,
expr: Expr,
alias: impl Into<String>,
) -> ArrayJoin<Self, Expr>where
Self: QuerySource,
Expr: Expression,
fn left_array_join_as<Expr>(
self,
expr: Expr,
alias: impl Into<String>,
) -> ArrayJoin<Self, Expr>where
Self: QuerySource,
Expr: Expression,
Treat this query source as
source LEFT ARRAY JOIN expr AS alias.Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<Conn, DB, T> ExecuteDsl<Conn, DB> for T
impl<Conn, DB, T> ExecuteDsl<Conn, DB> for T
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> IntoSql for T
impl<T> IntoSql for T
Source§fn into_sql<T>(self) -> Self::Expression
fn into_sql<T>(self) -> Self::Expression
Convert
self to an expression for Diesel’s query builder. Read moreSource§fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expression
fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expression
Convert
&self to an expression for Diesel’s query builder. Read moreSource§impl<T, DB> QueryFragmentForCachedStatement<DB> for T
impl<T, DB> QueryFragmentForCachedStatement<DB> for T
Source§impl<T> WindowExpressionMethods for T
impl<T> WindowExpressionMethods for T
Source§fn over(self) -> Self::Outputwhere
Self: OverDsl,
fn over(self) -> Self::Outputwhere
Self: OverDsl,
Turn a function call into a window function call Read more
Source§fn window_filter<P>(self, f: P) -> Self::Output
fn window_filter<P>(self, f: P) -> Self::Output
Add a filter to the current window function Read more
Source§fn partition_by<E>(self, expr: E) -> Self::Outputwhere
Self: PartitionByDsl<E>,
fn partition_by<E>(self, expr: E) -> Self::Outputwhere
Self: PartitionByDsl<E>,
Add a partition clause to the current window function Read more
Source§fn window_order<E>(self, expr: E) -> Self::Outputwhere
Self: OrderWindowDsl<E>,
fn window_order<E>(self, expr: E) -> Self::Outputwhere
Self: OrderWindowDsl<E>,
Add a order clause to the current window function Read more