diff --git a/src/sql/rewrite/ob_transform_const_propagate.cpp b/src/sql/rewrite/ob_transform_const_propagate.cpp index a0713b007f643e6da9817b9cb127b06b2930b929..66d42c48e4bdca4cf50bdbf70b99b2ad3ba1d5b6 100644 --- a/src/sql/rewrite/ob_transform_const_propagate.cpp +++ b/src/sql/rewrite/ob_transform_const_propagate.cpp @@ -596,6 +596,7 @@ int ObTransformConstPropagate::recursive_collect_const_info_from_table(ObDMLStmt RIGHT_OUTER_JOIN == joined_table->joined_type_) { // FULL_OUT_JOIN is not transformed because may eliminate all equal join conditions ConstInfoContext tmp_ctx; + tmp_ctx.hint_allowed_trans_ = const_ctx.hint_allowed_trans_; bool left_happened = false; bool right_happened = false; bool condition_happened = false; @@ -1745,6 +1746,7 @@ int ObTransformConstPropagate::recursive_collect_equal_pair_from_condition(ObDML ObArray complex_infos; for (int64_t i = 0; OB_SUCC(ret) && i < expr->get_param_count(); ++i) { ConstInfoContext tmp_ctx; + tmp_ctx.hint_allowed_trans_ = const_ctx.hint_allowed_trans_; bool child_happened = false; bool current_happened = false; if (OB_FAIL(SMART_CALL(recursive_collect_equal_pair_from_condition(stmt,