From 47f3b002843ae194f1fe9ba0f86f0b003abf95d6 Mon Sep 17 00:00:00 2001 From: prabatuty Date: Sun, 17 Jun 2007 09:49:52 +0000 Subject: [PATCH] Config file values --- include/Config.h | 8 +++++--- include/os.h | 2 +- src/server/Config.cxx | 2 ++ src/server/Connection.cxx | 2 +- src/server/Database.cxx | 8 ++++---- src/server/DatabaseManagerImpl.cxx | 32 ++++++++++++++++---------------- src/server/LockManager.cxx | 8 ++++---- src/server/Server.cxx | 2 +- src/server/SessionImpl.cxx | 28 ++++++++++++++-------------- src/server/TableImpl.cxx | 5 +++-- src/server/TransactionManager.cxx | 4 ++-- 11 files changed, 53 insertions(+), 48 deletions(-) diff --git a/include/Config.h b/include/Config.h index 9a2cf93c..2982d587 100644 --- a/include/Config.h +++ b/include/Config.h @@ -75,9 +75,11 @@ class Config inline int getMutexUSecs() { return cVal.mutexUSecs; } }; - -//Global object -static Config config; +class Conf +{ + public: + static Config config; +}; #endif diff --git a/include/os.h b/include/os.h index 43ea0b9e..31df9f58 100644 --- a/include/os.h +++ b/include/os.h @@ -88,7 +88,7 @@ enum MapMode #define DBAPASS "manager" #define LOCK_BUCKET_SIZE 2048 #define MAX_CHUNKS 20 -#define PAGE_SIZE config.getPageSize() +#define PAGE_SIZE Conf::config.getPageSize() typedef key_t shared_memory_key; diff --git a/src/server/Config.cxx b/src/server/Config.cxx index c8125388..301c65da 100644 --- a/src/server/Config.cxx +++ b/src/server/Config.cxx @@ -17,6 +17,8 @@ #include #include +Config Conf::config; + int Config::readLine(FILE *fp, char * buffer) { char c =0; diff --git a/src/server/Connection.cxx b/src/server/Connection.cxx index 7dd754b4..102ddf05 100644 --- a/src/server/Connection.cxx +++ b/src/server/Connection.cxx @@ -37,7 +37,7 @@ DbRetVal Connection::open(const char *username, const char *password) printError(ErrAlready, "User already logged in"); return ErrAlready; } - DbRetVal rv = logger.startLogger(config.getLogFile()); + DbRetVal rv = logger.startLogger(Conf::config.getLogFile()); if (rv != OK) { delete session; session = NULL; return rv; } logFinest(logger, "User logged in %s",username); rv = session->open(username, password); diff --git a/src/server/Database.cxx b/src/server/Database.cxx index 0ec9fe7e..8a57e005 100644 --- a/src/server/Database.cxx +++ b/src/server/Database.cxx @@ -401,7 +401,7 @@ ProcInfo* Database::getProcInfo(int pidSlot) { size_t offset = os::alignLong(sizeof (DatabaseMetaData)); offset = offset + os::alignLong( MAX_CHUNKS * sizeof (Chunk)); - offset = offset + os::alignLong( config.getMaxTrans() * sizeof(Transaction)); + offset = offset + os::alignLong( Conf::config.getMaxTrans() * sizeof(Transaction)); offset = offset + pidSlot * sizeof (ProcInfo); return (ProcInfo*)(((char*) metaData_) + offset); } @@ -410,8 +410,8 @@ ThreadInfo* Database::getThreadInfo(int pidSlot, int thrSlot) { size_t offset = os::alignLong(sizeof (DatabaseMetaData)); offset = offset + os::alignLong( MAX_CHUNKS * sizeof (Chunk)); - offset = offset + os::alignLong( config.getMaxTrans() * sizeof(Transaction)); - offset = offset + os::alignLong( config.getMaxProcs() * sizeof(ProcInfo)); + offset = offset + os::alignLong( Conf::config.getMaxTrans() * sizeof(Transaction)); + offset = offset + os::alignLong( Conf::config.getMaxProcs() * sizeof(ProcInfo)); offset = offset + pidSlot * thrSlot * sizeof (ThreadInfo); return (ThreadInfo*)(((char*) metaData_) + offset); } @@ -428,7 +428,7 @@ bool Database::isLastThread() ThreadInfo *tInfo = getThreadInfo(pid, 0); int regThr = 0; - for (int i=0; i < config.getMaxThreads(); i++) + for (int i=0; i < Conf::config.getMaxThreads(); i++) { if (0 != tInfo->thrid_) regThr++; tInfo++; diff --git a/src/server/DatabaseManagerImpl.cxx b/src/server/DatabaseManagerImpl.cxx index ac4cbabb..631b2649 100644 --- a/src/server/DatabaseManagerImpl.cxx +++ b/src/server/DatabaseManagerImpl.cxx @@ -88,17 +88,17 @@ DbRetVal DatabaseManagerImpl::createDatabase(const char *name, size_t size) caddr_t rtnAddr = (caddr_t) NULL; shared_memory_id shm_id = 0; - char *startaddr = (char*)config.getMapAddress(); + char *startaddr = (char*)Conf::config.getMapAddress(); shared_memory_key key = 0; if (0 == strcmp(name, SYSTEMDB)) { - key = config.getSysDbKey(); + key = Conf::config.getSysDbKey(); } else { - startaddr = startaddr + config.getMaxSysDbSize(); - key = config.getUserDbKey(); + startaddr = startaddr + Conf::config.getMaxSysDbSize(); + key = Conf::config.getUserDbKey(); } shm_id = os::shm_create(key, size, 0666); if (-1 == shm_id) @@ -135,10 +135,10 @@ DbRetVal DatabaseManagerImpl::createDatabase(const char *name, size_t size) if (0 == strcmp(name, SYSTEMDB)) { offset = offset + os::alignLong( MAX_CHUNKS * sizeof (Chunk)); - offset = offset + os::alignLong( config.getMaxTrans() * sizeof(Transaction)); - offset = offset + os::alignLong( config.getMaxProcs() * sizeof(ProcInfo)); - offset = offset + os::alignLong( config.getMaxProcs() * - config.getMaxThreads() * sizeof(ThreadInfo)); + offset = offset + os::alignLong( Conf::config.getMaxTrans() * sizeof(Transaction)); + offset = offset + os::alignLong( Conf::config.getMaxProcs() * sizeof(ProcInfo)); + offset = offset + os::alignLong( Conf::config.getMaxProcs() * + Conf::config.getMaxThreads() * sizeof(ThreadInfo)); } int multiple = os::floor(offset / PAGE_SIZE); char *curPage = (((char*)rtnAddr) + ((multiple + 1) * PAGE_SIZE)); @@ -169,10 +169,10 @@ DbRetVal DatabaseManagerImpl::deleteDatabase(const char *name) shared_memory_id shm_id = 0; if (0 == strcmp(name, SYSTEMDB)) { - shm_id = os::shm_open(config.getSysDbKey(), 100, 0666); + shm_id = os::shm_open(Conf::config.getSysDbKey(), 100, 0666); os::shmctl(shm_id, IPC_RMID); } else { - shm_id = os::shm_open(config.getUserDbKey(), 100, 0666); + shm_id = os::shm_open(Conf::config.getUserDbKey(), 100, 0666); os::shmctl(shm_id, IPC_RMID); } logFinest(logger, "Deleted database %s" , name); @@ -182,8 +182,8 @@ DbRetVal DatabaseManagerImpl::deleteDatabase(const char *name) DbRetVal DatabaseManagerImpl::openDatabase(const char *name) { - long size = config.getMaxSysDbSize(); - char *startaddr = (char*)config.getMapAddress(); + long size = Conf::config.getMaxSysDbSize(); + char *startaddr = (char*)Conf::config.getMapAddress(); if (0 == strcmp(name , SYSTEMDB)) { if (NULL !=systemDatabase_) @@ -199,8 +199,8 @@ DbRetVal DatabaseManagerImpl::openDatabase(const char *name) printError(ErrNotOpen, "System Database not open"); return ErrNotOpen; } - size = config.getMaxDbSize(); - startaddr = startaddr + config.getMaxSysDbSize(); + size = Conf::config.getMaxDbSize(); + startaddr = startaddr + Conf::config.getMaxSysDbSize(); } if (NULL != db_) { @@ -222,9 +222,9 @@ DbRetVal DatabaseManagerImpl::openDatabase(const char *name) shared_memory_key key = 0; if (0 == strcmp(name, SYSTEMDB)) - key = config.getSysDbKey(); + key = Conf::config.getSysDbKey(); else - key = config.getUserDbKey(); + key = Conf::config.getUserDbKey(); shm_id = os::shm_open(key, size, 0666); if (shm_id == -1 ) { diff --git a/src/server/LockManager.cxx b/src/server/LockManager.cxx index a6962bf2..d5560aae 100644 --- a/src/server/LockManager.cxx +++ b/src/server/LockManager.cxx @@ -170,8 +170,8 @@ DbRetVal LockManager::getSharedLock(void *tuple, Transaction **trans) int tries = 0; int ret = 0; struct timeval timeout; - timeout.tv_sec = config.getMutexSecs(); - timeout.tv_usec = config.getMutexUSecs(); + timeout.tv_sec = Conf::config.getMutexSecs(); + timeout.tv_usec = Conf::config.getMutexUSecs(); //printDebug(DM_Lock, "Trying to get mutex: for bucket %x\n", bucket); while (tries < 100) @@ -312,8 +312,8 @@ DbRetVal LockManager::getExclusiveLock(void *tuple, Transaction **trans) int tries = 0; int ret = 0; struct timeval timeout; - timeout.tv_sec = config.getMutexSecs(); - timeout.tv_usec = config.getMutexUSecs(); + timeout.tv_sec = Conf::config.getMutexSecs(); + timeout.tv_usec = Conf::config.getMutexUSecs(); while (tries < 100) { diff --git a/src/server/Server.cxx b/src/server/Server.cxx index 68c237f6..0aef307b 100644 --- a/src/server/Server.cxx +++ b/src/server/Server.cxx @@ -35,7 +35,7 @@ int main() } os::signal(SIGINT, sigTermHandler); os::signal(SIGTERM, sigTermHandler); - rv = logger.startLogger(config.getLogFile(), true); + rv = logger.startLogger(Conf::config.getLogFile(), true); if (rv != OK) { printf("Unable to start the logger\n"); diff --git a/src/server/SessionImpl.cxx b/src/server/SessionImpl.cxx index 42442704..3d6b47d9 100644 --- a/src/server/SessionImpl.cxx +++ b/src/server/SessionImpl.cxx @@ -36,17 +36,17 @@ DbRetVal SessionImpl::initSystemDatabase() return ErrSysInit; } printf("ConfigValues\n"); - printf(" getPageSize %d\n", config.getPageSize()); - printf(" getMaxTrans %d\n", config.getMaxTrans()); - printf(" getMaxProcs %d\n", config.getMaxProcs()); - printf(" getMaxSysDbSize %ld\n", config.getMaxSysDbSize()); - printf(" getMaxDbSize %ld\n", config.getMaxDbSize()); - printf(" getSysDbKey %d\n", config.getSysDbKey()); - printf(" getUserDbKey %d\n", config.getUserDbKey()); - printf(" getLogFile %s\n", config.getLogFile()); - printf(" getMapAddress %ld\n", config.getMapAddress()); - printf(" getMutexSecs %d\n", config.getMutexSecs()); - printf(" getMutexUSecs %d\n", config.getMutexUSecs()); + printf(" getPageSize %d\n", Conf::config.getPageSize()); + printf(" getMaxTrans %d\n", Conf::config.getMaxTrans()); + printf(" getMaxProcs %d\n", Conf::config.getMaxProcs()); + printf(" getMaxSysDbSize %ld\n", Conf::config.getMaxSysDbSize()); + printf(" getMaxDbSize %ld\n", Conf::config.getMaxDbSize()); + printf(" getSysDbKey %d\n", Conf::config.getSysDbKey()); + printf(" getUserDbKey %d\n", Conf::config.getUserDbKey()); + printf(" getLogFile %s\n", Conf::config.getLogFile()); + printf(" getMapAddress %ld\n", Conf::config.getMapAddress()); + printf(" getMutexSecs %d\n", Conf::config.getMutexSecs()); + printf(" getMutexUSecs %d\n", Conf::config.getMutexUSecs()); dbMgr = new DatabaseManagerImpl(); @@ -55,7 +55,7 @@ DbRetVal SessionImpl::initSystemDatabase() //TODO:No of chunks of system database->config parameter //This limits the total number of catalog tables system shall support. - rv = dbMgr->createDatabase(SYSTEMDB, config.getMaxSysDbSize()); + rv = dbMgr->createDatabase(SYSTEMDB, Conf::config.getMaxSysDbSize()); if (OK != rv) return rv; dbMgr->setSysDb(dbMgr->db()); dbMgr->setDb(NULL); @@ -93,7 +93,7 @@ DbRetVal SessionImpl::initSystemDatabase() db->releaseDatabaseMutex(); //create user database - rv = dbMgr->createDatabase("praba", config.getMaxDbSize()); + rv = dbMgr->createDatabase("praba", Conf::config.getMaxDbSize()); if (OK != rv) return rv; return OK; } @@ -279,7 +279,7 @@ DbRetVal SessionImpl::readConfigFile() return ErrSysInit; } - int rv = config.readAllValues(confFilename); + int rv = Conf::config.readAllValues(confFilename); if (rv != 0) return ErrSysInit; return OK; } diff --git a/src/server/TableImpl.cxx b/src/server/TableImpl.cxx index 7e3e976e..73413269 100644 --- a/src/server/TableImpl.cxx +++ b/src/server/TableImpl.cxx @@ -32,6 +32,7 @@ DbRetVal TableImpl::bindFld(const char *name, void *val) printError(ErrNotExists, "Field %s does not exist", name); return rv; } + return OK; } bool TableImpl::isFldNull(const char *name){ return true; @@ -169,8 +170,8 @@ void* TableImpl::fetchNoBind() //so release it here itself. int tries = 5; struct timeval timeout; - timeout.tv_sec = config.getMutexSecs(); - timeout.tv_usec = config.getMutexUSecs(); + timeout.tv_sec = Conf::config.getMutexSecs(); + timeout.tv_usec = Conf::config.getMutexUSecs(); bool status = false; while(true) { diff --git a/src/server/TransactionManager.cxx b/src/server/TransactionManager.cxx index febd4d9a..cf842060 100644 --- a/src/server/TransactionManager.cxx +++ b/src/server/TransactionManager.cxx @@ -34,13 +34,13 @@ DbRetVal TransactionManager::startTransaction(IsolationLevel level) } Transaction *iter = firstTrans; int i; - for (i =0 ; i < config.getMaxTrans(); i++) + for (i =0 ; i < Conf::config.getMaxTrans(); i++) { if (iter->status_ == TransNotUsed) break; iter++; } // if Transaction table is full return error - if (i == config.getMaxTrans()) { + if (i == Conf::config.getMaxTrans()) { printError(ErrNoResource, "Transaction slots are full"); return ErrNoResource; } -- 2.11.4.GIT