From 0e7a420e83958ff158a66a7cc8262ede2d013755 Mon Sep 17 00:00:00 2001 From: Hongze Cheng Date: Fri, 1 Apr 2022 03:35:43 +0000 Subject: [PATCH] fix another bug --- source/libs/tdb/src/db/tdbBtree.c | 14 +++++++------- source/libs/tdb/src/db/tdbPager.c | 1 + 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/source/libs/tdb/src/db/tdbBtree.c b/source/libs/tdb/src/db/tdbBtree.c index 51cd5fbffc..740e665cd2 100644 --- a/source/libs/tdb/src/db/tdbBtree.c +++ b/source/libs/tdb/src/db/tdbBtree.c @@ -482,6 +482,13 @@ static int tdbBtreeBalanceNonRoot(SBTree *pBt, SPage *pParent, int idx) { ASSERT(0); return -1; } + + ret = tdbPagerWrite(pBt->pPager, pOlds[i]); + if (ret < 0) { + // TODO + ASSERT(0); + return -1; + } } // copy the parent key out if child pages are not leaf page childNotLeaf = !TDB_BTREE_PAGE_IS_LEAF(pOlds[0]); @@ -495,13 +502,6 @@ static int tdbBtreeBalanceNonRoot(SBTree *pBt, SPage *pParent, int idx) { } if (i < nOlds - 1) { - ret = tdbPagerWrite(pBt->pPager, pOlds[i]); - if (ret < 0) { - // TODO - ASSERT(0); - return -1; - } - ((SPgno *)pDivCell[i])[0] = ((SIntHdr *)pOlds[i]->pData)->pgno; ((SIntHdr *)pOlds[i]->pData)->pgno = 0; tdbPageInsertCell(pOlds[i], TDB_PAGE_TOTAL_CELLS(pOlds[i]), pDivCell[i], szDivCell[i], 1); diff --git a/source/libs/tdb/src/db/tdbPager.c b/source/libs/tdb/src/db/tdbPager.c index c570e47c0e..2bc40a6aad 100644 --- a/source/libs/tdb/src/db/tdbPager.c +++ b/source/libs/tdb/src/db/tdbPager.c @@ -214,6 +214,7 @@ int tdbPagerCommit(SPager *pPager) { tdbOsClose(pPager->jfd); tdbOsRemove(pPager->jFileName); pPager->dbOrigSize = pPager->dbFileSize; + pPager->inTran = 0; return 0; }