Fix functional index blacklist bug and cherry-pick commits
This commit is contained in:
@ -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()
|
||||||
{
|
{
|
||||||
|
|||||||
@ -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() {};
|
||||||
|
|||||||
@ -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)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -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");
|
||||||
|
|||||||
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user