mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-24 08:32:02 +00:00
71 lines
1.8 KiB
SQL
71 lines
1.8 KiB
SQL
-- Tags: no-parallel
|
|
-- Tag no-parallel: Messes with internal cache
|
|
|
|
-- Tests that the key of the query cache is not only formed by the query AST but also by
|
|
-- (1) the current database (`USE db`, issue #64136),
|
|
-- (2) the query settings
|
|
|
|
|
|
SELECT 'Test (1)';
|
|
|
|
SYSTEM DROP QUERY CACHE;
|
|
|
|
DROP DATABASE IF EXISTS db1;
|
|
DROP DATABASE IF EXISTS db2;
|
|
|
|
CREATE DATABASE db1;
|
|
CREATE DATABASE db2;
|
|
|
|
CREATE TABLE db1.tab(a UInt64, PRIMARY KEY a);
|
|
CREATE TABLE db2.tab(a UInt64, PRIMARY KEY a);
|
|
|
|
INSERT INTO db1.tab values(1);
|
|
INSERT INTO db2.tab values(2);
|
|
|
|
USE db1;
|
|
SELECT * FROM tab SETTINGS use_query_cache=1;
|
|
|
|
USE db2;
|
|
SELECT * FROM tab SETTINGS use_query_cache=1;
|
|
|
|
DROP DATABASE db1;
|
|
DROP DATABASE db2;
|
|
|
|
SYSTEM DROP QUERY CACHE;
|
|
|
|
|
|
SELECT 'Test (2)';
|
|
|
|
-- test with query-level settings
|
|
SELECT 1 SETTINGS use_query_cache = 1, limit = 1, use_skip_indexes = 0 Format Null;
|
|
SELECT 1 SETTINGS use_query_cache = 1, use_skip_indexes = 0 Format Null;
|
|
SELECT 1 SETTINGS use_query_cache = 1, use_skip_indexes = 1 Format Null;
|
|
SELECT 1 SETTINGS use_query_cache = 1, max_block_size = 1 Format Null;
|
|
|
|
-- 4x the same query but with different settings each. There should yield four entries in the query cache.
|
|
SELECT count(query) FROM system.query_cache;
|
|
|
|
SYSTEM DROP QUERY CACHE;
|
|
|
|
-- test with mixed session-level/query-level settings
|
|
SET use_query_cache = 1;
|
|
SET limit = 1;
|
|
SELECT 1 SETTINGS use_skip_indexes = 0 Format Null;
|
|
SET limit = default;
|
|
SET use_skip_indexes = 0;
|
|
SELECT 1 Format Null;
|
|
SET use_skip_indexes = 1;
|
|
SELECT 1 SETTINGS use_skip_indexes = 1 Format Null;
|
|
SET use_skip_indexes = default;
|
|
SET max_block_size = 1;
|
|
SELECT 1 Format Null;
|
|
SET max_block_size = default;
|
|
|
|
SET use_query_cache = default;
|
|
|
|
-- 4x the same query but with different settings each. There should yield four entries in the query cache.
|
|
SELECT count(query) FROM system.query_cache;
|
|
|
|
SYSTEM DROP QUERY CACHE;
|
|
|