[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);
|
||||
if (!need_destruct && OB_SUCCESS != ret) {
|
||||
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) {
|
||||
|
||||
@ -111,7 +111,7 @@ public:
|
||||
need_end_nested_stmt_(EST_NEED_NOT),
|
||||
mem_context_(nullptr),
|
||||
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),
|
||||
sql_ctx_(),
|
||||
schema_guard_(share::schema::ObSchemaMgrItem::MOD_SPI_RESULT_SET),
|
||||
|
||||
Reference in New Issue
Block a user