Initial basic tests and change name to not include uuid

This commit is contained in:
Raúl Marín 2021-06-24 16:39:08 +02:00
parent 97215faf7b
commit 14e8029e01
3 changed files with 60 additions and 1 deletions

View File

@ -495,7 +495,7 @@ void ThreadStatus::logToQueryViewsLog(const ViewInfo & vinfo)
element.view_duration_ms = vinfo.runtime_stats.elapsed_ms;
element.initial_query_id = query_id;
element.view_name = vinfo.table_id.getNameForLogs();
element.view_name = vinfo.table_id.getFullTableName();
element.view_uuid = vinfo.table_id.uuid;
element.view_type = vinfo.runtime_stats.type;
if (vinfo.query)

View File

@ -0,0 +1,4 @@
{"stage":"Query log rows","read_rows":"100","written_rows":"201"}
{"stage":"Depending views","view_name":"default.matview_a_to_b","view_query":"SELECT toFloat64(a) AS a, b AS count FROM default.table_a"}
{"stage":"Depending views","view_name":"default.matview_b_to_c","view_query":"SELECT sum(a) AS a FROM default.table_b"}
{"stage":"Depending views","view_name":"default.table_b_live_view","view_query":"SELECT sum(a + b) FROM default.table_b"}

View File

@ -0,0 +1,55 @@
SET allow_experimental_live_view = 1;
SET log_queries=0;
SET log_query_threads=0;
-- SETUP TABLES
CREATE TABLE table_a (a String, b Int64) ENGINE = MergeTree ORDER BY b;
CREATE TABLE table_b (a Float64, b Int64) ENGINE = MergeTree ORDER BY tuple();
CREATE TABLE table_c (a Float64) ENGINE = MergeTree ORDER BY a;
-- SETUP MATERIALIZED VIEWS
CREATE MATERIALIZED VIEW matview_a_to_b TO table_b AS SELECT toFloat64(a) AS a, b AS count FROM table_a;
CREATE MATERIALIZED VIEW matview_b_to_c TO table_c AS SELECT SUM(a) as a FROM table_b;
-- SETUP LIVE VIEW
---- table_b_live_view (Int64)
DROP TABLE IF EXISTS table_b_live_view;
CREATE LIVE VIEW table_b_live_view AS SELECT sum(a + b) FROM table_b;
-- ENABLE LOGS
SET log_query_views=1;
SET log_queries_min_type='QUERY_FINISH';
SET log_queries=1;
-- INSERT 1
INSERT INTO table_a SELECT '111', * FROM numbers(100);
SYSTEM FLUSH LOGS;
SELECT 'Query log rows' as stage, read_rows, written_rows
FROM system.query_log
WHERE
query like '-- INSERT 1%INSERT INTO table_a%'
AND current_database = currentDatabase()
AND event_date >= yesterday()
FORMAT JSONEachRow;
SELECT 'Depending views' as stage, view_name, view_query
FROM system.query_views_log
WHERE initial_query_id =
(
SELECT initial_query_id
FROM system.query_log
WHERE query like '-- INSERT 1%INSERT INTO table_a%'
AND current_database = currentDatabase()
AND event_date >= yesterday()
LIMIT 1
)
ORDER BY view_name
FORMAT JSONEachRow;
-- TEARDOWN
DROP TABLE table_b_live_view;
DROP TABLE matview_a_to_b;
DROP TABLE matview_b_to_c;
DROP TABLE table_b;
DROP TABLE table_a;