[CP] to issue<53631508>:fix goto infinite loop issue

This commit is contained in:
hanr881
2023-12-13 15:43:09 +00:00
committed by ob-robot
parent 7a2cbf8873
commit 4d018f87fd

View File

@ -3025,7 +3025,15 @@ int ObPLCodeGenerateVisitor::visit(const ObPLGotoStmt &s)
}\
}\
if (OB_SUCC(ret)) { \
if (OB_SUCC(ret) && OB_FAIL(generator_.get_helper().create_br(goto_dst))) { \
ObSEArray<ObLLVMValue, 1> args; \
ObLLVMValue result; \
if (OB_FAIL(args.push_back(generator_.get_vars().at(generator_.CTX_IDX)))) { \
LOG_WARN("fail to push back.", K(ret)); \
} else if (OB_FAIL(generator_.get_helper().create_call(ObString("check_early_exit"), generator_.get_spi_service().spi_check_early_exit_, args, result))) { \
LOG_WARN("fail to create call check_early_exit", K(ret)); \
} else if (OB_FAIL(generator_.check_success(result, s.get_stmt_id(), s.get_block()->in_notfound(), s.get_block()->in_warning()))) { \
LOG_WARN("fail to check success", K(ret)); \
} else if (OB_FAIL(generator_.get_helper().create_br(goto_dst))) { \
LOG_WARN("failed to create br instr", K(ret)); \
}\
}\