class CuckooTableBuilder: public TableBuilder {
public:
- CuckooTableBuilder(WritableFileWriter* file, double max_hash_table_ratio,
- uint32_t max_num_hash_func, uint32_t max_search_depth,
- const Comparator* user_comparator,
- uint32_t cuckoo_block_size, bool use_module_hash,
- bool identity_as_first_hash,
- uint64_t (*get_slice_hash)(const Slice&, uint32_t,
- uint64_t),
- uint32_t column_family_id,
- const std::string& column_family_name);
+ CuckooTableBuilder(
+ WritableFileWriter* file, double max_hash_table_ratio,
+ uint32_t max_num_hash_func, uint32_t max_search_depth,
+ const Comparator* user_comparator, uint32_t cuckoo_block_size,
+ bool use_module_hash, bool identity_as_first_hash,
+ uint64_t (*get_slice_hash)(const Slice&, uint32_t, uint64_t),
+ uint32_t column_family_id, const std::string& column_family_name,
+ const std::string& db_id = "", const std::string& db_session_id = "");
// No copying allowed
CuckooTableBuilder(const CuckooTableBuilder&) = delete;
void operator=(const CuckooTableBuilder&) = delete;
// Return non-ok iff some error has been detected.
Status status() const override { return status_; }
+ // Return non-ok iff some error happens during IO.
+ IOStatus io_status() const override { return io_status_; }
+
// Finish building the table. Stops using the file passed to the
// constructor after this function returns.
// REQUIRES: Finish(), Abandon() have not been called
TableProperties GetTableProperties() const override { return properties_; }
// Get file checksum
- const std::string& GetFileChecksum() const override { return file_checksum_; }
+ std::string GetFileChecksum() const override;
// Get file checksum function name
const char* GetFileChecksumFuncName() const override;
// Number of keys that contain value (non-deletion op)
uint64_t num_values_;
Status status_;
+ IOStatus io_status_;
TableProperties properties_;
const Comparator* ucomp_;
bool use_module_hash_;
std::string smallest_user_key_ = "";
bool closed_; // Either Finish() or Abandon() has been called.
-
- // Store file checksum. If checksum is disabled, its value is "0"
- std::string file_checksum_ = kUnknownFileChecksum;
};
} // namespace ROCKSDB_NAMESPACE