[Intersect] Implements intersect node (#3034)
imlement of the intersect node now can support statement like `select a from t intersect select b from t1 intersect select 1;`
This commit is contained in:
@ -48,6 +48,8 @@
|
||||
#include "exec/analytic_eval_node.h"
|
||||
#include "exec/select_node.h"
|
||||
#include "exec/union_node.h"
|
||||
#include "exec/intersect_node.h"
|
||||
#include "exec/except_node.h"
|
||||
#include "exec/repeat_node.h"
|
||||
#include "exec/assert_num_rows_node.h"
|
||||
#include "runtime/exec_env.h"
|
||||
@ -440,6 +442,14 @@ Status ExecNode::create_node(RuntimeState* state, ObjectPool* pool, const TPlanN
|
||||
*node = pool->add(new UnionNode(pool, tnode, descs));
|
||||
return Status::OK();
|
||||
|
||||
case TPlanNodeType::INTERSECT_NODE:
|
||||
*node = pool->add(new IntersectNode(pool, tnode, descs));
|
||||
return Status::OK();
|
||||
|
||||
// case TPlanNodeType::EXCEPT_NODE:
|
||||
// *node = pool->add(new ExceptNode(pool, tnode, descs));
|
||||
// return Status::OK();
|
||||
|
||||
case TPlanNodeType::BROKER_SCAN_NODE:
|
||||
*node = pool->add(new BrokerScanNode(pool, tnode, descs));
|
||||
return Status::OK();
|
||||
|
||||
Reference in New Issue
Block a user