Merge pull request #795 from yuslepukhin/fix_mocktable_id

Fix MockTable ID storage
This commit is contained in:
Siying Dong 2015-10-28 11:37:37 -07:00
commit 28c8758a34
2 changed files with 6 additions and 4 deletions

View File

@ -77,7 +77,7 @@ Status MockTableFactory::NewTableReader(
TableBuilder* MockTableFactory::NewTableBuilder(
const TableBuilderOptions& table_builder_options, uint32_t column_family_id,
WritableFileWriter* file) const {
uint32_t id = GetAndWriteNextID(file->writable_file());
uint32_t id = GetAndWriteNextID(file);
return new MockTableBuilder(id, &file_system_);
}
@ -90,12 +90,14 @@ Status MockTableFactory::CreateMockTable(Env* env, const std::string& fname,
return s;
}
uint32_t id = GetAndWriteNextID(file.get());
WritableFileWriter file_writer(std::move(file), EnvOptions());
uint32_t id = GetAndWriteNextID(&file_writer);
file_system_.files.insert({id, std::move(file_contents)});
return Status::OK();
}
uint32_t MockTableFactory::GetAndWriteNextID(WritableFile* file) const {
uint32_t MockTableFactory::GetAndWriteNextID(WritableFileWriter* file) const {
uint32_t next_id = next_id_.fetch_add(1);
char buf[4];
EncodeFixed32(buf, next_id);

View File

@ -176,7 +176,7 @@ class MockTableFactory : public TableFactory {
void AssertLatestFile(const stl_wrappers::KVMap& file_contents);
private:
uint32_t GetAndWriteNextID(WritableFile* file) const;
uint32_t GetAndWriteNextID(WritableFileWriter* file) const;
uint32_t GetIDFromFile(RandomAccessFileReader* file) const;
mutable MockTableFileSystem file_system_;