diff --git a/src/sql/resolver/dml/ob_aggr_expr_push_up_analyzer.cpp b/src/sql/resolver/dml/ob_aggr_expr_push_up_analyzer.cpp index 79e4659cc0..70cda9b37a 100644 --- a/src/sql/resolver/dml/ob_aggr_expr_push_up_analyzer.cpp +++ b/src/sql/resolver/dml/ob_aggr_expr_push_up_analyzer.cpp @@ -37,7 +37,7 @@ int ObAggrExprPushUpAnalyzer::analyze_and_push_up_aggr_expr(ObRawExprFactory &ex if (OB_ISNULL(aggr_expr)) { ret = OB_ERR_UNEXPECTED; LOG_WARN("aggr expr is null", K(ret)); - } else if (OB_FAIL(analyze_aggr_param_expr(root_expr, true))) { + } else if (OB_FAIL(analyze_aggr_param_expr(root_expr, false, true))) { LOG_WARN("failed to analyze aggr param expr", K(ret), K(*root_expr)); } else if (OB_FAIL(get_min_level_resolver(min_level_resolver))) { LOG_WARN("failed to get min level resolver", K(ret)); @@ -99,6 +99,7 @@ int ObAggrExprPushUpAnalyzer::analyze_and_push_up_aggr_expr(ObRawExprFactory &ex * @return */ int ObAggrExprPushUpAnalyzer::analyze_aggr_param_expr(ObRawExpr *¶m_expr, + bool is_in_aggr_expr, bool is_root /* = false*/, bool is_child_stmt /* = false*/) { @@ -130,7 +131,7 @@ int ObAggrExprPushUpAnalyzer::analyze_aggr_param_expr(ObRawExpr *¶m_expr, if (OB_SUCC(ret) && !is_child_stmt && param_expr->is_aggr_expr() && - !static_cast(param_expr)->is_nested_aggr()) { + !is_in_aggr_expr) { //在聚集函数中含有同层级的聚集函数,这个对于mysql不允许的 //select count(select count(t1.c1) from t) from t1; //在上面的例子中,count(t1.c1)推上去了,和最外层的count()处于同一级 @@ -143,7 +144,10 @@ int ObAggrExprPushUpAnalyzer::analyze_aggr_param_expr(ObRawExpr *¶m_expr, for (int64_t i = 0; OB_SUCC(ret) && i < param_expr->get_param_count(); ++i) { ObRawExpr *¶m = param_expr->get_param_expr(i); - if (OB_FAIL(SMART_CALL(analyze_aggr_param_expr(param, false, is_child_stmt)))) { + if (OB_ISNULL(param)) { + ret = OB_ERR_UNEXPECTED; + LOG_WARN("unexpected null", K(ret)); + } else if (OB_FAIL(SMART_CALL(analyze_aggr_param_expr(param, is_in_aggr_expr || param_expr->is_aggr_expr(), false, is_child_stmt)))) { LOG_WARN("analyze child expr failed", K(ret)); } } @@ -170,7 +174,10 @@ int ObAggrExprPushUpAnalyzer::analyze_child_stmt(ObSelectStmt *child_stmt) ObRawExpr *expr = NULL; if (OB_FAIL(relation_exprs.at(i).get(expr))) { LOG_WARN("failed to get expr", K(ret)); - } else if (OB_FAIL(analyze_aggr_param_expr(expr, false, true))) { + } else if (OB_ISNULL(expr)) { + ret = OB_ERR_UNEXPECTED; + LOG_WARN("unexpected null", K(ret)); + } else if (OB_FAIL(analyze_aggr_param_expr(expr, false, false, true))) { LOG_WARN("failed to analyze aggr param expr", K(ret)); } else if (OB_FAIL(relation_exprs.at(i).set(expr))) { LOG_WARN("failed to set expr", K(ret)); diff --git a/src/sql/resolver/dml/ob_aggr_expr_push_up_analyzer.h b/src/sql/resolver/dml/ob_aggr_expr_push_up_analyzer.h index 38ec245f18..c56db108df 100644 --- a/src/sql/resolver/dml/ob_aggr_expr_push_up_analyzer.h +++ b/src/sql/resolver/dml/ob_aggr_expr_push_up_analyzer.h @@ -51,6 +51,7 @@ public: ObRawExpr *&final_aggr); private: int analyze_aggr_param_expr(ObRawExpr *¶m_expr, + bool is_in_aggr_expr, bool is_root = false, bool is_child_stmt = false); diff --git a/src/sql/resolver/dml/ob_group_by_checker.cpp b/src/sql/resolver/dml/ob_group_by_checker.cpp index a170884a69..c2d8b801b4 100644 --- a/src/sql/resolver/dml/ob_group_by_checker.cpp +++ b/src/sql/resolver/dml/ob_group_by_checker.cpp @@ -742,6 +742,8 @@ int ObGroupByChecker::check_select_stmt(const ObSelectStmt *ref_stmt) visitor.add_scope(SCOPE_ORDERBY); } else { // 如果是subquery,则需要check所有expression + // following is not allow, keep the old logic + // select (select d2 from t2 where max(t1.c1)=t2.d1) as c3 from t1 group by c1,c2; } // if order by has siblings, then order by belongs to connect by, so don't check // eg: select max(c2) from t1 start with c1 = 1 connect by nocycle prior c1 = c2 order siblings by c1, c2; @@ -915,6 +917,18 @@ int ObGroupByChecker::visit(ObMatchFunRawExpr &expr) return ret; } + +// following case is allowed +// select max(max(data)) from test group by id order by id, max(max(data)) ; +// select max(max(data)) from test group by id order by id; +// select max(max(data)) from test group by id having id=1; +// select sum(sum(data)) from test group by id order by sum(data); +// select sum(sum(data)) from test group by id having max(data) = 4 order by max(max(data)) +// following case is blocked +// select max(data) from test group by id order by max(max(data)) +// select max(data) from test group by id order by max(max(data)),max(data) +// having orderby select的顺序检查 +// having一定在内层,order by如果包含max max就在外层,否则在内层,select在外层 int ObGroupByChecker::visit(ObAggFunRawExpr &expr) { int ret = OB_SUCCESS; @@ -931,10 +945,10 @@ int ObGroupByChecker::visit(ObAggFunRawExpr &expr) LOG_WARN("failed to get belongs to stmt", K(ret)); } else if (belongs_to) { // expr is aggregate function in current stmt, then skip it - if (expr.is_nested_aggr()) { + if (expr.in_inner_stmt()) { set_skip_expr(&expr); } else if (has_nested_aggr_) { - //do nothing. + // do nothing } else { set_skip_expr(&expr); } diff --git a/src/sql/resolver/dml/ob_select_resolver.cpp b/src/sql/resolver/dml/ob_select_resolver.cpp index cfaf633f76..0c01c89384 100644 --- a/src/sql/resolver/dml/ob_select_resolver.cpp +++ b/src/sql/resolver/dml/ob_select_resolver.cpp @@ -1033,6 +1033,268 @@ int ObSelectResolver::search_connect_group_by_clause(const ParseNode &parent, return ret; } +int ObSelectResolver::check_and_mark_aggr_in_having_scope(ObSelectStmt *select_stmt) { + int ret = OB_SUCCESS; + if (OB_ISNULL(select_stmt)) { + ret = OB_ERR_UNEXPECTED; + LOG_WARN("unexpected null pointer", K(ret)); + } else { + for (int64_t i = 0; OB_SUCC(ret) && i < select_stmt->get_having_expr_size(); ++i) { + ObRawExpr* expr = select_stmt->get_having_exprs().at(i); + ObArray aggrs; + if (OB_ISNULL(expr)) { + ret = OB_ERR_UNEXPECTED; + LOG_WARN("expr is NULL ptr", K(ret)); + } else if (ObTransformUtils::extract_aggr_expr(expr, aggrs)) { + LOG_WARN("failed to extrace aggr expr", K(ret)); + } else { + // having aggr must in inner stmt + for (int64_t j = 0; OB_SUCC(ret) && j < aggrs.count(); ++j) { + ObAggFunRawExpr* aggr_expr = aggrs.at(j); + if (OB_ISNULL(aggr_expr)) { + ret = OB_ERR_UNEXPECTED; + LOG_WARN("expr is NULL ptr", K(ret)); + } else if (aggr_expr->contain_nested_aggr()) { + ret = OB_ERR_WRONG_FIELD_WITH_GROUP; + LOG_USER_ERROR(OB_ERR_WRONG_FIELD_WITH_GROUP, + aggr_expr->get_expr_name().length(), + aggr_expr->get_expr_name().ptr()); + } else { + aggr_expr->set_nested_aggr_inner_stmt(true); + } + } + } + } + } + return ret; +} + +// block : +// 1 id and aggr(aggr(col)) in diff level +// select id from test group by id order by max(max(id)); +// select id from test group by id order by max(max(data)); +// select id, max(max(data)) from test group by id; +// select item must be outer +// select max(data) + 1 as data1 group by id order by max(data1); +int ObSelectResolver::check_aggr_in_select_scope(ObSelectStmt *select_stmt) { + int ret = OB_SUCCESS; + if (OB_ISNULL(select_stmt)) { + ret = OB_ERR_UNEXPECTED; + LOG_WARN("unexpected null pointer", K(ret)); + } else { + ObIArray &select_items = select_stmt->get_select_items(); + for (int64_t i = 0; OB_SUCC(ret) && i < select_items.count(); ++i) { + ObArray aggrs; + if (OB_ISNULL(select_items.at(i).expr_)) { + ret = OB_INVALID_ARGUMENT; + LOG_WARN("invalid expr in select items.", K(ret)); + //compatible oracle: select 1, sum(max(c1)) from t1 group by c1; + } else if (select_items.at(i).expr_->is_const_expr()) { + //do nothing + } else if (!select_items.at(i).expr_->has_flag(CNT_AGG)) { + //in oracle it's "not a single-group group function." + // select id, max(max(id)) + ret = OB_ERR_WRONG_FIELD_WITH_GROUP; + ObString column_name = select_items.at(i).is_real_alias_ ? + select_items.at(i).alias_name_ : + select_items.at(i).expr_name_; + LOG_USER_ERROR(OB_ERR_WRONG_FIELD_WITH_GROUP, + column_name.length(), + column_name.ptr()); + } else if (OB_FAIL(ObTransformUtils::extract_aggr_expr(select_items.at(i).expr_, aggrs))){ + LOG_WARN("failed to extrace aggr_expr", K(ret)); + } else { + for (int64_t j = 0; OB_SUCC(ret) && j < aggrs.count(); ++j) { + ObAggFunRawExpr* aggr_expr = aggrs.at(j); + if (OB_ISNULL(aggr_expr)) { + ret = OB_ERR_UNEXPECTED; + LOG_WARN("expr is NULL ptr", K(ret)); + } else if (aggr_expr->in_inner_stmt()) { + ret = OB_ERR_NOT_A_SINGLE_GROUP_FUNCTION; + LOG_WARN("select in aggr alias can not be nested in aggr", K(ret)); + } + } + } + } + if (OB_SUCC(ret)) { + if (select_stmt->get_group_expr_size() == 0 && + select_stmt->get_rollup_expr_size() == 0 && + select_stmt->get_grouping_sets_items_size() == 0 && + select_stmt->get_rollup_items_size() == 0 && + select_stmt->get_cube_items_size() == 0) { + ret = OB_NOT_SUPPORTED; + LOG_WARN("nested group function without group by", K(ret)); + LOG_USER_ERROR(OB_NOT_SUPPORTED, "nested group function without group by"); + } + } + } + return ret; +} + +int ObSelectResolver::mark_aggr_in_select_scope(ObSelectStmt *select_stmt) { + int ret = OB_SUCCESS; + if (OB_ISNULL(select_stmt)) { + ret = OB_ERR_UNEXPECTED; + LOG_WARN("unexpected null pointer", K(ret)); + } else { + ObRawExprCopier copier(*params_.expr_factory_); + ObIArray &select_items = select_stmt->get_select_items(); + ObSEArray origin_mark_inner_expr; + for (int64_t i = 0; OB_SUCC(ret) && i < select_items.count(); ++i) { + ObArray aggrs; + if (OB_ISNULL(select_items.at(i).expr_)) { + ret = OB_INVALID_ARGUMENT; + LOG_WARN("invalid expr in select items.", K(ret)); + } else if (OB_FAIL(ObTransformUtils::extract_aggr_expr(select_items.at(i).expr_, aggrs))){ + LOG_WARN("failed to extrace aggr_eObIRawExprCopierxpr", K(ret)); + } else { + for (int64_t j = 0; OB_SUCC(ret) && j < aggrs.count(); ++j) { + ObAggFunRawExpr* aggr_expr = aggrs.at(j); + if (OB_ISNULL(aggr_expr)) { + ret = OB_ERR_UNEXPECTED; + LOG_WARN("expr is NULL ptr", K(ret)); + } else if (aggr_expr->in_inner_stmt()) { + // select max(id) + 1 from test group by id having max(id) = 1 order by max(id),max(max(data)); + // select sum(b),sum(b) + sum(c) as inn from t3 group by b,c having sum(b)+sum(c) > 1 order by 1,sum(b) + sum(sum(e + c)); + if(OB_FAIL(add_var_to_array_no_dup(origin_mark_inner_expr, aggr_expr))) { + LOG_WARN("error to add aggr to array", K(ret)); + } + } else { + aggr_expr->set_nested_aggr_inner_stmt(false); + } + } + } + } + for (int64_t i = 0; OB_SUCC(ret) && i < origin_mark_inner_expr.count(); ++i) { + ObRawExpr *aggr_expr = origin_mark_inner_expr.at(i); + ObRawExpr *aggr_expr_cp = NULL; + if (OB_FAIL(ObRawExprCopier::copy_expr_node(*params_.expr_factory_, aggr_expr, aggr_expr_cp))) { + LOG_WARN("failed to expr copy", K(ret)); + } else if (aggr_expr_cp == NULL) { + LOG_WARN("unexpected null ptr", K(ret)); + } else { + ObAggFunRawExpr* new_agg = static_cast(aggr_expr_cp); + new_agg->set_nested_aggr_inner_stmt(false); + if (OB_FAIL(copier.add_replaced_expr(aggr_expr, new_agg))) { + LOG_WARN("failed to add replace expr", K(ret)); + } else if (OB_FAIL(select_stmt->add_agg_item(*new_agg))) { + LOG_WARN("failed to add agg item", K(ret)); + } + } + } + for (int64_t i = 0; OB_SUCC(ret) && i < select_items.count(); ++i) { + ObRawExpr* new_expr = NULL; + if (OB_ISNULL(select_items.at(i).expr_)) { + ret = OB_INVALID_ARGUMENT; + LOG_WARN("invalid expr in select items.", K(ret)); + } else if (OB_FAIL(copier.copy_on_replace(select_items.at(i).expr_, new_expr))) { + LOG_WARN("failed to copy on replace the expr", K(ret)); + } else if (new_expr == NULL) { + ret = OB_ERR_UNEXPECTED; + LOG_WARN("unexpected null ptr", K(ret)); + } else { + select_items.at(i).expr_ = new_expr; + } + } + ObIArray &order_items = select_stmt->get_order_items(); + for (int64_t i = 0; OB_SUCC(ret) && i < order_items.count(); ++i) { + ObRawExpr* new_expr = NULL; + if (OB_ISNULL(order_items.at(i).expr_)) { + ret = OB_INVALID_ARGUMENT; + LOG_WARN("invalid expr in order items.", K(ret)); + } else if (OB_FAIL(copier.copy_on_replace(order_items.at(i).expr_, new_expr))) { + LOG_WARN("failed to copy on replace the expr", K(ret)); + } else if (new_expr == NULL) { + ret = OB_ERR_UNEXPECTED; + LOG_WARN("unexpected null ptr", K(ret)); + } else { + order_items.at(i).expr_ = new_expr; + } + } + } + return ret; +} + +// if orderby has aggr(aggr) then orderby should be outer else it should be inner +// positive example following max(data) have to checked; +// select max(data) group by id order by max(max(data)); +// select max(id) group by id order by max(max(id)); +// negetive example following max(data) should not to be checked in inner stmt +// select id from test group by id having max(data) = 1 ordered by max(max(data)) +int ObSelectResolver::mark_aggr_in_order_by_scope(ObSelectStmt *select_stmt) { + int ret = OB_SUCCESS; + if (OB_ISNULL(select_stmt)) { + ret = OB_ERR_UNEXPECTED; + LOG_WARN("unexpected null pointer", K(ret)); + } else { + ObIArray &select_items = select_stmt->get_select_items(); + ObSEArray select_agg_expr; + + for (int64_t i = 0; OB_SUCC(ret) && i < select_items.count(); ++i) { + ObArray aggrs; + if (OB_ISNULL(select_items.at(i).expr_)) { + ret = OB_INVALID_ARGUMENT; + LOG_WARN("invalid expr in select items.", K(ret)); + } else if (OB_FAIL(ObTransformUtils::extract_aggr_expr(select_items.at(i).expr_, aggrs))){ + LOG_WARN("failed to extrace aggr_eObIRawExprCopierxpr", K(ret)); + } else { + for (int64_t j = 0; OB_SUCC(ret) && j < aggrs.count(); ++j) { + ObAggFunRawExpr* aggr_expr = aggrs.at(j); + if (OB_ISNULL(aggr_expr)) { + ret = OB_ERR_UNEXPECTED; + LOG_WARN("unexpected null ptr", K(ret)); + } else if (OB_FAIL(add_var_to_array_no_dup(select_agg_expr, aggr_expr))) { + LOG_WARN("error to add aggr to array", K(ret)); + } + } + } + } + + ObIArray &order_items = select_stmt->get_order_items(); + for (int64_t i = 0; OB_SUCC(ret) && i < order_items.count(); ++i) { + ObArray aggrs; + if (OB_ISNULL(order_items.at(i).expr_)) { + ret = OB_INVALID_ARGUMENT; + LOG_WARN("invalid expr in select items.", K(ret)); + //compatible oracle: select 1, sum(max(c1)) from t1 group by c1; + } else if (order_items.at(i).expr_->is_const_expr()) { + // do nothing + } else if (OB_FAIL(ObTransformUtils::extract_aggr_expr(order_items.at(i).expr_, aggrs))) { + LOG_WARN("invalid expr in extrace aggr expr", K(ret)); + } else { + for (int64_t j = 0; OB_SUCC(ret) && j < aggrs.count(); ++j) { + ObAggFunRawExpr* aggr_expr = aggrs.at(j); + if (OB_ISNULL(aggr_expr)) { + ret = OB_ERR_UNEXPECTED; + LOG_WARN("expr is NULL ptr", K(ret)); + } else if (aggr_expr->contain_nested_aggr()) { + aggr_expr->set_nested_aggr_inner_stmt(false); + } else { + if(!aggr_expr->in_inner_stmt()) { + // there are two types of aggr in order by + // 1 derive from the select -- outer + // 2 derive from the having -- inner + // 3 new appear in order by -- inner + // select max(id) from test group by id order by 1,max(max(data)); + // select max(id) from test group by id order by max(id),max(max(data)); + // select sum(b) + sum(c) from t3 group by b,c having sum(b)+sum(c) > 1 order by 1,sum(b) + sum(sum(e + c)); + // select sum(b) + sum(c),sum(sum(b)) from t3 group by b,c having sum(b)+sum(c) > 1 order by 1,sum(b) + sum(sum(e + c)); + // In oracle next stmt can be compiled but running with error. + // select sum(b) + sum(c) from t3 group by b,c having sum(b)+sum(c) > 1 order by 1,sum(b) + sum(sum(e + c)) + sum(e); + if (!has_exist_in_array(select_agg_expr, aggr_expr)) { + aggr_expr->set_nested_aggr_inner_stmt(true); + } + } + // this branch means aggr_expr in_inner_stmt + // select sub(c) from test group by b having sum(b) > 1 order by sum(b) + } + } + } + } + } + return ret; +} + int ObSelectResolver::resolve_normal_query(const ParseNode &parse_tree) { int ret = OB_SUCCESS; @@ -1167,6 +1429,18 @@ int ObSelectResolver::resolve_normal_query(const ParseNode &parse_tree) OZ( select_stmt->formalize_stmt(session_info_) ); + if (OB_SUCC(ret) && has_nested_aggr_) { + if (OB_FAIL(check_aggr_in_select_scope(select_stmt))) { + LOG_WARN("failed to check expr in select scope", K(ret)); + } else if (OB_FAIL(check_and_mark_aggr_in_having_scope(select_stmt))) { + LOG_WARN("failed to check and mark the expr having", K(ret)); + } else if (OB_FAIL(mark_aggr_in_select_scope(select_stmt))) { + LOG_WARN("failed to check and mark the expr select", K(ret)); + } else if (OB_FAIL(mark_aggr_in_order_by_scope(select_stmt))) { + LOG_WARN("failed to check and mark the expr order", K(ret)); + } + } + //统一为本层的表达式进行only full group by验证,避免检查的逻辑过于分散 OZ( check_group_by() ); OZ( check_order_by() ); @@ -2220,44 +2494,14 @@ int ObSelectResolver::resolve_field_list(const ParseNode &node) // for oracle mode, check grouping here if (OB_FAIL(ret) || !is_oracle_mode()) { /*do nothing*/ - } else if (OB_FAIL(recursive_check_grouping_columns(select_stmt, select_item.expr_))) { + } else if (OB_ISNULL(select_item.expr_)) { + ret = OB_ERR_UNEXPECTED; + LOG_WARN("unexpected null", K(ret)); + } else if (OB_FAIL(recursive_check_grouping_columns(select_stmt, select_item.expr_, false))) { LOG_WARN("failed to recursive check grouping columns", K(ret)); } else {/*do nothing*/} } // end for - if (OB_SUCC(ret) && has_nested_aggr_) { - ObIArray &select_items = select_stmt->get_select_items(); - for (int64_t i = 0; OB_SUCC(ret) && i < select_items.count(); i++) { - if (OB_ISNULL(select_items.at(i).expr_)) { - ret = OB_INVALID_ARGUMENT; - LOG_WARN("invalid expr in select items.", K(ret)); - //compatible oracle: select 1, sum(max(c1)) from t1 group by c1; - } else if (select_items.at(i).expr_->is_const_expr()) { - //do nothing - } else if (!select_items.at(i).expr_->has_flag(CNT_AGG)) { - //in oracle it's "not a single-group group function." - ret = OB_ERR_WRONG_FIELD_WITH_GROUP; - ObString column_name = select_items.at(i).is_real_alias_ ? - select_items.at(i).alias_name_ : - select_items.at(i).expr_name_; - LOG_USER_ERROR(OB_ERR_WRONG_FIELD_WITH_GROUP, - column_name.length(), - column_name.ptr()); - } else { /*do nothing.*/ } - } - if (OB_SUCC(ret)) { - if (select_stmt->get_group_expr_size() == 0 && - select_stmt->get_rollup_expr_size() == 0 && - select_stmt->get_grouping_sets_items_size() == 0 && - select_stmt->get_rollup_items_size() == 0 && - select_stmt->get_cube_items_size() == 0) { - ret = OB_NOT_SUPPORTED; - LOG_WARN("nested group function without group by", K(ret)); - LOG_USER_ERROR(OB_NOT_SUPPORTED, "nested group function without group by"); - } - } - } - if (OB_SUCC(ret)) { // Oracle mode, * can't be used with other expresion // like: select 1,* from t1; select *,1 from t1; @@ -4417,7 +4661,10 @@ int ObSelectResolver::check_grouping_columns() } else { common::ObIArray &select_items = select_stmt->get_select_items(); for (int64_t i = 0; OB_SUCC(ret) && i < select_items.count(); ++i) { - if (OB_FAIL(recursive_check_grouping_columns(select_stmt, select_items.at(i).expr_))) { + if (OB_ISNULL(select_items.at(i).expr_)) { + ret = OB_ERR_UNEXPECTED; + LOG_WARN("unexpected null", K(ret)); + } else if (OB_FAIL(recursive_check_grouping_columns(select_stmt, select_items.at(i).expr_, false))) { LOG_WARN("failed to recursive check grouping columns", K(ret)); } } @@ -4490,39 +4737,6 @@ int ObSelectResolver::check_grouping_columns(ObSelectStmt &stmt, ObRawExpr *&exp return ret; } -int ObSelectResolver::check_nested_aggr_in_having(ObRawExpr* raw_expr) -{ - int ret = OB_SUCCESS; - bool is_stack_overflow = false; - if (OB_FAIL(check_stack_overflow(is_stack_overflow))) { - LOG_WARN("check stack overflow failed", K(ret)); - } else if (is_stack_overflow) { - ret = OB_SIZE_OVERFLOW; - LOG_WARN("stack is overflow", K(ret), K(is_stack_overflow)); - } else if (OB_ISNULL(raw_expr)) { - ret = OB_ERR_UNEXPECTED; - LOG_WARN("raw expr is NULL ptr", K(ret)); - } else { - int64_t N = raw_expr->get_param_count(); - for (int64_t i = 0; OB_SUCC(ret) && i < N; ++i) { - ObRawExpr *child_expr = raw_expr->get_param_expr(i); - if (OB_ISNULL(child_expr)) { - ret = OB_ERR_UNEXPECTED; - LOG_WARN("expr is NULL ptr", K(ret)); - } else if (child_expr->is_aggr_expr() && - static_cast(child_expr)->is_nested_aggr()) { - ret = OB_ERR_WRONG_FIELD_WITH_GROUP; - LOG_USER_ERROR(OB_ERR_WRONG_FIELD_WITH_GROUP, - child_expr->get_expr_name().length(), - child_expr->get_expr_name().ptr()); - } else if (OB_FAIL(SMART_CALL(check_nested_aggr_in_having(child_expr)))) { - LOG_WARN("replace reference column failed", K(ret)); - } else { /*do nothing.*/ } - } // end for - } - return ret; -} - int ObSelectResolver::resolve_having_clause(const ParseNode *node) { int ret = OB_SUCCESS; @@ -4538,9 +4752,7 @@ int ObSelectResolver::resolve_having_clause(const ParseNode *node) if (OB_ISNULL(expr)) { ret = OB_ERR_UNEXPECTED; LOG_WARN("expr is NULL ptr", K(ret)); - } else if (OB_FAIL(check_nested_aggr_in_having(expr))) { - LOG_WARN("failed to check nested aggr in having.", K(ret)); - } else if (OB_FAIL(recursive_check_grouping_columns(select_stmt, expr))) { + } else if (OB_FAIL(recursive_check_grouping_columns(select_stmt, expr, false))) { LOG_WARN("failed to recursive check grouping columns", K(ret)); } else if (expr->has_flag(CNT_ROWNUM) || expr->has_flag(CNT_LEVEL) @@ -5692,7 +5904,7 @@ int ObSelectResolver::mark_nested_aggr_if_required( } } } - if (has_nested_aggr_) { + if (OB_SUCC(ret) && has_nested_aggr_) { ObArray param_aggrs; ObArray param_winfuncs; if (OB_UNLIKELY(is_mysql_mode())) { @@ -5736,7 +5948,7 @@ int ObSelectResolver::mark_nested_aggr_if_required( ret = OB_ERR_INVALID_GROUP_FUNC_USE; LOG_WARN("nested aggr should not contain nested aggr", K(ret)); } else { - param_aggrs.at(i)->set_in_nested_aggr(true); + param_aggrs.at(i)->set_nested_aggr_inner_stmt(true); } } } @@ -5818,7 +6030,7 @@ int ObSelectResolver::add_aggr_expr(ObAggFunRawExpr *&final_aggr_expr) } else if (OB_UNLIKELY(select_stmt->is_set_stmt())) { ret = OB_ERR_AGGREGATE_ORDER_FOR_UNION; LOG_WARN("can't use aggregate function in union stmt"); - } else if (OB_FAIL(select_stmt->check_and_get_same_aggr_item(final_aggr_expr, + } else if (OB_FAIL(select_stmt->check_and_get_same_aggr_item(final_aggr_expr, // 这里实际上判断是错误的 same_aggr_expr))) { LOG_WARN("failed to check and get same aggr item.", K(ret)); } else if (same_aggr_expr != NULL) { @@ -6849,7 +7061,7 @@ int ObSelectResolver::check_cube_items_valid(const ObIArray &cube_it return ret; } -int ObSelectResolver::recursive_check_grouping_columns(ObSelectStmt *stmt, ObRawExpr *expr) +int ObSelectResolver::recursive_check_grouping_columns(ObSelectStmt *stmt, ObRawExpr *expr, bool is_in_aggr) { int ret = OB_SUCCESS; ObAggFunRawExpr *c_expr = NULL; @@ -6862,7 +7074,7 @@ int ObSelectResolver::recursive_check_grouping_columns(ObSelectStmt *stmt, ObRaw if (OB_ISNULL(c_expr = static_cast(expr))) { ret = OB_ERR_UNEXPECTED; LOG_WARN("unable to convert expr to ObAggFunRawExpr", K(ret)); - } else if (c_expr->is_nested_aggr()) { + } else if (is_in_aggr && c_expr->is_aggr_expr()) { ret = OB_ERR_GROUP_FUNC_NOT_ALLOWED; LOG_WARN("grouping shouldn't be nested", K(ret)); } else if (1 != c_expr->get_real_param_exprs().count() || @@ -6879,7 +7091,7 @@ int ObSelectResolver::recursive_check_grouping_columns(ObSelectStmt *stmt, ObRaw if (OB_ISNULL(c_expr = static_cast(expr))) { ret = OB_ERR_UNEXPECTED; LOG_WARN("unable to convert expr to ObAggFunRawExpr", K(ret)); - } else if (c_expr->is_nested_aggr()) { + } else if (is_in_aggr && c_expr->is_aggr_expr()) { ret = OB_ERR_GROUP_FUNC_NOT_ALLOWED; LOG_WARN("grouping shouldn't be nested", K(ret)); } else if (c_expr->get_real_param_count() < 1) { @@ -6897,7 +7109,7 @@ int ObSelectResolver::recursive_check_grouping_columns(ObSelectStmt *stmt, ObRaw if (OB_ISNULL(c_expr = static_cast(expr))) { ret = OB_ERR_UNEXPECTED; LOG_WARN("unable to convert expr to ObAggFunRawExpr", K(ret)); - } else if (c_expr->is_nested_aggr()) { + } else if (is_in_aggr && c_expr->is_aggr_expr()) { ret = OB_ERR_GROUP_FUNC_NOT_ALLOWED; LOG_WARN("group_id shouldn't be nested", K(ret)); } else if (stmt->get_group_expr_size() == 0 && @@ -6910,7 +7122,11 @@ int ObSelectResolver::recursive_check_grouping_columns(ObSelectStmt *stmt, ObRaw } } else { for (int64_t i = 0; OB_SUCC(ret) && i < expr->get_param_count(); ++i) { - if (OB_FAIL(SMART_CALL(recursive_check_grouping_columns(stmt, expr->get_param_expr(i))))) { + ObRawExpr *expr_param = expr->get_param_expr(i); + if (OB_ISNULL(expr_param)) { + ret = OB_ERR_UNEXPECTED; + LOG_WARN("unexpected null", K(ret)); + } else if (OB_FAIL(SMART_CALL(recursive_check_grouping_columns(stmt, expr_param, is_in_aggr || expr->is_aggr_expr())))) { LOG_WARN("failed to recursive check grouping columns", K(ret)); } else {/*do nothing*/} } diff --git a/src/sql/resolver/dml/ob_select_resolver.h b/src/sql/resolver/dml/ob_select_resolver.h index 46f9a984f9..a4a01ef8c2 100644 --- a/src/sql/resolver/dml/ob_select_resolver.h +++ b/src/sql/resolver/dml/ob_select_resolver.h @@ -221,7 +221,6 @@ protected: ObRawExpr *&coalesce_expr); int resolve_having_clause(const ParseNode *node); int resolve_named_windows_clause(const ParseNode *node); - int check_nested_aggr_in_having(ObRawExpr* expr); int resolve_start_with_clause(const ParseNode *node); int check_connect_by_expr_validity(const ObRawExpr *raw_expr, bool is_prior); int resolve_connect_by_clause(const ParseNode *node); @@ -347,7 +346,7 @@ private: int check_rollup_items_valid(const common::ObIArray &rollup_items); int check_cube_items_valid(const common::ObIArray &cube_items); - int recursive_check_grouping_columns(ObSelectStmt *stmt, ObRawExpr *expr); + int recursive_check_grouping_columns(ObSelectStmt *stmt, ObRawExpr *expr, bool is_in_aggr_expr); int is_need_check_col_dup(const ObRawExpr *expr, bool &need_check); @@ -358,6 +357,12 @@ private: int check_listagg_aggr_param_valid(ObAggFunRawExpr *aggr_expr); int add_alias_from_dot_notation(ObRawExpr *sel_expr, SelectItem& select_item); + + int check_and_mark_aggr_in_having_scope(ObSelectStmt *select_stmt); + int mark_aggr_in_order_by_scope(ObSelectStmt *select_stmt); + int check_aggr_in_select_scope(ObSelectStmt *select_stmt); + int mark_aggr_in_select_scope(ObSelectStmt *select_stmt); + protected: // data members /*these member is only for with clause*/ diff --git a/src/sql/resolver/dml/ob_select_stmt.cpp b/src/sql/resolver/dml/ob_select_stmt.cpp index b25afd0288..37292ca164 100644 --- a/src/sql/resolver/dml/ob_select_stmt.cpp +++ b/src/sql/resolver/dml/ob_select_stmt.cpp @@ -156,7 +156,7 @@ int ObSelectStmt::check_aggr_and_winfunc(ObRawExpr &expr) if (expr.is_aggr_expr() && !ObRawExprUtils::find_expr(agg_items_, &expr)) { ret = OB_ERR_UNEXPECTED; - LOG_WARN("aggr expr does not exist in the stmt", K(ret), K(expr)); + LOG_WARN("aggr expr does not exist in the stmt", K(agg_items_), K(expr), K(ret)); } else if (expr.is_win_func_expr() && !ObRawExprUtils::find_expr(win_func_exprs_, &expr)) { ret = OB_ERR_UNEXPECTED; diff --git a/src/sql/resolver/expr/ob_raw_expr.cpp b/src/sql/resolver/expr/ob_raw_expr.cpp index 32bdd98ea1..3d987f91e8 100644 --- a/src/sql/resolver/expr/ob_raw_expr.cpp +++ b/src/sql/resolver/expr/ob_raw_expr.cpp @@ -3679,7 +3679,7 @@ int ObAggFunRawExpr::assign(const ObRawExpr &other) } else { distinct_ = tmp.distinct_; separator_param_expr_ = tmp.separator_param_expr_; - is_nested_aggr_ = tmp.is_nested_aggr_; + expr_in_inner_stmt_ = tmp.expr_in_inner_stmt_; pl_agg_udf_expr_ = tmp.pl_agg_udf_expr_; udf_meta_.assign(tmp.udf_meta_); is_need_deserialize_row_ = tmp.is_need_deserialize_row_; @@ -3743,7 +3743,7 @@ void ObAggFunRawExpr::reset() clear_child(); order_items_.reset(); separator_param_expr_ = NULL; - is_nested_aggr_ = false; + expr_in_inner_stmt_ = false; is_need_deserialize_row_ = false; pl_agg_udf_expr_ = NULL; } @@ -3756,7 +3756,7 @@ bool ObAggFunRawExpr::inner_same_as( if (get_expr_type() != expr.get_expr_type()) { } else { const ObAggFunRawExpr *a_expr = static_cast(&expr); - if (is_nested_aggr_ != a_expr->is_nested_aggr()) { + if (expr_in_inner_stmt_ != a_expr->expr_in_inner_stmt_) { //do nothing. } else if (distinct_ == a_expr->is_param_distinct()) { if ((NULL == separator_param_expr_ && NULL == a_expr->separator_param_expr_) diff --git a/src/sql/resolver/expr/ob_raw_expr.h b/src/sql/resolver/expr/ob_raw_expr.h index 7fc22822cb..b6232de502 100644 --- a/src/sql/resolver/expr/ob_raw_expr.h +++ b/src/sql/resolver/expr/ob_raw_expr.h @@ -3372,7 +3372,7 @@ public: order_items_(), separator_param_expr_(NULL), udf_meta_(), - is_nested_aggr_(false), + expr_in_inner_stmt_(false), is_need_deserialize_row_(false), pl_agg_udf_expr_(NULL) { @@ -3386,7 +3386,7 @@ public: order_items_(), separator_param_expr_(NULL), udf_meta_(), - is_nested_aggr_(false), + expr_in_inner_stmt_(false), is_need_deserialize_row_(false), pl_agg_udf_expr_(NULL) { @@ -3401,7 +3401,7 @@ public: order_items_(), separator_param_expr_(NULL), udf_meta_(), - is_nested_aggr_(false), + expr_in_inner_stmt_(false), is_need_deserialize_row_(false), pl_agg_udf_expr_(NULL) { @@ -3420,8 +3420,8 @@ public: bool is_param_distinct() const; void set_param_distinct(bool is_distinct); void set_separator_param_expr(ObRawExpr *separator_param_expr); - bool is_nested_aggr() const; - void set_in_nested_aggr(bool is_nested); + bool in_inner_stmt() const; + void set_nested_aggr_inner_stmt(bool inner_stmt); int add_order_item(const OrderItem &order_item); virtual void clear_child() override; virtual void reset(); @@ -3479,8 +3479,9 @@ public: N_ORDER_BY, order_items_, N_SEPARATOR_PARAM_EXPR, separator_param_expr_, K_(udf_meta), - K_(is_nested_aggr), + K_(expr_in_inner_stmt), K_(pl_agg_udf_expr)); + private: DISALLOW_COPY_AND_ASSIGN(ObAggFunRawExpr); // real_param_exprs_.count() == 0 means '*' @@ -3491,7 +3492,7 @@ private: ObRawExpr *separator_param_expr_; //use for udf function info share::schema::ObUDFMeta udf_meta_; - bool is_nested_aggr_; + bool expr_in_inner_stmt_; bool is_need_deserialize_row_;// for topk histogram and hybrid histogram computation ObRawExpr *pl_agg_udf_expr_;//for pl agg udf expr }; @@ -3542,9 +3543,9 @@ inline bool ObAggFunRawExpr::is_param_distinct() const { return distinct_; } -inline bool ObAggFunRawExpr::is_nested_aggr() const +inline bool ObAggFunRawExpr::in_inner_stmt() const { - return is_nested_aggr_; + return expr_in_inner_stmt_; } inline bool ObAggFunRawExpr::contain_nested_aggr() const { @@ -3557,7 +3558,7 @@ inline bool ObAggFunRawExpr::contain_nested_aggr() const return ret; } inline void ObAggFunRawExpr::set_param_distinct(bool is_distinct) { distinct_ = is_distinct; } -inline void ObAggFunRawExpr::set_in_nested_aggr(bool is_nested) { is_nested_aggr_ = is_nested; } +inline void ObAggFunRawExpr::set_nested_aggr_inner_stmt(bool inner_stmt) { expr_in_inner_stmt_ = inner_stmt; } inline void ObAggFunRawExpr::set_separator_param_expr(ObRawExpr *separator_param_expr) { separator_param_expr_ = separator_param_expr; diff --git a/src/sql/resolver/mv/ob_mv_checker.cpp b/src/sql/resolver/mv/ob_mv_checker.cpp index 239770a61e..0548876352 100644 --- a/src/sql/resolver/mv/ob_mv_checker.cpp +++ b/src/sql/resolver/mv/ob_mv_checker.cpp @@ -459,7 +459,7 @@ int ObMVChecker::check_and_expand_mav_aggr(const ObSelectStmt &stmt, if (OB_ISNULL(aggr)) { ret = OB_ERR_UNEXPECTED; LOG_WARN("unexpected null", K(ret), K(aggr)); - } else if (aggr->is_param_distinct() || aggr->is_nested_aggr()) { + } else if (aggr->is_param_distinct() || aggr->in_inner_stmt()) { // 这里判断完全没有has_nested_aggr_的时候in_inner_stmt 才会为true is_valid = false; append_fast_refreshable_note("nested aggr and aggr with distinct param not support", OB_MV_FAST_REFRESH_SIMPLE_MAV); } else { diff --git a/src/sql/rewrite/ob_transform_pre_process.cpp b/src/sql/rewrite/ob_transform_pre_process.cpp index 3a10e163d9..2986e55f0b 100644 --- a/src/sql/rewrite/ob_transform_pre_process.cpp +++ b/src/sql/rewrite/ob_transform_pre_process.cpp @@ -4202,6 +4202,32 @@ int ObTransformPreProcess::replace_expr_for_rls(ObDMLStmt &stmt, return ret; } +int ObTransformPreProcess::get_inner_aggr_exprs( + ObSelectStmt *sub_stmt, + common::ObIArray& inner_aggr_exprs) +{ + int ret = OB_SUCCESS; + if (OB_ISNULL(sub_stmt)) { + ret = OB_ERR_UNEXPECTED; + LOG_WARN("select stmt is null", K(ret)); + } else { + common::ObIArray &aggr_exprs = sub_stmt->get_aggr_items(); + for (int64_t i = 0; OB_SUCC(ret) && i < aggr_exprs.count(); ++i) { + if (OB_ISNULL(aggr_exprs.at(i))) { + ret = OB_ERR_UNEXPECTED; + LOG_WARN("expr of aggr expr is null", K(ret)); + } else if (aggr_exprs.at(i)->in_inner_stmt()) { + /*do nothing.*/ + if (OB_FAIL(add_var_to_array_no_dup(inner_aggr_exprs, + aggr_exprs.at(i)))) { + LOG_WARN("failed to to add var to array no dup.", K(ret)); + } + } + } + } + return ret; +} + int ObTransformPreProcess::get_first_level_output_exprs( ObSelectStmt *sub_stmt, common::ObIArray& inner_aggr_exprs) @@ -4212,13 +4238,14 @@ int ObTransformPreProcess::get_first_level_output_exprs( LOG_WARN("select stmt is null", K(ret)); } else { common::ObIArray &aggr_exprs = sub_stmt->get_aggr_items(); - for (int64_t i = 0; OB_SUCC(ret) && i < aggr_exprs.count(); i++) { + for (int64_t i = 0; OB_SUCC(ret) && i < aggr_exprs.count(); ++i) { if (OB_ISNULL(aggr_exprs.at(i))) { ret = OB_ERR_UNEXPECTED; LOG_WARN("expr of aggr expr is null", K(ret)); - } else if (aggr_exprs.at(i)->is_nested_aggr()) { + } else if (aggr_exprs.at(i)->in_inner_stmt()) { /*do nothing.*/ } else { + // outer aggr int64_t N = aggr_exprs.at(i)->get_param_count(); for (int64_t j = 0; OB_SUCC(ret) && j < N; ++j) { if (OB_ISNULL(aggr_exprs.at(i)->get_param_expr(j))) { @@ -4242,6 +4269,8 @@ int ObTransformPreProcess::generate_child_level_aggr_stmt(ObSelectStmt *select_s { int ret = OB_SUCCESS; ObSEArray complex_aggr_exprs; + ObSEArray inner_aggr_exprs; + if (OB_ISNULL(ctx_) || OB_ISNULL(ctx_->stmt_factory_) || OB_ISNULL(ctx_->expr_factory_)) { ret = OB_ERR_UNEXPECTED; LOG_WARN("select stmt is null", K(ret)); @@ -4256,24 +4285,23 @@ int ObTransformPreProcess::generate_child_level_aggr_stmt(ObSelectStmt *select_s ctx_->src_qb_name_, ctx_->src_hash_val_))) { LOG_WARN("failed to recursive adjust statement id", K(ret)); - } else if (OB_FAIL(get_first_level_output_exprs(sub_stmt, - complex_aggr_exprs))) { - LOG_WARN("failed to extract levels aggr.", K(ret)); + } else if (OB_FAIL(get_first_level_output_exprs(sub_stmt, complex_aggr_exprs))) { + LOG_WARN("failed to low levels aggr.", K(ret)); + } else if (OB_FAIL(get_inner_aggr_exprs(sub_stmt, inner_aggr_exprs)) ) { } else { sub_stmt->get_aggr_items().reset(); sub_stmt->get_select_items().reset(); + sub_stmt->get_order_items().reset(); } - for (int64_t i = 0; OB_SUCC(ret) && i < sub_stmt->get_having_exprs().count(); ++i) { - if (OB_FAIL(ObTransformUtils::extract_aggr_expr(sub_stmt->get_having_exprs().at(i), - sub_stmt->get_aggr_items()))) { - LOG_WARN("failed to extract aggr exprs.", K(ret)); - } else { /*do nothing.*/ } + + for (int64_t j = 0; OB_SUCC(ret) && j < inner_aggr_exprs.count(); ++j) { + if (OB_FAIL(add_var_to_array_no_dup(sub_stmt->get_aggr_items(), inner_aggr_exprs.at(j)))) { + LOG_WARN("failed to add aggr exprs to aggr item.", K(ret)); + } } + for (int64_t j = 0; OB_SUCC(ret) && j < complex_aggr_exprs.count(); ++j) { - if (OB_FAIL(ObTransformUtils::extract_aggr_expr(complex_aggr_exprs.at(j), - sub_stmt->get_aggr_items()))) { - LOG_WARN("failed to extract aggr exprs.", K(ret)); - } else if (OB_FAIL(ObTransformUtils::create_select_item(*ctx_->allocator_, + if (OB_FAIL(ObTransformUtils::create_select_item(*ctx_->allocator_, complex_aggr_exprs.at(j), sub_stmt))) { LOG_WARN("failed to push back into select item array.", K(ret)); @@ -4307,7 +4335,7 @@ int ObTransformPreProcess::remove_nested_aggr_exprs(ObSelectStmt *stmt) if (OB_ISNULL(stmt->get_aggr_items().at(i))) { ret = OB_ERR_UNEXPECTED; LOG_WARN("expr of aggr expr is null", K(ret)); - } else if (stmt->get_aggr_items().at(i)->is_nested_aggr()) { + } else if (stmt->get_aggr_items().at(i)->in_inner_stmt()) { /*do nothing.*/ } else if (OB_FAIL(aggr_exprs.push_back(stmt->get_aggr_items().at(i)))) { LOG_WARN("failed to assign to inner aggr exprs.", K(ret)); @@ -4356,7 +4384,6 @@ int ObTransformPreProcess::generate_parent_level_aggr_stmt(ObSelectStmt *&select select_stmt->get_table_items().reset(); select_stmt->get_joined_tables().reset(); select_stmt->get_from_items().reset(); - select_stmt->get_order_items().reset(); select_stmt->get_column_items().reset(); select_stmt->get_condition_exprs().reset(); select_stmt->get_part_exprs().reset(); @@ -4367,6 +4394,8 @@ int ObTransformPreProcess::generate_parent_level_aggr_stmt(ObSelectStmt *&select select_stmt->get_rollup_items().reset(); select_stmt->get_cube_items().reset(); select_stmt->get_having_exprs().reset(); + select_stmt->get_order_items().reset(); + if (OB_FAIL(get_first_level_output_exprs(select_stmt, old_exprs))) { LOG_WARN("failed to get column exprs from stmt from.", K(ret)); diff --git a/src/sql/rewrite/ob_transform_pre_process.h b/src/sql/rewrite/ob_transform_pre_process.h index f4eac63380..4639502884 100644 --- a/src/sql/rewrite/ob_transform_pre_process.h +++ b/src/sql/rewrite/ob_transform_pre_process.h @@ -365,6 +365,7 @@ struct DistinctObjMeta int transform_exprs(ObDMLStmt *stmt, bool &trans_happened); int transform_for_nested_aggregate(ObDMLStmt *&stmt, bool &trans_happened); int generate_child_level_aggr_stmt(ObSelectStmt *stmt, ObSelectStmt *&sub_stmt); + int get_inner_aggr_exprs(ObSelectStmt *sub_stmt, common::ObIArray& inner_aggr_exprs); int get_first_level_output_exprs(ObSelectStmt *sub_stmt, common::ObIArray& inner_aggr_exprs); int generate_parent_level_aggr_stmt(ObSelectStmt *&stmt, ObSelectStmt *sub_stmt); diff --git a/unittest/sql/resolver/expr/test_raw_expr_resolver.result b/unittest/sql/resolver/expr/test_raw_expr_resolver.result index df19f4e1ac..5e1ea84d4d 100644 --- a/unittest/sql/resolver/expr/test_raw_expr_resolver.result +++ b/unittest/sql/resolver/expr/test_raw_expr_resolver.result @@ -1772,7 +1772,7 @@ "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } [13] max(c1) @@ -1865,7 +1865,7 @@ "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } [14] c1 in (select t1 from table1) diff --git a/unittest/sql/rewrite/result/test_transformer_stmt_after_el.result b/unittest/sql/rewrite/result/test_transformer_stmt_after_el.result index 9d44114400..08fa9d5172 100644 --- a/unittest/sql/rewrite/result/test_transformer_stmt_after_el.result +++ b/unittest/sql/rewrite/result/test_transformer_stmt_after_el.result @@ -73219,7 +73219,7 @@ SQL: select sum(c1), count(*) from t1 group by c2 order by c2 limit 100; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -73280,7 +73280,7 @@ SQL: select sum(c1), count(*) from t1 group by c2 order by c2 limit 100; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -73466,7 +73466,7 @@ SQL: select sum(c1), count(*) from t1 group by c2 order by c2 limit 100; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -73512,7 +73512,7 @@ SQL: select sum(c1), count(*) from t1 group by c2 order by c2 limit 100; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], diff --git a/unittest/sql/rewrite/result/test_transformer_stmt_after_query_push_down.result b/unittest/sql/rewrite/result/test_transformer_stmt_after_query_push_down.result index 3294722554..b8a690d5f0 100644 --- a/unittest/sql/rewrite/result/test_transformer_stmt_after_query_push_down.result +++ b/unittest/sql/rewrite/result/test_transformer_stmt_after_query_push_down.result @@ -6742,7 +6742,7 @@ SQL: select count(*) from (select * from t1) a group by a.c2 limit 1, 10; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null ======= "is_lob_column":false, @@ -6930,7 +6930,7 @@ SQL: select count(*) from (select * from t1) a group by a.c2 limit 1, 10; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -7703,7 +7703,7 @@ SQL: select a.c2 from (select * from t1) a; "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -7839,7 +7839,7 @@ SQL: select a.c2 from (select * from t1) a; "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], diff --git a/unittest/sql/rewrite/result/test_transformer_stmt_after_together.result b/unittest/sql/rewrite/result/test_transformer_stmt_after_together.result index 79e93bbc3e..e4aa9ba9af 100644 --- a/unittest/sql/rewrite/result/test_transformer_stmt_after_together.result +++ b/unittest/sql/rewrite/result/test_transformer_stmt_after_together.result @@ -78863,7 +78863,7 @@ SQL: select * from t1, t2 where t1.c1 > any (select c2 from t2); "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -79001,7 +79001,7 @@ SQL: select * from t1, t2 where t1.c1 > any (select c2 from t2); "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -96135,7 +96135,7 @@ SQL: select max(k) from (select c1 * c2 as k from t2 where c2 in (select c2 from "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -96353,7 +96353,7 @@ SQL: select max(k) from (select c1 * c2 as k from t2 where c2 in (select c2 from "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -97032,7 +97032,7 @@ SQL: select max(c1 * c2) from t2 where c2 in (select c2 from t3); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -97250,7 +97250,7 @@ SQL: select max(c1 * c2) from t2 where c2 in (select c2 from t3); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -148454,7 +148454,7 @@ SQL: select * from t1 where c1 >ANY (select c1 from t2); "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -148592,7 +148592,7 @@ SQL: select * from t1 where c1 >ANY (select c1 from t2); "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -149862,7 +149862,7 @@ SQL: select * from t1 where c1 >>>>>> de0eba8f08f... GIS sql syntax @@ -155209,7 +155209,7 @@ SQL: select * from t1 where Exists (select c1 from t2 where c2 >ALL (select c1 f "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -155377,7 +155377,7 @@ SQL: select * from t1 where Exists (select c1 from t2 where c2 >ALL (select c1 f "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -155539,7 +155539,7 @@ SQL: select * from t1 where Exists (select c1 from t2 where c2 >ALL (select c1 f "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], diff --git a/unittest/sql/rewrite/result/test_transformer_stmt_after_trans_aggr.result b/unittest/sql/rewrite/result/test_transformer_stmt_after_trans_aggr.result index 7742bec8fb..2676b59be3 100644 --- a/unittest/sql/rewrite/result/test_transformer_stmt_after_trans_aggr.result +++ b/unittest/sql/rewrite/result/test_transformer_stmt_after_trans_aggr.result @@ -200,7 +200,7 @@ SQL: select max(c1) from t1; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -335,7 +335,7 @@ SQL: select max(c1) from t1; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -880,7 +880,7 @@ SQL: select min(c1) from t1; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -1015,7 +1015,7 @@ SQL: select min(c1) from t1; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -1560,7 +1560,7 @@ SQL: select max(c1) as max from t1; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":true, @@ -1695,7 +1695,7 @@ SQL: select max(c1) as max from t1; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -2240,7 +2240,7 @@ SQL: select min(c1) as min from t1; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":true, @@ -2375,7 +2375,7 @@ SQL: select min(c1) as min from t1; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -2920,7 +2920,7 @@ SQL: select max(c2) from t9; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -3055,7 +3055,7 @@ SQL: select max(c2) from t9; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -3931,7 +3931,7 @@ SQL: select max(c3) from t10; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -4066,7 +4066,7 @@ SQL: select max(c3) from t10; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -5810,7 +5810,7 @@ SQL: select * from t9 where c2 = (select max(c2) from t9); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -5945,7 +5945,7 @@ SQL: select * from t9 where c2 = (select max(c2) from t9); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -6825,7 +6825,7 @@ SQL: select max(c1) from t1 as tmp; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -6960,7 +6960,7 @@ SQL: select max(c1) from t1 as tmp; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -7953,7 +7953,7 @@ SQL: select c1 from t1 where c1 > (select max(c1) from t1); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -8088,7 +8088,7 @@ SQL: select c1 from t1 where c1 > (select max(c1) from t1); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -8637,7 +8637,7 @@ SQL: select max(c1) as max from t1 having max(c1) > 1; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":true, @@ -8803,7 +8803,7 @@ SQL: select max(c1) as max from t1 having max(c1) > 1; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -8938,7 +8938,7 @@ SQL: select max(c1) as max from t1 having max(c1) > 1; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -9483,7 +9483,7 @@ SQL: select min(c1) as min from t1 having min(c1) > 1; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":true, @@ -9649,7 +9649,7 @@ SQL: select min(c1) as min from t1 having min(c1) > 1; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -9784,7 +9784,7 @@ SQL: select min(c1) as min from t1 having min(c1) > 1; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -10329,7 +10329,7 @@ SQL: select max(c1) as max from t1 having max(c1); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":true, @@ -10494,7 +10494,7 @@ SQL: select max(c1) as max from t1 having max(c1); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null ======= "is_lob_column":false, @@ -10606,7 +10606,7 @@ SQL: select max(c1) as max from t1 having max(c1); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -11151,7 +11151,7 @@ SQL: select min(c1) as min from t1 having true; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":true, @@ -11316,7 +11316,7 @@ SQL: select min(c1) as min from t1 having true; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -11867,7 +11867,7 @@ SQL: select max(c1) from t7 having false; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -12032,7 +12032,7 @@ SQL: select max(c1) from t7 having false; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -12644,7 +12644,7 @@ SQL: select max(c1) from pt2; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -12779,7 +12779,7 @@ SQL: select max(c1) from pt2; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -13380,7 +13380,7 @@ SQL: select max(c1) as max from pt2; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":true, @@ -13515,7 +13515,7 @@ SQL: select max(c1) as max from pt2; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -14116,7 +14116,7 @@ SQL: select min(c1) from pt2; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -14251,7 +14251,7 @@ SQL: select min(c1) from pt2; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -14852,7 +14852,7 @@ SQL: select min(c1) as min from pt2; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":true, @@ -14987,7 +14987,7 @@ SQL: select min(c1) as min from pt2; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -15588,7 +15588,7 @@ SQL: select * from (select max(c1) from pt2) as tmp_table; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -15723,7 +15723,7 @@ SQL: select * from (select max(c1) from pt2) as tmp_table; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -17028,7 +17028,7 @@ SQL: select * from t2 where t2.c1 > (select max(c1) from pt2); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -17163,7 +17163,7 @@ SQL: select * from t2 where t2.c1 > (select max(c1) from pt2); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -17768,7 +17768,7 @@ SQL: select * from (select min(c1) as min from pt2) as tmp_table; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -17903,7 +17903,7 @@ SQL: select * from (select min(c1) as min from pt2) as tmp_table; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -19208,7 +19208,7 @@ SQL: select * from t2 where t2.c1 > (select min(c1) as min from pt2); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":true, @@ -19343,7 +19343,7 @@ SQL: select * from t2 where t2.c1 > (select min(c1) as min from pt2); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -19948,7 +19948,7 @@ SQL: select * from (select max(c1) from t1) as tmp_table; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -20083,7 +20083,7 @@ SQL: select * from (select max(c1) from t1) as tmp_table; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -21332,7 +21332,7 @@ SQL: select * from t2 where t2.c1 > (select max(c1) from t1); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -21467,7 +21467,7 @@ SQL: select * from t2 where t2.c1 > (select max(c1) from t1); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -22016,7 +22016,7 @@ SQL: select * from (select max(c1) as max from t1) as tmp_table; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -22151,7 +22151,7 @@ SQL: select * from (select max(c1) as max from t1) as tmp_table; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -23400,7 +23400,7 @@ SQL: select * from t2 where t2.c1 > (select max(c1) as max from t1); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":true, @@ -23535,7 +23535,7 @@ SQL: select * from t2 where t2.c1 > (select max(c1) as max from t1); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -24084,7 +24084,7 @@ SQL: select * from (select min(c1) from t1) as tmp_table; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -24219,7 +24219,7 @@ SQL: select * from (select min(c1) from t1) as tmp_table; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -25468,7 +25468,7 @@ SQL: select * from t2 where t2.c1 > (select min(c1) from t1); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -25603,7 +25603,7 @@ SQL: select * from t2 where t2.c1 > (select min(c1) from t1); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -26152,7 +26152,7 @@ SQL: select * from (select min(c1) as min from t1) as tmp_table; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -26287,7 +26287,7 @@ SQL: select * from (select min(c1) as min from t1) as tmp_table; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -27536,7 +27536,7 @@ SQL: select * from t2 where t2.c1 > (select min(c1) as min from t1); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":true, @@ -27671,7 +27671,7 @@ SQL: select * from t2 where t2.c1 > (select min(c1) as min from t1); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -28220,7 +28220,7 @@ SQL: select max(c1) from t7; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -28355,7 +28355,7 @@ SQL: select max(c1) from t7; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -28991,7 +28991,7 @@ SQL: select min(c1) from t7; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -29126,7 +29126,7 @@ SQL: select min(c1) from t7; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -29833,7 +29833,7 @@ SQL: select max(c1 + 1) + 1 from t1 limit 1; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -30070,7 +30070,7 @@ SQL: select max(c1 + 1) + 1 from t1 limit 1; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -30337,7 +30337,7 @@ SQL: select max(c1) from t1 limit 1; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -30472,7 +30472,7 @@ SQL: select max(c1) from t1 limit 1; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -31046,7 +31046,7 @@ SQL: select min(c1) from t1 limit 1; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -31181,7 +31181,7 @@ SQL: select min(c1) from t1 limit 1; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -31755,7 +31755,7 @@ SQL: select min(c1) as min from t1 limit 1; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":true, @@ -31890,7 +31890,7 @@ SQL: select min(c1) as min from t1 limit 1; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -32565,7 +32565,7 @@ SQL: select min(c1 + 1) + 1 from t1 limit 1; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -32802,7 +32802,7 @@ SQL: select min(c1 + 1) + 1 from t1 limit 1; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -33069,7 +33069,7 @@ SQL: select max(c1) as max from t1 limit 1; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":true, @@ -33204,7 +33204,7 @@ SQL: select max(c1) as max from t1 limit 1; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -33879,7 +33879,7 @@ SQL: select max(c1 + 1) + 1 as max from t1 limit 1; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -34116,7 +34116,7 @@ SQL: select max(c1 + 1) + 1 as max from t1 limit 1; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -34484,7 +34484,7 @@ SQL: select min(c1 + 1) + 1 as min from t1 limit 1; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -34721,7 +34721,7 @@ SQL: select min(c1 + 1) + 1 as min from t1 limit 1; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -34988,7 +34988,7 @@ SQL: select max(c1) as max from t1 having min(c1) > 1; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":true, @@ -35154,7 +35154,7 @@ SQL: select max(c1) as max from t1 having min(c1) > 1; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -35289,7 +35289,7 @@ SQL: select max(c1) as max from t1 having min(c1) > 1; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -35388,7 +35388,7 @@ SQL: select max(c1) as max from t1 having min(c1) > 1; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -35626,7 +35626,7 @@ SQL: select min(c1) as min from t1 having max(c1) > 1; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":true, @@ -35792,7 +35792,7 @@ SQL: select min(c1) as min from t1 having max(c1) > 1; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -35927,7 +35927,7 @@ SQL: select min(c1) as min from t1 having max(c1) > 1; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -36026,7 +36026,7 @@ SQL: select min(c1) as min from t1 having max(c1) > 1; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -36264,7 +36264,7 @@ SQL: select max(c1) from t1 having 1 in (select c1 from t2); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -36557,7 +36557,7 @@ SQL: select max(c1) from t1 having 1 in (select c1 from t2); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -38864,7 +38864,7 @@ SQL: select max(c4) from t9; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -38999,7 +38999,7 @@ SQL: select max(c4) from t9; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -39279,7 +39279,7 @@ SQL: select min(999) from t7 having max(c1) > 0; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -39445,7 +39445,7 @@ SQL: select min(999) from t7 having max(c1) > 0; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -39561,7 +39561,7 @@ SQL: select min(999) from t7 having max(c1) > 0; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -39660,7 +39660,7 @@ SQL: select min(999) from t7 having max(c1) > 0; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -40692,7 +40692,7 @@ SQL: select max(1+2) from t7 limit 10; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -40808,7 +40808,7 @@ SQL: select max(1+2) from t7 limit 10; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -41292,7 +41292,7 @@ SQL: select max(1+2) from t7; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -41408,7 +41408,7 @@ SQL: select max(1+2) from t7; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -41863,7 +41863,7 @@ SQL: select min(1+2) from t7 where c2 = 1; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -41979,7 +41979,7 @@ SQL: select min(1+2) from t7 where c2 = 1; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -42675,7 +42675,7 @@ SQL: select max(1+2), 3 from t7; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -42838,7 +42838,7 @@ SQL: select max(1+2), 3 from t7; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -42998,7 +42998,7 @@ SQL: select max(1+2) from t7,t8 where t7.c1 = t8.c1; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -43114,7 +43114,7 @@ SQL: select max(1+2) from t7,t8 where t7.c1 = t8.c1; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -43860,7 +43860,7 @@ SQL: select min(1+2) from t7 inner join t8 on t7.c1=t8.c1; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -43976,7 +43976,7 @@ SQL: select min(1+2) from t7 inner join t8 on t7.c1=t8.c1; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -44722,7 +44722,7 @@ SQL: select max(1+2) from t7 left join t8 using(c1); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -44838,7 +44838,7 @@ SQL: select max(1+2) from t7 left join t8 using(c1); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -49617,7 +49617,7 @@ SQL: select * from t7 where c1 in (select max(999+1) from t8); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -49733,7 +49733,7 @@ SQL: select * from t7 where c1 in (select max(999+1) from t8); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -50839,7 +50839,7 @@ SQL: select * from t7 where c1 in (select max(999+1) from t8 where t8.c1=2 and t "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -50955,7 +50955,7 @@ SQL: select * from t7 where c1 in (select max(999+1) from t8 where t8.c1=2 and t "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -52696,7 +52696,7 @@ SQL: select max(1) from t7 order by 1; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -52812,7 +52812,7 @@ SQL: select max(1) from t7 order by 1; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -52895,7 +52895,7 @@ SQL: select max(1) from t7 order by 1; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "ascending":"NULLs_first_asc" @@ -53405,7 +53405,7 @@ SQL: select max(1+2) from t7 order by c1; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -53521,7 +53521,7 @@ SQL: select max(1+2) from t7 order by c1; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -54171,7 +54171,7 @@ SQL: select max(1+2) from t7 order by c2,c3; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -54287,7 +54287,7 @@ SQL: select max(1+2) from t7 order by c2,c3; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -56649,7 +56649,7 @@ SQL: select c1 from t1 where c1 < some (select c1 from t2); "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -58263,7 +58263,7 @@ SQL: select c1 from t1 where c1 < all (select c1 from t2); "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -58439,7 +58439,7 @@ SQL: select c1 from t1 where c1 < all (select c1 from t2); "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -59496,7 +59496,7 @@ SQL: select c1 from t1 where c1 in (select c1 from t2 where c2 >= some(select c1 "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -59664,7 +59664,7 @@ SQL: select c1 from t1 where c1 in (select c1 from t2 where c2 >= some(select c1 "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -59826,7 +59826,7 @@ SQL: select c1 from t1 where c1 in (select c1 from t2 where c2 >= some(select c1 "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -60907,7 +60907,7 @@ SQL: select c1 from t1 where c1 < all (select c1 from t2); "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -61075,7 +61075,7 @@ SQL: select c1 from t1 where c1 < all (select c1 from t2); "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -61237,7 +61237,7 @@ SQL: select c1 from t1 where c1 < all (select c1 from t2); "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -62829,7 +62829,7 @@ SQL: select c1 from t1 where c1 in (select c1 from t2 where c2 >= some(select c1 "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -63081,7 +63081,7 @@ SQL: select c1 from t1 where c1 + 1 > any (select c1 from t2); "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -64438,7 +64438,7 @@ SQL: select c1 from t1 where c1 > any (select c1 from t2 where c2 >= some(select "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -64711,7 +64711,7 @@ SQL: select c1 from t1 where c1 > any (select c1 from t2 where c2 >= some(select "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -65216,7 +65216,7 @@ SQL: select c1 from t1 where c1 > any (select c1 from t2 where c2 >= some(select "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -65394,7 +65394,7 @@ SQL: select c1 from t1 where c1 > any (select c1 from t2 where c2 >= some(select "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -66532,7 +66532,7 @@ SQL: select c1 from t1 group by c1 > any (select c1 from t2); "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -66670,7 +66670,7 @@ SQL: select c1 from t1 group by c1 > any (select c1 from t2); "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -67745,7 +67745,7 @@ SQL: select c1 from t1 having c1 < any (select c1 from t2); "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -67883,7 +67883,7 @@ SQL: select c1 from t1 having c1 < any (select c1 from t2); "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -68890,7 +68890,7 @@ SQL: select c1 from t1 order by c1 > all (select c1 from t2); "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -69058,7 +69058,7 @@ SQL: select c1 from t1 order by c1 > all (select c1 from t2); "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -69220,7 +69220,7 @@ SQL: select c1 from t1 order by c1 > all (select c1 from t2); "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } >>>>>>> de0eba8f08f... GIS sql syntax @@ -70620,7 +70620,7 @@ SQL: select c1 from t1 order by c1 > all (select c1 from t2); "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null >>>>>>> de0eba8f08f... GIS sql syntax }, @@ -71014,7 +71014,7 @@ SQL: select c1 from t1 where c1 > any (select c1 from t2 where c2 >= some(select "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -73708,7 +73708,7 @@ SQL: select c1 from t1 group by c1 > any (select c1 from t2); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -73843,7 +73843,7 @@ SQL: select c1 from t1 group by c1 > any (select c1 from t2); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -75263,7 +75263,7 @@ SQL: select c1 from t1 order by c1 > all (select c1 from t2); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -75427,7 +75427,7 @@ SQL: select c1 from t1 order by c1 > all (select c1 from t2); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -75621,7 +75621,7 @@ SQL: select c1 from t1 order by c1 > all (select c1 from t2); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -76557,7 +76557,7 @@ SQL: select c1 from t1 order by c1 < all (select c1 from t2); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -76722,7 +76722,7 @@ SQL: select c1 from t1 order by c1 < all (select c1 from t2); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -76895,7 +76895,7 @@ SQL: select c1 from t1 order by c1 < all (select c1 from t2); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null ======= 0 @@ -79596,7 +79596,7 @@ SQL: select c1 from t1 where c1 + (1 < any (select c1 from t2)); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -79731,7 +79731,7 @@ SQL: select c1 from t1 where c1 + (1 < any (select c1 from t2)); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -80774,7 +80774,7 @@ SQL: select c1 from t1 where c1 > any (select c2 from t9); "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -80912,7 +80912,7 @@ SQL: select c1 from t1 where c1 > any (select c2 from t9); "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -82374,7 +82374,7 @@ SQL: select max(c3) from t9 where c2 = 1; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -82509,7 +82509,7 @@ SQL: select max(c3) from t9 where c2 = 1; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -83717,7 +83717,7 @@ SQL: select max(c3) from t9 where c2 is TRUE; "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -84163,7 +84163,7 @@ SQL: select max(c3) from t9 where 1 = c2; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -84298,7 +84298,7 @@ SQL: select max(c3) from t9 where 1 = c2; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -85488,7 +85488,7 @@ SQL: select max(c3) from t9 where c2 != 1; "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -86018,7 +86018,7 @@ SQL: select max(c3) from t9 where c2 is TRUE; "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -86366,7 +86366,7 @@ SQL: select max(c3) from t9 where c2 is TRUE; "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -86701,11 +86701,11 @@ SQL: select max(c3) from t9 where c2 <1; "type":0 }, <<<<<<< HEAD - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null ======= "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -86959,7 +86959,7 @@ SQL: select max(c3) from t9 where c2 <1; "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -87541,7 +87541,7 @@ SQL: select c1 from t1 where c1 > any (select c2 from t9); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -87778,7 +87778,7 @@ SQL: select max(c3) from t9 where c2 = 1 and c1 = 1; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -87887,7 +87887,7 @@ SQL: select max(c3) from t9 where c2 = 1 and c1 = 1; "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -88089,7 +88089,7 @@ SQL: select max(c3) from t9 where c2 = 1 and c1 = 1; "type":0 }, <<<<<<< HEAD - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -90141,7 +90141,7 @@ SQL: select c1 from t1 where c1 > any (select c1 from t2 having c1 > 1); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null ======= "is_lob_column":false, @@ -90470,7 +90470,7 @@ SQL: select c1 from t1 where c1 > any (select c1 from t2 having c1 > 1); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -90725,7 +90725,7 @@ SQL: select max(c3) from t9 where c2 >1; "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null >>>>>>> de0eba8f08f... GIS sql syntax }, @@ -91551,7 +91551,7 @@ SQL: select max(c3) from t9 where c2 >1; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -91802,7 +91802,7 @@ SQL: select max(c3) from t9 where c2 >1; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -92574,7 +92574,7 @@ SQL: select max(c3) from t9 where c2 <1; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -92686,7 +92686,7 @@ SQL: select max(c3) from t9 where c2 <1; "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -93274,7 +93274,7 @@ SQL: select max(c3) from t9 where c2 <1; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -98484,7 +98484,7 @@ SQL: select c1 from t1 where c1 > all (select c2 from t9); "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -98582,7 +98582,7 @@ SQL: select c1 from t1 where c1 > all (select c2 from t9); "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ] @@ -100022,7 +100022,7 @@ SQL: SELECT MIN(1) FROM agg_t2 ORDER BY (SELECT AVG(c2) FROM agg_t1); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -100138,7 +100138,7 @@ SQL: SELECT MIN(1) FROM agg_t2 ORDER BY (SELECT AVG(c2) FROM agg_t1); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -100237,7 +100237,7 @@ SQL: SELECT MIN(1) FROM agg_t2 ORDER BY (SELECT AVG(c2) FROM agg_t1); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -100339,7 +100339,7 @@ SQL: SELECT MIN(1) FROM agg_t2 ORDER BY (SELECT AVG(c2) FROM agg_t1); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -100566,7 +100566,7 @@ SQL: SELECT MIN(1) FROM agg_t2 ORDER BY (SELECT AVG(c2) FROM agg_t1); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -100701,7 +100701,7 @@ SQL: SELECT MIN(1) FROM agg_t2 ORDER BY (SELECT AVG(c2) FROM agg_t1); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -101280,7 +101280,7 @@ SQL: SELECT MIN(1) FROM agg_t2 ORDER BY (SELECT AVG(c2) FROM agg_t1); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -101415,7 +101415,7 @@ SQL: SELECT MIN(1) FROM agg_t2 ORDER BY (SELECT AVG(c2) FROM agg_t1); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -101889,7 +101889,7 @@ SQL: SELECT MIN(DISTINCT OUTR . `col_varchar_10`) AS X FROM B AS OUTR WHERE (OUT "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":true, @@ -102054,7 +102054,7 @@ SQL: SELECT MIN(DISTINCT OUTR . `col_varchar_10`) AS X FROM B AS OUTR WHERE (OUT "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -105178,7 +105178,7 @@ SQL: select 5, max(c2) from t9; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -105313,7 +105313,7 @@ SQL: select 5, max(c2) from t9; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -106185,7 +106185,7 @@ SQL: select max(c2), 5 from t9; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -106367,7 +106367,7 @@ SQL: select max(c2), 5 from t9; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -107286,7 +107286,7 @@ SQL: select 5, min(c2) from t9; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -107421,7 +107421,7 @@ SQL: select 5, min(c2) from t9; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -108293,7 +108293,7 @@ SQL: select min(c2), 5 from t9; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -108475,7 +108475,7 @@ SQL: select min(c2), 5 from t9; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -109441,7 +109441,7 @@ SQL: select 5, 5, min(c2), 7 + 5, floor(5) from t9; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -109670,7 +109670,7 @@ SQL: select 5, 5, min(c2), 7 + 5, floor(5) from t9; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -110601,7 +110601,7 @@ SQL: select abs(-55), max(c2), 3 + 2, 5 from t9; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -110830,7 +110830,7 @@ SQL: select abs(-55), max(c2), 3 + 2, 5 from t9; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -112006,7 +112006,7 @@ SQL: select 5, max(c2), c1 from t9; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -112207,7 +112207,7 @@ SQL: select 5, max(c2), c1 from t9; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -112756,7 +112756,7 @@ SQL: select c1, min(c2), 233333 from t9; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -112938,7 +112938,7 @@ SQL: select c1, min(c2), 233333 from t9; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -113696,7 +113696,7 @@ SQL: select * from (select c1 as col from t1) as L where col = (select max(c1) f "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -113831,7 +113831,7 @@ SQL: select * from (select c1 as col from t1) as L where col = (select max(c1) f "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -116388,7 +116388,7 @@ SQL: select * from (select a.acctnbr as l1, a.timeuniqueextn as l2 from cb_loan "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -116900,7 +116900,7 @@ SQL: select * from (select a.acctnbr as l1, a.timeuniqueextn as l2 from cb_loan "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } <<<<<<< HEAD diff --git a/unittest/sql/rewrite/result/test_transformer_stmt_after_trans_simplify.result b/unittest/sql/rewrite/result/test_transformer_stmt_after_trans_simplify.result index 65b9340941..22d8af7c5b 100644 --- a/unittest/sql/rewrite/result/test_transformer_stmt_after_trans_simplify.result +++ b/unittest/sql/rewrite/result/test_transformer_stmt_after_trans_simplify.result @@ -25223,7 +25223,7 @@ SQL: select max(a), min(c) from pjt1,pjt2,pjt3; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -25336,7 +25336,7 @@ SQL: select max(a), min(c) from pjt1,pjt2,pjt3; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -25478,7 +25478,7 @@ SQL: select max(a), min(c) from pjt1,pjt2,pjt3; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -25576,7 +25576,7 @@ SQL: select max(a), min(c) from pjt1,pjt2,pjt3; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -26919,7 +26919,7 @@ SQL: select count(distinct g), max(d), min(a) from pjt1,pjt2,pjt3,pjt4; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -27033,7 +27033,7 @@ SQL: select count(distinct g), max(d), min(a) from pjt1,pjt2,pjt3,pjt4; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -27147,7 +27147,7 @@ SQL: select count(distinct g), max(d), min(a) from pjt1,pjt2,pjt3,pjt4; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -27297,7 +27297,7 @@ SQL: select count(distinct g), max(d), min(a) from pjt1,pjt2,pjt3,pjt4; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -27395,7 +27395,7 @@ SQL: select count(distinct g), max(d), min(a) from pjt1,pjt2,pjt3,pjt4; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -27493,7 +27493,7 @@ SQL: select count(distinct g), max(d), min(a) from pjt1,pjt2,pjt3,pjt4; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -28837,7 +28837,7 @@ SQL: select sum(distinct a) from pjt1,pjt2,pjt3 where b=d; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -29271,7 +29271,7 @@ SQL: select sum(distinct a) from pjt1,pjt2,pjt3 where b=d; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -30725,7 +30725,7 @@ SQL: select max(a) from pjt1,pjt2,pjt3,pjt4 where b=d; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -31007,7 +31007,7 @@ SQL: select max(a) from pjt1,pjt2,pjt3,pjt4 where b=d; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -32007,7 +32007,7 @@ SQL: select avg(distinct c) from pjt1,pjt2,pjt3,pjt4 where a=e; "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -32157,7 +32157,7 @@ SQL: select avg(distinct c) from pjt1,pjt2,pjt3,pjt4 where a=e; "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -32255,7 +32255,7 @@ SQL: select avg(distinct c) from pjt1,pjt2,pjt3,pjt4 where a=e; "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -32353,7 +32353,7 @@ SQL: select avg(distinct c) from pjt1,pjt2,pjt3,pjt4 where a=e; "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -32835,7 +32835,7 @@ SQL: select sum(distinct a) from pjt1,pjt2,pjt3 where b=d; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -32970,7 +32970,7 @@ SQL: select sum(distinct a) from pjt1,pjt2,pjt3 where b=d; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -33301,7 +33301,7 @@ SQL: select sum(distinct a) from pjt1,pjt2,pjt3 where b=d; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -33400,7 +33400,7 @@ SQL: select sum(distinct a) from pjt1,pjt2,pjt3 where b=d; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -34381,7 +34381,7 @@ SQL: select * from pjt1, (select min(d) as x from pjt2,pjt3) where a=x; "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } >>>>>>> de0eba8f08f... GIS sql syntax @@ -35216,11 +35216,11 @@ SQL: select * from pjt1, (select min(d) as x from pjt2,pjt3) where a=x; "type":0 }, <<<<<<< HEAD - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null ======= "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ] @@ -35566,7 +35566,7 @@ SQL: select * from pjt1, (select min(d) as x from pjt2,pjt3) where a=x; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null ======= "is_lob_column":false, @@ -37368,7 +37368,7 @@ SQL: select * from pjt1, (select count(distinct h)as x from pjt2,pjt3,pjt4 where "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":true, @@ -37645,7 +37645,7 @@ SQL: select * from pjt1, (select count(distinct h)as x from pjt2,pjt3,pjt4 where "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -38205,7 +38205,7 @@ SQL: select min(b) from pjt1, (select count(distinct h)as x from pjt2,pjt3,pjt4 "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null ======= "is_lob_column":false, @@ -38822,7 +38822,7 @@ SQL: select min(b) from pjt1, (select count(distinct h)as x from pjt2,pjt3,pjt4 "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":true, @@ -39155,7 +39155,7 @@ SQL: select min(b) from pjt1, (select count(distinct h)as x from pjt2,pjt3,pjt4 "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -39937,7 +39937,7 @@ SQL: select min(b) from pjt1, (select count(distinct h)as x from pjt2,pjt3,pjt4 "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -40195,7 +40195,7 @@ SQL: select min(b) from pjt1, (select count(distinct h)as x from pjt2,pjt3,pjt4 "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -40595,7 +40595,7 @@ SQL: select min(b) from pjt1, (select count(distinct h)as x from pjt2,pjt3,pjt4 "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":true, @@ -40874,7 +40874,7 @@ SQL: select min(b) from pjt1, (select count(distinct h)as x from pjt2,pjt3,pjt4 "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -42296,7 +42296,7 @@ SQL: select distinct a from pjt1 where b>(select sum(distinct c) from pjt1,pjt2 "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -42553,7 +42553,7 @@ SQL: select distinct a from pjt1 where b>(select sum(distinct c) from pjt1,pjt2 "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -44218,7 +44218,7 @@ SQL: select distinct a from pjt1 where b>(select avg(distinct d) from pjt1,pjt2, "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -44354,7 +44354,7 @@ SQL: select distinct a from pjt1 where b>(select avg(distinct d) from pjt1,pjt2, "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -44796,7 +44796,7 @@ SQL: select distinct a from pjt1 where b>(select avg(distinct d) from pjt1,pjt2, "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -44895,7 +44895,7 @@ SQL: select distinct a from pjt1 where b>(select avg(distinct d) from pjt1,pjt2, "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -45592,7 +45592,7 @@ SQL: select max(a) from pjt1,pjt2 where b > (select min(c) from pjt2,pjt3 where "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -45911,7 +45911,7 @@ SQL: select max(a) from pjt1,pjt2 where b > (select min(c) from pjt2,pjt3 where "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -46598,7 +46598,7 @@ SQL: select max(a) from pjt1,pjt2 where b > (select min(c) from pjt2,pjt3 where "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -46997,7 +46997,7 @@ SQL: select max(a) from pjt1,pjt2 where b > (select min(c) from pjt2,pjt3 where "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -47622,7 +47622,7 @@ SQL: select max(a) from pjt1,pjt2 where b > (select min(c) from pjt2,pjt3 where "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -47761,7 +47761,7 @@ SQL: select max(a) from pjt1,pjt2 where b > (select min(c) from pjt2,pjt3 where "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -48404,7 +48404,7 @@ SQL: (select count(distinct a) from pjt1,pjt2) union (select max(c) from pjt2 wh "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -48543,7 +48543,7 @@ SQL: (select count(distinct a) from pjt1,pjt2) union (select max(c) from pjt2 wh "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -49060,7 +49060,7 @@ SQL: (select count(distinct a) from pjt1,pjt2) union (select max(c) from pjt2 wh "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -49489,7 +49489,7 @@ SQL: (select count(distinct a) from pjt1,pjt2) union (select max(c) from pjt2 wh "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -50147,7 +50147,7 @@ SQL: (select count(distinct a) from pjt1,pjt2) union (select max(c) from pjt2 wh "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -50283,7 +50283,7 @@ SQL: (select count(distinct a) from pjt1,pjt2) union (select max(c) from pjt2 wh "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -50467,7 +50467,7 @@ SQL: (select count(distinct a) from pjt1,pjt2) union (select max(c) from pjt2 wh "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -50566,7 +50566,7 @@ SQL: (select count(distinct a) from pjt1,pjt2) union (select max(c) from pjt2 wh "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -51261,7 +51261,7 @@ SQL: (select max(a) from pjt1, pjt2) minus (select distinct e from pjt3,pjt4); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -51400,7 +51400,7 @@ SQL: (select max(a) from pjt1, pjt2) minus (select distinct e from pjt3,pjt4); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -52649,7 +52649,7 @@ SQL: select sum(distinct b) from pjt1, (select distinct c from pjt2, pjt3) where "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -52924,7 +52924,7 @@ SQL: select sum(distinct b) from pjt1, (select distinct c from pjt2, pjt3) where "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -55035,7 +55035,7 @@ SQL: select distinct a from pjt1, pjt2 where b > (select max(e) from pjt3, pjt4) "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -55174,7 +55174,7 @@ SQL: select distinct a from pjt1, pjt2 where b > (select max(e) from pjt3, pjt4) "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -55871,7 +55871,7 @@ SQL: select count(distinct a) from pjt1,pjt2 where b in (select distinct c from "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -56153,7 +56153,7 @@ SQL: select count(distinct a) from pjt1,pjt2 where b in (select distinct c from "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -57637,7 +57637,7 @@ SQL: select count(distinct a) from pjt1,pjt2 where b in (select distinct c from "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -57776,7 +57776,7 @@ SQL: select count(distinct a) from pjt1,pjt2 where b in (select distinct c from "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -61594,7 +61594,7 @@ SQL: select avg(b) from pjt1, pjt2; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -61730,7 +61730,7 @@ SQL: select avg(b) from pjt1, pjt2; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -61914,7 +61914,7 @@ SQL: select avg(b) from pjt1, pjt2; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -62013,7 +62013,7 @@ SQL: select avg(b) from pjt1, pjt2; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -62706,7 +62706,7 @@ SQL: select max(a), sum(b) from pjt1, pjt2; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -62820,7 +62820,7 @@ SQL: select max(a), sum(b) from pjt1, pjt2; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -62959,7 +62959,7 @@ SQL: select max(a), sum(b) from pjt1, pjt2; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -63058,7 +63058,7 @@ SQL: select max(a), sum(b) from pjt1, pjt2; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -63836,7 +63836,7 @@ SQL: select max(a+c) from pjt1, pjt2; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -64060,7 +64060,7 @@ SQL: select max(a+c) from pjt1, pjt2; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -68657,7 +68657,7 @@ SQL: select sum(c1) from test_simp group by c2 ,c3; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -68894,7 +68894,7 @@ SQL: select sum(c1) from test_simp group by c2 ,c3; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -69318,7 +69318,7 @@ SQL: select sum(c1) from test_simp group by c2 ,c3, c4; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -69606,7 +69606,7 @@ SQL: select sum(c1) from test_simp group by c2 ,c3, c4; "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], diff --git a/unittest/sql/rewrite/result/test_transformer_stmt_trans_outline.result b/unittest/sql/rewrite/result/test_transformer_stmt_trans_outline.result index 0c5c2ccb8d..56e1fd4700 100644 --- a/unittest/sql/rewrite/result/test_transformer_stmt_trans_outline.result +++ b/unittest/sql/rewrite/result/test_transformer_stmt_trans_outline.result @@ -6340,7 +6340,7 @@ SQL: select * from t1 where c1 >ANY (select c1 from t2); "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -6478,7 +6478,7 @@ SQL: select * from t1 where c1 >ANY (select c1 from t2); "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -7684,7 +7684,7 @@ SQL: select * from t1 where c1 >>>>>> de0eba8f08f... GIS sql syntax @@ -13042,7 +13042,7 @@ SQL: select * from t1 where Exists (select c1 from t2 where c2 >ALL (select c1 f "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -13210,7 +13210,7 @@ SQL: select * from t1 where Exists (select c1 from t2 where c2 >ALL (select c1 f "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -13372,7 +13372,7 @@ SQL: select * from t1 where Exists (select c1 from t2 where c2 >ALL (select c1 f "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -16229,7 +16229,7 @@ SQL: select * from t1 where c1 !=ANY (select c1 from t2 where t1.c2=t2.c2 limit "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -16367,7 +16367,7 @@ SQL: select * from t1 where c1 !=ANY (select c1 from t2 where t1.c2=t2.c2 limit "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -125601,7 +125601,7 @@ SQL: select * from (select * from t1 where c1 > 1 + (select avg(c2) from t2)) as "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -125737,7 +125737,7 @@ SQL: select * from (select * from t1 where c1 > 1 + (select avg(c2) from t2)) as "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -125917,7 +125917,7 @@ SQL: select * from (select * from t1 where c1 > 1 + (select avg(c2) from t2)) as "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -126016,7 +126016,7 @@ SQL: select * from (select * from t1 where c1 > 1 + (select avg(c2) from t2)) as "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -127082,7 +127082,7 @@ SQL: select * from t1 where c1 > 1 + (select avg(c2) from t2); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -127218,7 +127218,7 @@ SQL: select * from t1 where c1 > 1 + (select avg(c2) from t2); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -127398,7 +127398,7 @@ SQL: select * from t1 where c1 > 1 + (select avg(c2) from t2); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -127497,7 +127497,7 @@ SQL: select * from t1 where c1 > 1 + (select avg(c2) from t2); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -128978,7 +128978,7 @@ SQL: select * from (select * from t1 where c1 > 1 + (select avg(c2) from t2)) as "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -129114,7 +129114,7 @@ SQL: select * from (select * from t1 where c1 > 1 + (select avg(c2) from t2)) as "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -129294,7 +129294,7 @@ SQL: select * from (select * from t1 where c1 > 1 + (select avg(c2) from t2)) as "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -129393,7 +129393,7 @@ SQL: select * from (select * from t1 where c1 > 1 + (select avg(c2) from t2)) as "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -130874,7 +130874,7 @@ SQL: select * from t1, t3 where t1.c1 > 1 + (select avg(c2) from t2); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -131010,7 +131010,7 @@ SQL: select * from t1, t3 where t1.c1 > 1 + (select avg(c2) from t2); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -131190,7 +131190,7 @@ SQL: select * from t1, t3 where t1.c1 > 1 + (select avg(c2) from t2); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -131289,7 +131289,7 @@ SQL: select * from t1, t3 where t1.c1 > 1 + (select avg(c2) from t2); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -132906,7 +132906,7 @@ SQL: select * from (select * from t1 where c1 > 1 + (select avg(c2) from t2)) as "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -133042,7 +133042,7 @@ SQL: select * from (select * from t1 where c1 > 1 + (select avg(c2) from t2)) as "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -133222,7 +133222,7 @@ SQL: select * from (select * from t1 where c1 > 1 + (select avg(c2) from t2)) as "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -133321,7 +133321,7 @@ SQL: select * from (select * from t1 where c1 > 1 + (select avg(c2) from t2)) as "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -134819,7 +134819,7 @@ SQL: select * from t1, t3 where t1.c1 > 1 + (select avg(c2) from t2); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -134955,7 +134955,7 @@ SQL: select * from t1, t3 where t1.c1 > 1 + (select avg(c2) from t2); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -135135,7 +135135,7 @@ SQL: select * from t1, t3 where t1.c1 > 1 + (select avg(c2) from t2); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -135234,7 +135234,7 @@ SQL: select * from t1, t3 where t1.c1 > 1 + (select avg(c2) from t2); "dl":"", "type":0 }, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -144018,7 +144018,7 @@ SQL: select * from t1 where c1 >ANY (select c1 from t2) and t1.c1 - 10 < 5; "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -144195,7 +144195,7 @@ SQL: select * from t1 where c1 >ANY (select c1 from t2) and t1.c1 - 10 < 5; "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -145568,7 +145568,7 @@ SQL: select * from (select * from t1 where c1 >ANY (select c1 from t2)) as v whe "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -145692,7 +145692,7 @@ SQL: select * from (select * from t1 where c1 >ANY (select c1 from t2)) as v whe "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -147363,7 +147363,7 @@ SQL: select * from t1 where c1 >ANY (select c1 from t2) and t1.c1 < 10; "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -148978,7 +148978,7 @@ SQL: select * from (select * from t1 where c1 10; "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -152892,7 +152892,7 @@ SQL: select * from t1 where c1 10; "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -156162,7 +156162,7 @@ SQL: select * from t1 where 1 < ANY(select c1 from t2) and t1.c1 - 10 = 10; "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null >>>>>>> de0eba8f08f... GIS sql syntax }, @@ -156472,7 +156472,7 @@ SQL: select * from t1 where 1 < ANY(select c1 from t2) and t1.c1 - 10 = 10; "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } >>>>>>> de0eba8f08f... GIS sql syntax @@ -157966,7 +157966,7 @@ SQL: select * from (select * from t1 where 1 < ANY(select c1 from t2 limit 1)) a "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } >>>>>>> de0eba8f08f... GIS sql syntax @@ -163121,7 +163121,7 @@ SQL: select * from (select * from t1 where Exists (select c1 from t2 where t1.c2 "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -163283,7 +163283,7 @@ SQL: select * from (select * from t1 where Exists (select c1 from t2 where t1.c2 "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -165176,7 +165176,7 @@ SQL: select * from t1 where Exists (select c1 from t2 where t1.c2=t2.c2) and t1. "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, "is_alias":false, @@ -165344,7 +165344,7 @@ SQL: select * from t1 where Exists (select c1 from t2 where t1.c2=t2.c2) and t1. "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null }, { @@ -165506,7 +165506,7 @@ SQL: select * from t1 where Exists (select c1 from t2 where t1.c2=t2.c2) and t1. "type":0 }, "linear_inter_expr":null, - "is_nested_aggr":false, + "expr_in_inner_stmt":false, "pl_agg_udf_expr":null } ], @@ -168260,7 +168260,7 @@ SQL: select * from (select (c1 + 1) as k from t1 where c1