fix: fix bug of multi level batch nlj lost data bug

This commit is contained in:
obdev
2023-12-27 06:13:31 +00:00
committed by ob-robot
parent b27ea15064
commit a52b801e5f
6 changed files with 71 additions and 5 deletions

View File

@ -478,11 +478,14 @@ public:
bool &filtered);
ObBatchRows &get_brs() { return brs_; }
// Drain exchange in data for PX, or producer DFO will be blocked.
virtual int drain_exch();
int drain_exch();
void set_pushdown_param_null(const common::ObIArray<ObDynamicParamSetter> &rescan_params);
void set_feedback_node_idx(int64_t idx)
{ fb_node_idx_ = idx; }
bool is_operator_end() { return batch_reach_end_ || row_reach_end_ ; }
protected:
virtual int do_drain_exch();
int init_skip_vector();
// Execute filter
// Calc buffer does not reset internally, you need to reset it appropriately.
@ -565,7 +568,6 @@ private:
int output_expr_decint_datum_len_check();
int output_expr_decint_datum_len_check_batch();
int setup_op_feedback_info();
int do_drain_exch();
// child can implement this interface, but can't call this directly
virtual int inner_drain_exch() { return common::OB_SUCCESS; };
protected: