fix core at ~ObNonTerminalRawExpr()
This commit is contained in:
@ -394,6 +394,7 @@ int ObTransformRule::evaluate_cost(common::ObIArray<ObParentDMLStmt> &parent_stm
|
|||||||
} else {
|
} else {
|
||||||
LOG_DEBUG("get transformed heuristic rule stmt when evaluate_cost", K(*root_stmt));
|
LOG_DEBUG("get transformed heuristic rule stmt when evaluate_cost", K(*root_stmt));
|
||||||
CREATE_WITH_TEMP_CONTEXT(param) {
|
CREATE_WITH_TEMP_CONTEXT(param) {
|
||||||
|
ObRawExprFactory tmp_expr_factory(CURRENT_CONTEXT->get_arena_allocator());
|
||||||
HEAP_VAR(ObOptimizerContext, optctx,
|
HEAP_VAR(ObOptimizerContext, optctx,
|
||||||
ctx_->session_info_,
|
ctx_->session_info_,
|
||||||
ctx_->exec_ctx_,
|
ctx_->exec_ctx_,
|
||||||
@ -404,7 +405,7 @@ int ObTransformRule::evaluate_cost(common::ObIArray<ObParentDMLStmt> &parent_stm
|
|||||||
*ctx_->self_addr_,
|
*ctx_->self_addr_,
|
||||||
GCTX.srv_rpc_proxy_,
|
GCTX.srv_rpc_proxy_,
|
||||||
stmt->get_query_ctx()->get_global_hint(),
|
stmt->get_query_ctx()->get_global_hint(),
|
||||||
*ctx_->expr_factory_,
|
tmp_expr_factory,
|
||||||
root_stmt,
|
root_stmt,
|
||||||
false,
|
false,
|
||||||
ctx_->exec_ctx_->get_stmt_factory()->get_query_ctx()) {
|
ctx_->exec_ctx_->get_stmt_factory()->get_query_ctx()) {
|
||||||
|
@ -2459,6 +2459,7 @@ int ObTransformTempTable::evaluate_cte_cost(ObDMLStmt &root_stmt,
|
|||||||
LOG_WARN("failed to prepare eval cost stmt", K(ret));
|
LOG_WARN("failed to prepare eval cost stmt", K(ret));
|
||||||
} else {
|
} else {
|
||||||
CREATE_WITH_TEMP_CONTEXT(param) {
|
CREATE_WITH_TEMP_CONTEXT(param) {
|
||||||
|
ObRawExprFactory tmp_expr_factory(CURRENT_CONTEXT->get_arena_allocator());
|
||||||
HEAP_VAR(ObOptimizerContext, optctx,
|
HEAP_VAR(ObOptimizerContext, optctx,
|
||||||
ctx_->session_info_,
|
ctx_->session_info_,
|
||||||
ctx_->exec_ctx_,
|
ctx_->exec_ctx_,
|
||||||
@ -2469,7 +2470,7 @@ int ObTransformTempTable::evaluate_cte_cost(ObDMLStmt &root_stmt,
|
|||||||
*ctx_->self_addr_,
|
*ctx_->self_addr_,
|
||||||
GCTX.srv_rpc_proxy_,
|
GCTX.srv_rpc_proxy_,
|
||||||
root_stmt.get_query_ctx()->get_global_hint(),
|
root_stmt.get_query_ctx()->get_global_hint(),
|
||||||
*ctx_->expr_factory_,
|
tmp_expr_factory,
|
||||||
copy_root_stmt,
|
copy_root_stmt,
|
||||||
false,
|
false,
|
||||||
ctx_->exec_ctx_->get_stmt_factory()->get_query_ctx()) {
|
ctx_->exec_ctx_->get_stmt_factory()->get_query_ctx()) {
|
||||||
|
Reference in New Issue
Block a user