ClickHouse/dbms/tests/queries/0_stateless/01036_no_superfluous_dict_reload_on_create_database.sql
Azat Khuzhin 4530adee76 Do not reload *all* dictionaries on CREATE DATABASE
This ignores any lifetime, while dictionaries can be quite big.

Fixes: c7cd911305 ("Merge pull request #7360")
Refs: https://github.com/ClickHouse/ClickHouse/pull/7360#discussion_r345207682
2019-11-26 10:33:25 +03:00

29 lines
1.2 KiB
SQL

DROP DATABASE IF EXISTS dict_db_01036;
CREATE DATABASE dict_db_01036;
CREATE TABLE dict_db_01036.dict_data (key UInt64, val UInt64) Engine=Memory();
CREATE DICTIONARY dict_db_01036.dict
(
key UInt64 DEFAULT 0,
val UInt64 DEFAULT 10
)
PRIMARY KEY key
SOURCE(CLICKHOUSE(HOST 'localhost' PORT 9000 USER 'default' TABLE 'dict_data' PASSWORD '' DB 'dict_db_01036'))
LIFETIME(MIN 0 MAX 0)
LAYOUT(FLAT());
SELECT query_count FROM system.dictionaries WHERE database = 'dict_db_01036' AND name = 'dict';
SELECT dictGetUInt64('dict_db_01036.dict', 'val', toUInt64(0));
SELECT query_count FROM system.dictionaries WHERE database = 'dict_db_01036' AND name = 'dict';
SELECT 'SYSTEM RELOAD DICTIONARY';
SYSTEM RELOAD DICTIONARY 'dict_db_01036.dict';
SELECT query_count FROM system.dictionaries WHERE database = 'dict_db_01036' AND name = 'dict';
SELECT dictGetUInt64('dict_db_01036.dict', 'val', toUInt64(0));
SELECT query_count FROM system.dictionaries WHERE database = 'dict_db_01036' AND name = 'dict';
SELECT 'CREATE DATABASE';
DROP DATABASE IF EXISTS empty_db_01036;
CREATE DATABASE empty_db_01036;
SELECT query_count FROM system.dictionaries WHERE database = 'dict_db_01036' AND name = 'dict';