20 #include "gen-cpp/PlanNodes_types.h"
29 child_row_batch_(NULL),
94 int dst_row_idx = output_batch->
AddRow();
99 if (
EvalConjuncts(conjunct_ctxs, num_conjunct_ctxs, src_row)) {
100 output_batch->
CopyRow(src_row, dst_row);
111 DCHECK(
false) <<
"NYI";
bool CopyRows(RowBatch *output_batch)
boost::scoped_ptr< RowBatch > child_row_batch_
current row batch of child
int64_t num_rows_returned_
MemTracker * mem_tracker()
boost::scoped_ptr< RuntimeProfile > runtime_profile_
bool child_eos_
true if last GetNext() call on child signalled eos
#define RETURN_IF_ERROR(stmt)
some generally useful macros
TupleRow * GetRow(int row_idx)
int child_row_idx_
index of current row in child_row_batch_
const RowDescriptor & row_desc() const
Status ExecDebugAction(TExecNodePhase::type phase, RuntimeState *state)
SelectNode(ObjectPool *pool, const TPlanNode &tnode, const DescriptorTbl &descs)
const std::vector< ExprContext * > & conjunct_ctxs() const
virtual Status Reset(RuntimeState *state)
#define RETURN_IF_CANCELLED(state)
virtual Status Prepare(RuntimeState *state)
virtual Status GetNext(RuntimeState *state, RowBatch *row_batch, bool *eos)
virtual Status QueryMaintenance(RuntimeState *state)
virtual Status Prepare(RuntimeState *state)
#define COUNTER_SET(c, v)
virtual void Close(RuntimeState *state)
RuntimeProfile::Counter * rows_returned_counter_
void CopyRow(TupleRow *src, TupleRow *dest)
virtual Status Open(RuntimeState *state)
static bool EvalConjuncts(ExprContext *const *ctxs, int num_ctxs, TupleRow *row)
virtual Status Open(RuntimeState *state)
std::vector< ExprContext * > conjunct_ctxs_
virtual void Close(RuntimeState *state)
static const int INVALID_ROW_INDEX