提交 28c8758a 编写于 作者: S Siying Dong

Merge pull request #795 from yuslepukhin/fix_mocktable_id

Fix MockTable ID storage
......@@ -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);
......
......@@ -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_;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册