16 #ifndef IMPALA_EXEC_BLOCKING_JOIN_NODE_H
17 #define IMPALA_EXEC_BLOCKING_JOIN_NODE_H
19 #include <boost/scoped_ptr.hpp>
20 #include <boost/thread.hpp>
26 #include "gen-cpp/PlanNodes_types.h"
121 virtual void DebugString(
int indentation_level, std::stringstream* out)
const;
virtual void AddToDebugString(int indentation_level, std::stringstream *out) const
void CreateOutputRow(TupleRow *out_row, TupleRow *probe_row, TupleRow *build_row)
virtual Status Prepare(RuntimeState *state)
TupleRow * current_probe_row_
BlockingJoinNode(const std::string &node_name, const TJoinOp::type join_op, ObjectPool *pool, const TPlanNode &tnode, const DescriptorTbl &descs)
int probe_tuple_row_size_
virtual void Close(RuntimeState *state)
virtual Status Init(const TPlanNode &tnode)
RuntimeProfile::Counter * build_timer_
void BuildSideThread(RuntimeState *state, Promise< Status > *status)
RuntimeProfile::Counter * probe_timer_
boost::scoped_ptr< MemPool > build_pool_
std::string DebugString() const
Returns a string representation in DFS order of the plan rooted at this.
RuntimeProfile::Counter * probe_row_counter_
bool can_add_probe_filters_
virtual Status ConstructBuildSide(RuntimeState *state)=0
virtual Status Reset(RuntimeState *state)
int build_tuple_row_size_
virtual Status Open(RuntimeState *state)
const std::string node_name_
virtual ~BlockingJoinNode()
std::string GetLeftChildRowString(TupleRow *row)
static const char * LLVM_CLASS_NAME
RuntimeProfile::Counter * build_row_counter_
boost::scoped_ptr< RowBatch > probe_batch_
virtual Status InitGetNext(TupleRow *first_left_child_row)=0
TupleRow * semi_join_staging_row_