diff --git a/source/libs/tdb/src/db/tdbPgFile.c b/source/libs/tdb/src/db/tdbPgFile.c index 55a89aae63..ee5b486f7b 100644 --- a/source/libs/tdb/src/db/tdbPgFile.c +++ b/source/libs/tdb/src/db/tdbPgFile.c @@ -162,13 +162,24 @@ int pgFileWrite(SPage *pPage) { } int pgFileAllocatePage(SPgFile *pPgFile, pgno_t *pPgno) { - pgno_t pgno; + pgno_t pgno; + SPage1 * pPage1; + SPgCache *pPgCache; + pgid_t pgid; + SPage * pPage; if (pPgFile->lsize == 0) { pgno = ++(pPgFile->lsize); } else { if (0) { // TODO: allocate from the free list + pPage = pgCacheFetch(pPgCache, pgid); + + if (pPage1->nFree > 0) { + // TODO + } else { + pgno = ++(pPgFile->lsize); + } } else { pgno = ++(pPgFile->lsize); } diff --git a/source/libs/tdb/test/tdbTest.cpp b/source/libs/tdb/test/tdbTest.cpp index fc4cc31cda..5ab0b4c0f1 100644 --- a/source/libs/tdb/test/tdbTest.cpp +++ b/source/libs/tdb/test/tdbTest.cpp @@ -9,7 +9,7 @@ TEST(tdb_test, simple_test) { cachesz_t cacheSize = 10240; // ENV - GTEST_ASSERT_EQ(tdbEnvCreate(&pEnv, "./tdbtest"), 0); + GTEST_ASSERT_EQ(tdbEnvCreate(&pEnv, "./testtdb"), 0); GTEST_ASSERT_EQ(tdbEnvSetCache(pEnv, pgSize, cacheSize), 0);