mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-12-15 02:41:59 +00:00
101 lines
3.0 KiB
SQL
101 lines
3.0 KiB
SQL
SET send_logs_level = 'fatal';
|
|
|
|
DROP DATABASE IF EXISTS database_for_dict;
|
|
|
|
CREATE DATABASE database_for_dict Engine = Ordinary;
|
|
|
|
CREATE TABLE database_for_dict.table_for_dict
|
|
(
|
|
key_column UInt64,
|
|
second_column UInt8,
|
|
third_column String,
|
|
fourth_column Float64
|
|
)
|
|
ENGINE = MergeTree()
|
|
ORDER BY key_column;
|
|
|
|
INSERT INTO database_for_dict.table_for_dict SELECT number, number % 17, toString(number * number), number / 2.0 from numbers(100);
|
|
|
|
DROP DICTIONARY IF EXISTS database_for_dict.dict1;
|
|
|
|
CREATE DICTIONARY database_for_dict.dict1
|
|
(
|
|
key_column UInt64 DEFAULT 0,
|
|
second_column UInt8 DEFAULT 1,
|
|
third_column String DEFAULT 'qqq',
|
|
fourth_column Float64 DEFAULT 42.0
|
|
)
|
|
PRIMARY KEY key_column
|
|
SOURCE(CLICKHOUSE(HOST 'localhost' PORT 9000 USER 'default' TABLE 'table_for_dict' DB 'database_for_dict'))
|
|
LIFETIME(MIN 1 MAX 10)
|
|
LAYOUT(FLAT());
|
|
|
|
SELECT count(*) from database_for_dict.dict1;
|
|
|
|
CREATE DICTIONARY database_for_dict.dict2
|
|
(
|
|
key_column UInt64 DEFAULT 0,
|
|
second_column UInt8 DEFAULT 1,
|
|
third_column String DEFAULT 'qqq',
|
|
fourth_column Float64 DEFAULT 42.0
|
|
)
|
|
PRIMARY KEY key_column
|
|
SOURCE(CLICKHOUSE(HOST 'localhost' PORT 9000 USER 'default' TABLE 'dict1' DB 'database_for_dict'))
|
|
LIFETIME(MIN 1 MAX 10)
|
|
LAYOUT(HASHED());
|
|
|
|
SELECT count(*) FROM database_for_dict.dict2;
|
|
|
|
INSERT INTO database_for_dict.table_for_dict SELECT number, number % 17, toString(number * number), number / 2.0 from numbers(100, 100);
|
|
|
|
SYSTEM RELOAD DICTIONARIES;
|
|
|
|
SELECT count(*) from database_for_dict.dict2;
|
|
SELECT count(*) from database_for_dict.dict1;
|
|
|
|
CREATE DICTIONARY database_for_dict.dict3
|
|
(
|
|
key_column UInt64 DEFAULT 0,
|
|
second_column UInt8 DEFAULT 1,
|
|
third_column String DEFAULT 'qqq',
|
|
fourth_column Float64 DEFAULT 42.0
|
|
)
|
|
PRIMARY KEY key_column
|
|
SOURCE(CLICKHOUSE(HOST 'localhost' PORT 9000 USER 'default' TABLE 'dict2' DB 'database_for_dict'))
|
|
LIFETIME(MIN 1 MAX 10)
|
|
LAYOUT(HASHED());
|
|
|
|
SELECT count(*) FROM database_for_dict.dict3;
|
|
|
|
INSERT INTO database_for_dict.table_for_dict SELECT number, number % 17, toString(number * number), number / 2.0 from numbers(200, 100);
|
|
|
|
SYSTEM RELOAD DICTIONARIES;
|
|
|
|
SELECT count(*) from database_for_dict.dict3;
|
|
SELECT count(*) from database_for_dict.dict2;
|
|
SELECT count(*) from database_for_dict.dict1;
|
|
|
|
|
|
CREATE DICTIONARY database_for_dict.dict4
|
|
(
|
|
key_column UInt64 DEFAULT 0,
|
|
second_column UInt8 DEFAULT 1,
|
|
third_column String DEFAULT 'qqq',
|
|
fourth_column Float64 DEFAULT 42.0
|
|
)
|
|
PRIMARY KEY key_column
|
|
SOURCE(CLICKHOUSE(HOST 'localhost' PORT 9000 USER 'default' TABLE 'non_existing_table' DB 'database_for_dict'))
|
|
LIFETIME(MIN 1 MAX 10)
|
|
LAYOUT(HASHED());
|
|
|
|
SELECT count(*) FROM database_for_dict.dict4; -- {serverError 60}
|
|
|
|
SELECT name from system.tables WHERE database = 'database_for_dict' ORDER BY name;
|
|
SELECT name from system.dictionaries WHERE database = 'database_for_dict' ORDER BY name;
|
|
|
|
DROP DATABASE IF EXISTS database_for_dict;
|
|
|
|
SELECT count(*) from database_for_dict.dict3; --{serverError 81}
|
|
SELECT count(*) from database_for_dict.dict2; --{serverError 81}
|
|
SELECT count(*) from database_for_dict.dict1; --{serverError 81}
|