mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-27 18:12:02 +00:00
Fixed integration test
This commit is contained in:
parent
c93666e0de
commit
71bccfdea1
@ -192,6 +192,20 @@ void StorageDictionary::shutdown()
|
|||||||
removeDictionaryConfigurationFromRepository();
|
removeDictionaryConfigurationFromRepository();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void StorageDictionary::startup()
|
||||||
|
{
|
||||||
|
auto context = getContext();
|
||||||
|
|
||||||
|
bool lazy_load = context->getConfigRef().getBool("dictionaries_lazy_load", true);
|
||||||
|
if (!lazy_load)
|
||||||
|
{
|
||||||
|
auto & external_dictionaries_loader = context->getExternalDictionariesLoader();
|
||||||
|
|
||||||
|
/// reloadConfig() is called here to force loading the dictionary.
|
||||||
|
external_dictionaries_loader.reloadConfig(getStorageID().getInternalDictionaryName());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void StorageDictionary::removeDictionaryConfigurationFromRepository()
|
void StorageDictionary::removeDictionaryConfigurationFromRepository()
|
||||||
{
|
{
|
||||||
if (remove_repository_callback_executed)
|
if (remove_repository_callback_executed)
|
||||||
@ -256,14 +270,6 @@ void registerStorageDictionary(StorageFactory & factory)
|
|||||||
auto abstract_dictionary_configuration = getDictionaryConfigurationFromAST(args.query, local_context, dictionary_id.database_name);
|
auto abstract_dictionary_configuration = getDictionaryConfigurationFromAST(args.query, local_context, dictionary_id.database_name);
|
||||||
auto result_storage = StorageDictionary::create(dictionary_id, abstract_dictionary_configuration, local_context);
|
auto result_storage = StorageDictionary::create(dictionary_id, abstract_dictionary_configuration, local_context);
|
||||||
|
|
||||||
bool lazy_load = local_context->getConfigRef().getBool("dictionaries_lazy_load", true);
|
|
||||||
if (!lazy_load)
|
|
||||||
{
|
|
||||||
/// load() is called here to force loading the dictionary, wait until the loading is finished,
|
|
||||||
/// and throw an exception if the loading is failed.
|
|
||||||
external_dictionaries_loader.load(result_storage->getStorageID().getInternalDictionaryName());
|
|
||||||
}
|
|
||||||
|
|
||||||
return result_storage;
|
return result_storage;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -38,7 +38,8 @@ public:
|
|||||||
|
|
||||||
bool isDictionary() const override { return true; }
|
bool isDictionary() const override { return true; }
|
||||||
void drop() override;
|
void drop() override;
|
||||||
void shutdown() override;
|
void shutdown() override;
|
||||||
|
void startup() override;
|
||||||
|
|
||||||
void renameInMemory(const StorageID & new_table_id) override;
|
void renameInMemory(const StorageID & new_table_id) override;
|
||||||
|
|
||||||
|
@ -61,6 +61,11 @@ def test_dependency_via_implicit_table(node):
|
|||||||
|
|
||||||
check()
|
check()
|
||||||
|
|
||||||
|
# Restart must not break anything.
|
||||||
|
node.restart_clickhouse()
|
||||||
|
check()
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize("node", nodes)
|
@pytest.mark.parametrize("node", nodes)
|
||||||
def test_dependency_via_explicit_table(node):
|
def test_dependency_via_explicit_table(node):
|
||||||
tbl_names = ["test.atbl", "test.ztbl", "atest.tbl", "ztest.tbl"]
|
tbl_names = ["test.atbl", "test.ztbl", "atest.tbl", "ztest.tbl"]
|
||||||
@ -80,6 +85,10 @@ def test_dependency_via_explicit_table(node):
|
|||||||
|
|
||||||
check()
|
check()
|
||||||
|
|
||||||
|
# Restart must not break anything.
|
||||||
|
node.restart_clickhouse()
|
||||||
|
check()
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize("node", nodes)
|
@pytest.mark.parametrize("node", nodes)
|
||||||
def test_dependency_via_dictionary_database(node):
|
def test_dependency_via_dictionary_database(node):
|
||||||
@ -96,3 +105,7 @@ def test_dependency_via_dictionary_database(node):
|
|||||||
assert node.query("SELECT dictGet({}, 'y', toUInt64(5))".format(d_name)) == "6\n"
|
assert node.query("SELECT dictGet({}, 'y', toUInt64(5))".format(d_name)) == "6\n"
|
||||||
|
|
||||||
check()
|
check()
|
||||||
|
|
||||||
|
# Restart must not break anything.
|
||||||
|
node.restart_clickhouse()
|
||||||
|
check()
|
||||||
|
Loading…
Reference in New Issue
Block a user