database: Initialize system keyspace in database constructor
System keyspace is used for things like keyspace and table metadata. Initialize it in database constructor so that they're always available. Needed for CQL create keyspace test case, for example. Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
This commit is contained in:
@@ -325,6 +325,10 @@ future<> keyspace::populate(sstring ksdir) {
|
||||
});
|
||||
}
|
||||
|
||||
database::database() {
|
||||
keyspaces.emplace("system", db::system_keyspace::make());
|
||||
}
|
||||
|
||||
future<> database::populate(sstring datadir) {
|
||||
return lister::scan_dir(datadir, directory_entry_type::directory, [this, datadir] (directory_entry de) {
|
||||
auto& ks_name = de.name;
|
||||
@@ -343,7 +347,6 @@ future<> database::populate(sstring datadir) {
|
||||
|
||||
future<>
|
||||
database::init_from_data_directory(sstring datadir) {
|
||||
keyspaces.emplace("system", db::system_keyspace::make());
|
||||
return populate(datadir);
|
||||
}
|
||||
|
||||
|
||||
@@ -315,6 +315,7 @@ public:
|
||||
|
||||
class database {
|
||||
public:
|
||||
database();
|
||||
std::unordered_map<sstring, keyspace> keyspaces;
|
||||
future<> init_from_data_directory(sstring datadir);
|
||||
future<> populate(sstring datadir);
|
||||
|
||||
Reference in New Issue
Block a user