[Feature] [Lateral-View] support outer combinator of table function (#9147)
This commit is contained in:
@ -30,6 +30,8 @@ namespace doris {
|
||||
// Currently, the memory allocated from table function is from malloc directly.
|
||||
class TableFunctionState {};
|
||||
|
||||
constexpr auto COMBINATOR_SUFFIX_OUTER = "_outer";
|
||||
|
||||
class ExprContext;
|
||||
class TupleRow;
|
||||
class TableFunction {
|
||||
@ -99,6 +101,14 @@ public:
|
||||
}
|
||||
|
||||
bool is_outer() const { return _is_outer; }
|
||||
void set_outer() {
|
||||
if (is_outer()) {
|
||||
return;
|
||||
}
|
||||
_is_outer = true;
|
||||
_fn_name += COMBINATOR_SUFFIX_OUTER;
|
||||
}
|
||||
|
||||
bool current_empty() const { return _is_current_empty; }
|
||||
|
||||
protected:
|
||||
@ -115,7 +125,6 @@ protected:
|
||||
// the size of current result
|
||||
int64_t _cur_size = 0;
|
||||
// set _is_outer to false for explode function, and should not return tuple while array is null or empty
|
||||
bool _is_outer = true;
|
||||
bool _is_outer = false;
|
||||
};
|
||||
|
||||
} // namespace doris
|
||||
|
||||
Reference in New Issue
Block a user