From e8072563817467f4bcdc6765ae12da0f192b0436 Mon Sep 17 00:00:00 2001 From: wangxin Date: Wed, 4 Aug 2021 14:55:06 +0800 Subject: [PATCH] =?UTF-8?q?report=5Fiud=5Ftime=E5=87=BD=E6=95=B0=E4=B8=ADt?= =?UTF-8?q?ry=20catch=E8=B7=B3=E8=BD=AC=E5=90=8E=E9=94=81=E9=98=9F?= =?UTF-8?q?=E5=88=97=E6=B7=B7=E4=B9=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/gausskernel/runtime/executor/execMain.cpp | 29 +++++-------------- 1 file changed, 7 insertions(+), 22 deletions(-) diff --git a/src/gausskernel/runtime/executor/execMain.cpp b/src/gausskernel/runtime/executor/execMain.cpp index ed45b17a5..ce30c43f7 100644 --- a/src/gausskernel/runtime/executor/execMain.cpp +++ b/src/gausskernel/runtime/executor/execMain.cpp @@ -173,31 +173,16 @@ static void report_iud_time(QueryDesc *query) if (OidIsValid(rid) == false || rid < FirstNormalObjectId) { continue; } - MemoryContext current_ctx = CurrentMemoryContext; + Relation rel = NULL; - PG_TRY(); - { - rel = heap_open(rid, AccessShareLock); - if (rel->rd_rel->relkind == RELKIND_RELATION) { - if (rel->rd_rel->relpersistence == RELPERSISTENCE_PERMANENT || - rel->rd_rel->relpersistence == RELPERSISTENCE_UNLOGGED) { - pgstat_report_data_changed(rid, STATFLG_RELATION, rel->rd_rel->relisshared); - } - } - heap_close(rel, AccessShareLock); - } - PG_CATCH(); - { - (void)MemoryContextSwitchTo(current_ctx); - ErrorData *edata = CopyErrorData(); - ereport(DEBUG1, (errmsg("Failed to send data changed time, cause: %s", edata->message))); - FlushErrorState(); - FreeErrorData(edata); - if (rel != NULL) { - heap_close(rel, AccessShareLock); + rel = heap_open(rid, AccessShareLock); + if (rel->rd_rel->relkind == RELKIND_RELATION) { + if (rel->rd_rel->relpersistence == RELPERSISTENCE_PERMANENT || + rel->rd_rel->relpersistence == RELPERSISTENCE_UNLOGGED) { + pgstat_report_data_changed(rid, STATFLG_RELATION, rel->rd_rel->relisshared); } } - PG_END_TRY(); + heap_close(rel, AccessShareLock); } }