16 #ifndef IMPALA_EXEC_EXCHANGE_NODE_H
17 #define IMPALA_EXEC_EXCHANGE_NODE_H
19 #include <boost/scoped_ptr.hpp>
26 class DataStreamRecvr;
56 virtual void DebugString(
int indentation_level, std::stringstream* out)
const;
boost::shared_ptr< DataStreamRecvr > stream_recvr_
void set_num_senders(int num_senders)
virtual Status Open(RuntimeState *state)
Blocks until the first batch is available for consumption via GetNext().
int64_t num_rows_skipped_
Number of rows skipped so far.
virtual Status Init(const TPlanNode &tnode)
virtual Status Prepare(RuntimeState *state)
std::vector< bool > is_asc_order_
RowDescriptor input_row_desc_
our input rows are a prefix of the rows we produce
std::string DebugString() const
Returns a string representation in DFS order of the plan rooted at this.
SortExecExprs sort_exec_exprs_
Sort expressions and parameters passed to the merging receiver..
Status FillInputRowBatch(RuntimeState *state)
ExchangeNode(ObjectPool *pool, const TPlanNode &tnode, const DescriptorTbl &descs)
virtual Status Reset(RuntimeState *state)
RuntimeProfile::Counter * convert_row_batch_timer_
time spent reconstructing received rows
Status GetNextMerging(RuntimeState *state, RowBatch *output_batch, bool *eos)
int64_t offset_
Offset specifying number of rows to skip.
std::vector< bool > nulls_first_
virtual Status GetNext(RuntimeState *state, RowBatch *row_batch, bool *eos)
virtual void Close(RuntimeState *state)