pub struct ArrayJoin<T: QuerySource, Expr> { /* private fields */ }Expand description
FROM table ARRAY JOIN expr query source wrapper.
Trait Implementations§
Source§impl<T, Expr, QS> AppearsInFromClause<QS> for ArrayJoin<T, Expr>
impl<T, Expr, QS> AppearsInFromClause<QS> for ArrayJoin<T, Expr>
Source§type Count = <T as AppearsInFromClause<QS>>::Count
type Count = <T as AppearsInFromClause<QS>>::Count
How many times does
Self appear in QS?Source§impl<T, Expr> AsQuery for ArrayJoin<T, Expr>where
T: QuerySource + Clone,
T::FromClause: Clone,
Expr: Expression + Clone,
Self: QuerySource,
SelectStatement<FromClause<Self>>: Query,
impl<T, Expr> AsQuery for ArrayJoin<T, Expr>where
T: QuerySource + Clone,
T::FromClause: Clone,
Expr: Expression + Clone,
Self: QuerySource,
SelectStatement<FromClause<Self>>: Query,
Source§impl<T: Clone + QuerySource, Expr: Clone> Clone for ArrayJoin<T, Expr>where
T::FromClause: Clone,
impl<T: Clone + QuerySource, Expr: Clone> Clone for ArrayJoin<T, Expr>where
T::FromClause: Clone,
Source§impl<T: Debug + QuerySource, Expr: Debug> Debug for ArrayJoin<T, Expr>where
T::FromClause: Debug,
impl<T: Debug + QuerySource, Expr: Debug> Debug for ArrayJoin<T, Expr>where
T::FromClause: Debug,
Source§impl<T, Expr> QueryDsl for ArrayJoin<T, Expr>
impl<T, Expr> QueryDsl for ArrayJoin<T, Expr>
Source§fn select<Selection>(self, selection: Selection) -> Self::Outputwhere
Selection: Expression,
Self: SelectDsl<Selection>,
fn select<Selection>(self, selection: Selection) -> Self::Outputwhere
Selection: Expression,
Self: SelectDsl<Selection>,
Adds a
SELECT clause to the query. Read moreSource§fn count(self) -> Self::Outputwhere
Self: SelectDsl<CountStar>,
fn count(self) -> Self::Outputwhere
Self: SelectDsl<CountStar>,
Get the count of a query. This is equivalent to
.select(count_star()) Read moreSource§fn inner_join<Rhs>(self, rhs: Rhs) -> Self::Outputwhere
Self: JoinWithImplicitOnClause<Rhs, Inner>,
fn inner_join<Rhs>(self, rhs: Rhs) -> Self::Outputwhere
Self: JoinWithImplicitOnClause<Rhs, Inner>,
Join two tables using a SQL
INNER JOIN. Read moreSource§fn left_outer_join<Rhs>(self, rhs: Rhs) -> Self::Outputwhere
Self: JoinWithImplicitOnClause<Rhs, LeftOuter>,
fn left_outer_join<Rhs>(self, rhs: Rhs) -> Self::Outputwhere
Self: JoinWithImplicitOnClause<Rhs, LeftOuter>,
Join two tables using a SQL
LEFT OUTER JOIN. Read moreSource§fn left_join<Rhs>(self, rhs: Rhs) -> Self::Outputwhere
Self: JoinWithImplicitOnClause<Rhs, LeftOuter>,
fn left_join<Rhs>(self, rhs: Rhs) -> Self::Outputwhere
Self: JoinWithImplicitOnClause<Rhs, LeftOuter>,
Alias for
left_outer_join.Source§fn filter<Predicate>(self, predicate: Predicate) -> Self::Outputwhere
Self: FilterDsl<Predicate>,
fn filter<Predicate>(self, predicate: Predicate) -> Self::Outputwhere
Self: FilterDsl<Predicate>,
Adds to the
WHERE clause of a query. Read moreSource§fn or_filter<Predicate>(self, predicate: Predicate) -> Self::Outputwhere
Self: OrFilterDsl<Predicate>,
fn or_filter<Predicate>(self, predicate: Predicate) -> Self::Outputwhere
Self: OrFilterDsl<Predicate>,
Source§fn find<PK>(self, id: PK) -> Self::Outputwhere
Self: FindDsl<PK>,
fn find<PK>(self, id: PK) -> Self::Outputwhere
Self: FindDsl<PK>,
Attempts to find a single record from the given table by primary key. Read more
Source§fn order<Expr>(self, expr: Expr) -> Self::Outputwhere
Expr: Expression,
Self: OrderDsl<Expr>,
fn order<Expr>(self, expr: Expr) -> Self::Outputwhere
Expr: Expression,
Self: OrderDsl<Expr>,
Sets the order clause of a query. Read more
Source§fn order_by<Expr>(self, expr: Expr) -> Self::Outputwhere
Expr: Expression,
Self: OrderDsl<Expr>,
fn order_by<Expr>(self, expr: Expr) -> Self::Outputwhere
Expr: Expression,
Self: OrderDsl<Expr>,
Alias for
orderSource§fn then_order_by<Order>(self, order: Order) -> Self::Outputwhere
Self: ThenOrderDsl<Order>,
fn then_order_by<Order>(self, order: Order) -> Self::Outputwhere
Self: ThenOrderDsl<Order>,
Appends to the
ORDER BY clause of this SQL query. Read moreSource§fn group_by<GB>(self, group_by: GB) -> Self::Outputwhere
GB: Expression,
Self: GroupByDsl<GB>,
fn group_by<GB>(self, group_by: GB) -> Self::Outputwhere
GB: Expression,
Self: GroupByDsl<GB>,
Sets the
group by clause of a query. Read moreSource§impl<T, Expr> QueryFragment<ClickHouse> for ArrayJoin<T, Expr>
impl<T, Expr> QueryFragment<ClickHouse> for ArrayJoin<T, Expr>
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<T, Expr> QueryId for ArrayJoin<T, Expr>where
T: QuerySource,
impl<T, Expr> QueryId for ArrayJoin<T, Expr>where
T: QuerySource,
Source§const HAS_STATIC_QUERY_ID: bool = false
const HAS_STATIC_QUERY_ID: bool = false
Can the SQL generated by
Self be uniquely identified by its type? Read moreSource§impl<T, Expr> QuerySource for ArrayJoin<T, Expr>
impl<T, Expr> QuerySource for ArrayJoin<T, Expr>
Source§type FromClause = ArrayJoin<T, Expr>
type FromClause = ArrayJoin<T, Expr>
The type returned by
from_clauseSource§type DefaultSelection = SqlLiteral<Untyped>
type DefaultSelection = SqlLiteral<Untyped>
The type returned by
default_selectionSource§fn from_clause(&self) -> Self::FromClause
fn from_clause(&self) -> Self::FromClause
The actual
FROM clause of this type. This is typically only called in
QueryFragment implementations.Source§fn default_selection(&self) -> Self::DefaultSelection
fn default_selection(&self) -> Self::DefaultSelection
The default select clause of this type, which should be used if no
select clause was explicitly specified. This should always be a tuple of
all the desired columns, not
starSource§impl<T, Expr, Conn> RunQueryDsl<Conn> for ArrayJoin<T, Expr>
impl<T, Expr, Conn> RunQueryDsl<Conn> for ArrayJoin<T, Expr>
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,
Source§impl<T, Expr, Selection> SelectDsl<Selection> for ArrayJoin<T, Expr>where
T: QuerySource + Clone,
T::FromClause: Clone,
Expr: Expression + Clone,
Self: AsQuery,
Selection: Expression,
<Self as AsQuery>::Query: SelectDsl<Selection>,
impl<T, Expr, Selection> SelectDsl<Selection> for ArrayJoin<T, Expr>where
T: QuerySource + Clone,
T::FromClause: Clone,
Expr: Expression + Clone,
Self: AsQuery,
Selection: Expression,
<Self as AsQuery>::Query: SelectDsl<Selection>,
Auto Trait Implementations§
impl<T, Expr> Freeze for ArrayJoin<T, Expr>
impl<T, Expr> RefUnwindSafe for ArrayJoin<T, Expr>
impl<T, Expr> Send for ArrayJoin<T, Expr>
impl<T, Expr> Sync for ArrayJoin<T, Expr>
impl<T, Expr> Unpin for ArrayJoin<T, Expr>
impl<T, Expr> UnsafeUnpin for ArrayJoin<T, Expr>
impl<T, Expr> UnwindSafe for ArrayJoin<T, Expr>
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> JoinOnDsl for Twhere
T: QuerySource,
impl<T> JoinOnDsl for Twhere
T: QuerySource,
Source§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