Fix functional index blacklist bug and cherry-pick commits

This commit is contained in:
2149
2023-08-02 04:48:17 +00:00
committed by ob-robot
parent 1ebe477f5e
commit 56c2af43e5
5 changed files with 6 additions and 5 deletions

View File

@ -26,7 +26,7 @@ namespace sql
{ {
ObExprLocate::ObExprLocate(ObIAllocator &alloc) ObExprLocate::ObExprLocate(ObIAllocator &alloc)
: ObLocationExprOperator(alloc, T_FUN_SYS_LOCATE, N_LOCATE, TWO_OR_THREE, NOT_VALID_FOR_GENERATED_COL, NOT_ROW_DIMENSION) {} : ObLocationExprOperator(alloc, T_FUN_SYS_LOCATE, N_LOCATE, TWO_OR_THREE, NOT_ROW_DIMENSION) {}
ObExprLocate::~ObExprLocate() ObExprLocate::~ObExprLocate()
{ {

View File

@ -981,7 +981,7 @@ class ObFuncExprOperator : public ObExprOperator
public: public:
ObFuncExprOperator(common::ObIAllocator &alloc, ObExprOperatorType type, const char *name, int32_t param_num, ObValidForGeneratedColFlag valid_for_generated_col, int32_t dimension, ObFuncExprOperator(common::ObIAllocator &alloc, ObExprOperatorType type, const char *name, int32_t param_num, ObValidForGeneratedColFlag valid_for_generated_col, int32_t dimension,
bool is_internal_for_mysql = false, bool is_internal_for_oracle = false) bool is_internal_for_mysql = false, bool is_internal_for_oracle = false)
: ObExprOperator(alloc, type, name, param_num, valid_for_generated_col, dimension, is_internal_for_oracle) : ObExprOperator(alloc, type, name, param_num, valid_for_generated_col, dimension, is_internal_for_mysql, is_internal_for_oracle)
{}; {};
virtual ~ObFuncExprOperator() {}; virtual ~ObFuncExprOperator() {};

View File

@ -31,7 +31,7 @@ namespace sql
ObIExprSTGeomFromWKB::ObIExprSTGeomFromWKB(common::ObIAllocator &alloc, ObExprOperatorType type, ObIExprSTGeomFromWKB::ObIExprSTGeomFromWKB(common::ObIAllocator &alloc, ObExprOperatorType type,
const char *name, int32_t param_num, ObValidForGeneratedColFlag valid_for_generated_col, int32_t dimension) const char *name, int32_t param_num, ObValidForGeneratedColFlag valid_for_generated_col, int32_t dimension)
: ObFuncExprOperator(alloc, type, name, param_num, valid_for_generated_col, NOT_VALID_FOR_GENERATED_COL, dimension) : ObFuncExprOperator(alloc, type, name, param_num, valid_for_generated_col, dimension)
{ {
} }

View File

@ -2029,7 +2029,7 @@ int ObTransformPredicateMoveAround::pushdown_through_groupby(
generalized_columns, stmt.get_group_exprs())) { generalized_columns, stmt.get_group_exprs())) {
// do nothing // do nothing
OPT_TRACE(pred, "has none group by expr, can not pushdown"); OPT_TRACE(pred, "has none group by expr, can not pushdown");
} else if (is_mysql_mode() && ObOptimizerUtil::overlap_exprs( } else if (ObOptimizerUtil::overlap_exprs(
generalized_columns, stmt.get_rollup_exprs())) { generalized_columns, stmt.get_rollup_exprs())) {
//do nothing //do nothing
OPT_TRACE(pred, "has rollup expr in mysql mode, can not pushdown"); OPT_TRACE(pred, "has rollup expr in mysql mode, can not pushdown");

View File

@ -130,7 +130,8 @@ int ObTransformSimplifyOrderby::remove_order_by_for_view_stmt(ObDMLStmt *stmt, b
if (OB_ISNULL(aggr_items.at(i))) { if (OB_ISNULL(aggr_items.at(i))) {
ret = OB_ERR_UNEXPECTED; ret = OB_ERR_UNEXPECTED;
LOG_WARN("unexpected null", K(ret), K(aggr_items)); LOG_WARN("unexpected null", K(ret), K(aggr_items));
} else if (T_FUN_WM_CONCAT == aggr_items.at(i)->get_expr_type()) { } else if (T_FUN_WM_CONCAT == aggr_items.at(i)->get_expr_type()
|| T_FUN_GROUP_CONCAT == aggr_items.at(i)->get_expr_type()) {
can_remove = false; can_remove = false;
} }
} }