diff --git a/src/observer/mysql/obmp_query.cpp b/src/observer/mysql/obmp_query.cpp index a8cfc5d0f1..3b43d55fcc 100644 --- a/src/observer/mysql/obmp_query.cpp +++ b/src/observer/mysql/obmp_query.cpp @@ -326,7 +326,7 @@ int ObMPQuery::process() //FIXME qianfu NG_TRACE_EXT(set_disconnect, OB_ID(disconnect), true, OB_ID(pos), "multi stmt begin"); if (OB_UNLIKELY(parse_stat.parse_fail_ && (i == parse_stat.fail_query_idx_) - && (OB_ERR_PARSE_SQL != parse_stat.fail_ret_))) { + && ObSQLUtils::check_need_disconnect_parser_err(parse_stat.fail_ret_))) { // 进入本分支,说明在multi_query中的某条query parse失败,如果不是语法错,则进入该分支 // 如果当前query_count 为1, 则不断连接;如果大于1, // 则需要在发错误包之后断连接,防止客户端一直在等接下来的回包 diff --git a/src/observer/mysql/obmp_stmt_prepare.cpp b/src/observer/mysql/obmp_stmt_prepare.cpp index 454ff4fc88..720e1ff6ec 100644 --- a/src/observer/mysql/obmp_stmt_prepare.cpp +++ b/src/observer/mysql/obmp_stmt_prepare.cpp @@ -128,7 +128,7 @@ int ObMPStmtPrepare::multiple_query_check(ObSQLSessionInfo &session, LOG_WARN("can't not prepare multi stmt", K(ret), K(queries.count())); } else { if (OB_UNLIKELY(parse_stat.parse_fail_ && (0 == parse_stat.fail_query_idx_) - && (OB_ERR_PARSE_SQL != parse_stat.fail_ret_))) { + && ObSQLUtils::check_need_disconnect_parser_err(parse_stat.fail_ret_))) { // 进入本分支,说明在multi_query中的某条query parse失败,如果不是语法错,则进入该分支 // 如果当前query_count 为1, 则不断连接;如果大于1, // 则需要在发错误包之后断连接,防止客户端一直在等接下来的回包 diff --git a/src/observer/virtual_table/ob_all_virtual_diag_index_scan.cpp b/src/observer/virtual_table/ob_all_virtual_diag_index_scan.cpp index 2f472bdd26..7049da8c73 100644 --- a/src/observer/virtual_table/ob_all_virtual_diag_index_scan.cpp +++ b/src/observer/virtual_table/ob_all_virtual_diag_index_scan.cpp @@ -34,8 +34,10 @@ int ObAllVirtualDiagIndexScan::set_index_ids(const common::ObIArray