From 4238d6945c8a19e8cf2b50bec5d00f9df514097b Mon Sep 17 00:00:00 2001 From: wangxiumin Date: Fri, 28 Oct 2022 17:17:01 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=B4=A6=E6=9C=AC=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=BA=93=E5=8E=86=E5=8F=B2=E8=A1=A8=E4=B8=AD=E4=B8=BB?= =?UTF-8?q?=E9=94=AErec=5Fnum=E5=AD=97=E6=AE=B5=E9=87=8D=E5=A4=8D=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/gausskernel/security/gs_ledger/ledger_archive.cpp | 1 + src/gausskernel/security/gs_ledger/ledger_utils.cpp | 3 +-- src/gausskernel/security/gs_ledger/userchain.cpp | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/gausskernel/security/gs_ledger/ledger_archive.cpp b/src/gausskernel/security/gs_ledger/ledger_archive.cpp index 62647711bf..82d0341c0d 100644 --- a/src/gausskernel/security/gs_ledger/ledger_archive.cpp +++ b/src/gausskernel/security/gs_ledger/ledger_archive.cpp @@ -482,6 +482,7 @@ Datum ledger_hist_archive(PG_FUNCTION_ARGS) /* Do insertion for unified row. */ simple_heap_insert(histRel, tuple); + CatalogUpdateIndexes(histRel,tuple); heap_freetuple(tuple); /* diff --git a/src/gausskernel/security/gs_ledger/ledger_utils.cpp b/src/gausskernel/security/gs_ledger/ledger_utils.cpp index b3e1bb5480..66dac7d7cd 100644 --- a/src/gausskernel/security/gs_ledger/ledger_utils.cpp +++ b/src/gausskernel/security/gs_ledger/ledger_utils.cpp @@ -160,8 +160,7 @@ uint64 get_next_recnum(Oid histoid) uint64 res; RecNumItem *item = (RecNumItem *)hash_search(g_recnum_cache, &histoid, HASH_FIND, &found); if (found) { - res = item->rec_num; - pg_atomic_add_fetch_u64(&item->rec_num, 1); + res = pg_atomic_fetch_add_u64(&item->rec_num, 1); } else { LWLockRelease(BlockchainVersionLock); LWLockAcquire(BlockchainVersionLock, LW_EXCLUSIVE); diff --git a/src/gausskernel/security/gs_ledger/userchain.cpp b/src/gausskernel/security/gs_ledger/userchain.cpp index 68dc66dcd2..ce9369ad4c 100644 --- a/src/gausskernel/security/gs_ledger/userchain.cpp +++ b/src/gausskernel/security/gs_ledger/userchain.cpp @@ -512,6 +512,7 @@ bool hist_table_record_internal(Oid hist_oid, const uint64 *hash_ins, const uint HeapTuple tuple = heap_form_tuple(hist_desc, values, nulls); simple_heap_insert(hist_rel, tuple); + CatalogUpdateIndexes(hist_rel,tuple); heap_freetuple(tuple); heap_close(hist_rel, RowExclusiveLock); -- Gitee