/* * Copyright (c) 2019 TAOS Data, Inc. * * This program is free software: you can use, redistribute, and/or modify * it under the terms of the GNU Affero General Public License, version 3 * or later ("AGPL"), as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ #include "tdbInt.h" struct STDb { SBTree btree; // current access method SPgFile *pPgFile; // backend page file this DB is using TENV * pEnv; // TENV containing the DB }; int tdbCreate(TDB **ppDb) { TDB *pDb; pDb = (TDB *)calloc(1, sizeof(*pDb)); if (pDb == NULL) { return -1; } /* TODO */ return 0; } static int tdbDestroy(TDB *pDb) { if (pDb) { free(pDb); } return 0; } int tdbOpen(TDB **ppDb, const char *fname, const char *dbname, TENV *pEnv) { TDB *pDb; int ret; // Create DB if DB handle is not created yet if (ppDb == NULL) { if ((ret = tdbCreate(ppDb)) != 0) { return -1; } } pDb = *ppDb; // Create a default ENV if pEnv is not set if (pEnv == NULL) { // if ((ret = tenvOpen(&pEnv)) != 0) { // return -1; // } } /* TODO */ return 0; } int tdbClose(TDB *pDb) { if (pDb == NULL) return 0; return tdbDestroy(pDb); }