コード例 #1
0
MojErr MojDbTestStorageEngine::open(const MojChar* path)
{
	MojErr err = checkErrMap(_T("engine.open"));
	MojErrCheck(err);

	MojAssert(m_engine.get());
	return m_engine->open(path, m_env->parentEnv().get());
}
コード例 #2
0
MojErr MojDbTestStorageEngine::drop(const MojChar* path, MojDbStorageTxn* txn)
{
	MojErr err = checkErrMap(_T("engine.drop"));
	MojErrCheck(err);

	MojAssert(m_engine.get());
	return m_engine->drop(path, txn);
}
コード例 #3
0
MojErr MojDbTestStorageEngine::configure(const MojObject& conf)
{
	MojErr err = checkErrMap(_T("engine.configure"));
	MojErrCheck(err);

	MojAssert(m_engine.get());
	return m_engine->configure(conf);
}
コード例 #4
0
MojErr MojDbTestStorageEngine::compact()
{
	MojErr err = checkErrMap(_T("engine.compact"));
	MojErrCheck(err);

	MojAssert(m_engine.get());
	return m_engine->compact();
}
コード例 #5
0
MojErr MojDbTestStorageEngine::openDatabase(const MojChar* name, MojDbStorageTxn* txn, MojRefCountedPtr<MojDbStorageDatabase>& dbOut)
{
	MojErr err = checkErrMap(_T("engine.openDatabase"));
	MojErrCheck(err);

	MojAssert(name && !dbOut.get());
	//open the actual storage database
	MojAssert(m_engine.get());
	MojRefCountedPtr<MojDbStorageDatabase> realDb;
	err = m_engine->openDatabase(name, MojTestTxn(txn), realDb);
	MojErrCheck(err);

	//create the test storage db as a wrapper
	MojRefCountedPtr<MojDbTestStorageDatabase> db(new MojDbTestStorageDatabase(realDb.get(), this));
	MojAllocCheck(db.get());
	dbOut = db;

	return MojErrNone;
}
コード例 #6
0
MojErr MojDbTestStorageEngine::openSequence(const MojChar* name, MojDbStorageTxn* txn, MojRefCountedPtr<MojDbStorageSeq>& seqOut)
{
	MojErr err = checkErrMap(_T("engine.openSequence"));
	MojErrCheck(err);

	MojAssert(name && !seqOut.get());
	//open the actual storage sequence
	MojAssert(m_engine.get());
	MojRefCountedPtr<MojDbStorageSeq> realSeq;
	err = m_engine->openSequence(name, MojTestTxn(txn), realSeq);
	MojErrCheck(err);

	//create the test storage seq as a wrapper
	MojRefCountedPtr<MojDbTestStorageSeq> seq(new MojDbTestStorageSeq(realSeq.get(), this));
	MojAllocCheck(seq.get());
	seqOut = seq;

	return MojErrNone;
}
コード例 #7
0
MojErr MojDbTestStorageEngine::beginTxn(MojRefCountedPtr<MojDbStorageTxn>& txnOut)
{
	MojErr err = checkErrMap(_T("engine.beginTxn"));
	MojErrCheck(err);

	MojAssert(m_engine.get());
	MojAssert(!txnOut.get());

	//create the real transaction
	MojRefCountedPtr<MojDbStorageTxn> realTxn;
	err = m_engine->beginTxn(realTxn);
	MojErrCheck(err);

	//create a test txn wrapper around the real txn
	MojRefCountedPtr<MojDbTestStorageTxn> txn(new MojDbTestStorageTxn(realTxn.get(), this));
	MojAllocCheck(txn.get());
	txnOut = txn;

	return MojErrNone;
}