[to #50408284]spi_result need close result set first
This commit is contained in:
@ -3505,6 +3505,13 @@ int ObSPIService::spi_cursor_open(ObPLExecCtx *ctx,
|
|||||||
spi_result->end_cursor_stmt(ctx, ret);
|
spi_result->end_cursor_stmt(ctx, ret);
|
||||||
if (!need_destruct && OB_SUCCESS != ret) {
|
if (!need_destruct && OB_SUCCESS != ret) {
|
||||||
need_destruct = true;
|
need_destruct = true;
|
||||||
|
if (OB_NOT_NULL(spi_result->get_result_set())) {
|
||||||
|
// 此分支所有错误码都被吞掉,最终返回最初的错误码
|
||||||
|
int close_ret = spi_result->close_result_set();
|
||||||
|
if (OB_SUCCESS != close_ret) {
|
||||||
|
LOG_WARN("close mysql result set failed", K(ret), K(close_ret));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (need_destruct) {
|
if (need_destruct) {
|
||||||
|
|||||||
@ -111,7 +111,7 @@ public:
|
|||||||
need_end_nested_stmt_(EST_NEED_NOT),
|
need_end_nested_stmt_(EST_NEED_NOT),
|
||||||
mem_context_(nullptr),
|
mem_context_(nullptr),
|
||||||
mem_context_destroy_guard_(mem_context_),
|
mem_context_destroy_guard_(mem_context_),
|
||||||
allocator_(ObModIds::OB_PL_TEMP),
|
allocator_(ObModIds::OB_PL_TEMP, OB_MALLOC_NORMAL_BLOCK_SIZE, MTL_ID()),
|
||||||
result_set_(NULL),
|
result_set_(NULL),
|
||||||
sql_ctx_(),
|
sql_ctx_(),
|
||||||
schema_guard_(share::schema::ObSchemaMgrItem::MOD_SPI_RESULT_SET),
|
schema_guard_(share::schema::ObSchemaMgrItem::MOD_SPI_RESULT_SET),
|
||||||
|
|||||||
Reference in New Issue
Block a user