ClickHouse/tests/queries/0_stateless/01023_materialized_view_query_context.sql
2021-09-12 17:15:28 +03:00

45 lines
1.4 KiB
SQL

-- Tags: no-parallel
-- Create dictionary, since dictGet*() uses DB::Context in executeImpl()
-- (To cover scope of the Context in DB::PushingToViewsBlockOutputStream::process)
set insert_distributed_sync=1;
DROP TABLE IF EXISTS mv;
DROP DATABASE IF EXISTS dict_in_01023;
CREATE DATABASE dict_in_01023;
CREATE TABLE dict_in_01023.input (key UInt64, val UInt64) Engine=Memory();
CREATE DICTIONARY dict_in_01023.dict
(
key UInt64 DEFAULT 0,
val UInt64 DEFAULT 1
)
PRIMARY KEY key
SOURCE(CLICKHOUSE(HOST 'localhost' PORT tcpPort() USER 'default' TABLE 'input' PASSWORD '' DB 'dict_in_01023'))
LIFETIME(MIN 0 MAX 0)
LAYOUT(HASHED());
CREATE TABLE input (key UInt64) Engine=Distributed(test_shard_localhost, currentDatabase(), buffer_, key);
CREATE TABLE null_ (key UInt64) Engine=Null();
CREATE TABLE buffer_ (key UInt64) Engine=Buffer(currentDatabase(), dist_out, 1, 0, 0, 0, 0, 0, 0);
CREATE TABLE dist_out (key UInt64) Engine=Distributed(test_shard_localhost, currentDatabase(), null_, key);
CREATE TABLE output (key UInt64, val UInt64) Engine=Memory();
CREATE MATERIALIZED VIEW mv TO output AS SELECT key, dictGetUInt64('dict_in_01023.dict', 'val', key) val FROM dist_out;
INSERT INTO input VALUES (1);
SELECT count() FROM output;
DROP TABLE mv;
DROP TABLE output;
DROP TABLE dist_out;
DROP TABLE buffer_;
DROP TABLE null_;
DROP TABLE input;
DROP DICTIONARY dict_in_01023.dict;
DROP TABLE dict_in_01023.input;
DROP DATABASE dict_in_01023;