sstable: Construct it with state

This just moves make_path() call from outside of sstable::sstable()
inside it. Later it will be moved even further. Also, now sstable can
know its state and keep it (next patch)

Signed-off-by: Pavel Emelyanov <xemul@scylladb.com>
This commit is contained in:
Pavel Emelyanov
2023-06-01 17:10:46 +03:00
parent 1f247f0b05
commit ef25352412
3 changed files with 6 additions and 4 deletions

View File

@@ -2943,9 +2943,10 @@ mutation_source sstable::as_mutation_source() {
}
sstable::sstable(schema_ptr schema,
sstring table_dir,
const data_dictionary::storage_options& storage,
sstring dir,
generation_type generation,
sstable_state state,
version_types v,
format_types f,
db::large_data_handler& large_data_handler,
@@ -2956,7 +2957,7 @@ sstable::sstable(schema_ptr schema,
: sstable_buffer_size(buffer_size)
, _schema(std::move(schema))
, _generation(generation)
, _storage(make_storage(manager, storage, std::move(dir)))
, _storage(make_storage(manager, storage, make_path(table_dir, state).native()))
, _version(v)
, _format(f)
, _index_cache(std::make_unique<partition_index_cache>(

View File

@@ -180,9 +180,10 @@ public:
using manager_link_type = bi::list_member_hook<bi::link_mode<bi::auto_unlink>>;
public:
sstable(schema_ptr schema,
sstring table_dir,
const data_dictionary::storage_options& storage,
sstring dir,
generation_type generation,
sstable_state state,
version_types v,
format_types f,
db::large_data_handler& large_data_handler,

View File

@@ -111,7 +111,7 @@ shared_sstable sstables_manager::make_sstable(schema_ptr schema,
gc_clock::time_point now,
io_error_handler_gen error_handler_gen,
size_t buffer_size) {
return make_lw_shared<sstable>(std::move(schema), storage, make_path(table_dir, state).native(), generation, v, f, get_large_data_handler(), *this, now, std::move(error_handler_gen), buffer_size);
return make_lw_shared<sstable>(std::move(schema), std::move(table_dir), storage, generation, state, v, f, get_large_data_handler(), *this, now, std::move(error_handler_gen), buffer_size);
}
sstable_writer_config sstables_manager::configure_writer(sstring origin) const {