#include "MyDb.hpp"
MyDb::MyDb(std::string &path, std::string &dbName,
bool isSecondary)
: db_(NULL, 0), dbFileName_(path + dbName), cFlags_(DB_CREATE) {
try
{
db_.set_error_stream(&std::cerr);
if (isSecondary)
db_.set_flags(DB_DUPSORT);
db_.open(NULL, dbFileName_.c_str(), NULL, DB_BTREE, cFlags_, 0);
}
catch(DbException &e)
{
std::cerr << "Error opening database: " << dbFileName_ << "\n";
std::cerr << e.what() << std::endl;
}
catch(std::exception &e)
{
std::cerr << "Error opening database: " << dbFileName_ << "\n";
std::cerr << e.what() << std::endl;
}
}
void
MyDb::close()
{
try
{
db_.close(0);
std::cout << "Database " << dbFileName_
<< " is closed." << std::endl;
}
catch(DbException &e)
{
std::cerr << "Error closing database: " << dbFileName_ << "\n";
std::cerr << e.what() << std::endl;
}
catch(std::exception &e)
{
std::cerr << "Error closing database: " << dbFileName_ << "\n";
std::cerr << e.what() << std::endl;
}
}