15 #ifndef IMPALA_EXEC_SORT_EXEC_EXPRS_H
16 #define IMPALA_EXEC_SORT_EXEC_EXPRS_H
37 Status Init(
const std::vector<TExpr>& ordering_exprs,
38 const std::vector<TExpr>* sort_tuple_slot_exprs,
ObjectPool* pool);
Status Open(RuntimeState *state)
Open all expressions used for sorting and tuple materialization.
std::vector< ExprContext * > sort_tuple_slot_expr_ctxs_
std::vector< ExprContext * > rhs_ordering_expr_ctxs_
Status Init(const TSortInfo &sort_info, ObjectPool *pool)
Initialize the expressions from a TSortInfo using the specified pool.
const std::vector< ExprContext * > & lhs_ordering_expr_ctxs() const
Can only be used after calling Prepare()
This class is thread-safe.
std::vector< ExprContext * > lhs_ordering_expr_ctxs_
Create two ExprContexts for evaluating over the TupleRows.
Status Prepare(RuntimeState *state, const RowDescriptor &child_row_desc, const RowDescriptor &output_row_desc, MemTracker *expr_mem_tracker)
Prepare all expressions used for sorting and tuple materialization.
void Close(RuntimeState *state)
Close all expressions used for sorting and tuple materialization.
const std::vector< ExprContext * > & sort_tuple_slot_expr_ctxs() const
const std::vector< ExprContext * > & rhs_ordering_expr_ctxs() const
Can only be used after calling Open()