コード例 #1
0
	bool increment(llong* id, valvec<byte>* key) override {
		auto owner = static_cast<const MockReadonlyIndex*>(m_index.get());
		assert(nullptr != id);
		if (terark_likely(m_pos > 0)) {
			owner->getIndexKey(id, key, --m_pos);
			return true;
		}
		return false;
	}
コード例 #2
0
	int seekLowerBound(fstring key, llong* id, valvec<byte>* retKey) override {
		auto owner = static_cast<const MockReadonlyIndex*>(m_index.get());
		int ret = owner->forwardLowerBound(key, &m_pos);
		if (ret >= 0) {
			assert(m_pos < owner->m_ids.size());
			owner->getIndexKey(id, retKey, m_pos);
			m_pos++;
		}
		return ret;
	}
コード例 #3
0
	void reset() {
		auto owner = static_cast<const MockReadonlyIndex*>(m_index.get());
		m_pos = owner->m_ids.size();
	}
コード例 #4
0
	MockReadonlyIndexIterBackward(const MockReadonlyIndex* owner) {
		m_isUniqueInSchema = owner->m_schema->m_isUnique;
		m_index.reset(const_cast<MockReadonlyIndex*>(owner));
		m_pos = owner->m_ids.size();
	}
コード例 #5
0
	MockReadonlyIndexIterator(const MockReadonlyIndex* owner) {
		m_isUniqueInSchema = owner->m_schema->m_isUnique;
		m_index.reset(const_cast<MockReadonlyIndex*>(owner));
		m_pos = 0;
	}
コード例 #6
0
ファイル: mock_db_engine.cpp プロジェクト: Strongc/nark-db
	MockReadonlyIndexIterBackward(const MockReadonlyIndex* owner) {
		m_index.reset(const_cast<MockReadonlyIndex*>(owner));
		m_pos = owner->m_ids.size();
	}
コード例 #7
0
ファイル: mock_db_engine.cpp プロジェクト: Strongc/nark-db
	MockReadonlyIndexIterator(const MockReadonlyIndex* owner) {
		m_index.reset(const_cast<MockReadonlyIndex*>(owner));
		m_pos = 0;
	}