mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-19 22:22:00 +00:00
189 lines
4.9 KiB
SQL
189 lines
4.9 KiB
SQL
-- Tags: no-parallel
|
|
|
|
SET allow_experimental_analyzer = 1;
|
|
|
|
SELECT 'Matchers without FROM section';
|
|
|
|
DESCRIBE (SELECT *);
|
|
SELECT *;
|
|
|
|
SELECT '--';
|
|
|
|
DESCRIBE (SELECT COLUMNS(dummy));
|
|
SELECT COLUMNS(dummy);
|
|
|
|
SELECT '--';
|
|
|
|
DESCRIBE (SELECT COLUMNS('d'));
|
|
SELECT COLUMNS('d');
|
|
|
|
DROP TABLE IF EXISTS test_table;
|
|
CREATE TABLE test_table
|
|
(
|
|
id UInt64,
|
|
value String
|
|
) ENGINE=TinyLog;
|
|
|
|
INSERT INTO test_table VALUES (0, 'Value');
|
|
|
|
SELECT 'Unqualified matchers';
|
|
|
|
DESCRIBE (SELECT * FROM test_table);
|
|
SELECT * FROM test_table;
|
|
|
|
SELECT '--';
|
|
|
|
DESCRIBE (SELECT COLUMNS(id) FROM test_table);
|
|
SELECT COLUMNS(id) FROM test_table;
|
|
|
|
SELECT '--';
|
|
|
|
DESCRIBE (SELECT COLUMNS(id), COLUMNS(value) FROM test_table);
|
|
SELECT COLUMNS(id), COLUMNS(value) FROM test_table;
|
|
|
|
SELECT '--';
|
|
|
|
DESCRIBE (SELECT COLUMNS('i'), COLUMNS('v') FROM test_table);
|
|
SELECT COLUMNS('i'), COLUMNS('v') FROM test_table;
|
|
|
|
SELECT 'Table qualified matchers';
|
|
|
|
DESCRIBE (SELECT test_table.* FROM test_table);
|
|
SELECT test_table.* FROM test_table;
|
|
|
|
SELECT '--';
|
|
|
|
DESCRIBE (SELECT test_table.COLUMNS(id) FROM test_table);
|
|
SELECT test_table.COLUMNS(id) FROM test_table;
|
|
|
|
SELECT '--';
|
|
|
|
DESCRIBE (SELECT test_table.COLUMNS(id), test_table.COLUMNS(value) FROM test_table);
|
|
SELECT test_table.COLUMNS(id), test_table.COLUMNS(value) FROM test_table;
|
|
|
|
SELECT '--';
|
|
|
|
DESCRIBE (SELECT test_table.COLUMNS('i'), test_table.COLUMNS('v') FROM test_table);
|
|
SELECT test_table.COLUMNS('i'), test_table.COLUMNS('v') FROM test_table;
|
|
|
|
SELECT 'Database and table qualified matchers';
|
|
|
|
DROP DATABASE IF EXISTS 02339_db;
|
|
CREATE DATABASE 02339_db;
|
|
|
|
DROP TABLE IF EXISTS 02339_db.test_table;
|
|
CREATE TABLE 02339_db.test_table
|
|
(
|
|
id UInt64,
|
|
value String
|
|
) ENGINE=TinyLog;
|
|
|
|
INSERT INTO 02339_db.test_table VALUES (0, 'Value');
|
|
|
|
-- TODO: Qualified COLUMNS where identifier has more than 2 parts are not supported on parser level
|
|
|
|
-- SELECT '--';
|
|
|
|
-- DESCRIBE (SELECT 02339_db.test_table.* FROM 02339_db.test_table);
|
|
-- SELECT 02339_db.test_table.* FROM 02339_db.test_table;
|
|
|
|
-- SELECT '--';
|
|
|
|
-- DESCRIBE (SELECT 02339_db.test_table.COLUMNS(id) FROM 02339_db.test_table);
|
|
-- SELECT 02339_db.test_table.COLUMNS(id) FROM 02339_db.test_table;
|
|
|
|
-- SELECT '--';
|
|
|
|
-- DESCRIBE (SELECT 02339_db.test_table.COLUMNS(id), 02339_db.test_table.COLUMNS(value) FROM 02339_db.test_table);
|
|
-- SELECT 02339_db.test_table.COLUMNS(id), 02339_db.test_table.COLUMNS(value) FROM 02339_db.test_table;
|
|
|
|
-- SELECT '--';
|
|
|
|
-- DESCRIBE (SELECT 02339_db.test_table.COLUMNS('i'), 02339_db.test_table.COLUMNS('v') FROM 02339_db.test_table);
|
|
-- SELECT 02339_db.test_table.COLUMNS('i'), 02339_db.test_table.COLUMNS('v') FROM 02339_db.test_table;
|
|
|
|
DROP TABLE 02339_db.test_table;
|
|
DROP DATABASE 02339_db;
|
|
|
|
SELECT 'APPLY transformer';
|
|
|
|
SELECT '--';
|
|
|
|
DESCRIBE (SELECT * APPLY toString FROM test_table);
|
|
SELECT * APPLY toString FROM test_table;
|
|
|
|
SELECT '--';
|
|
|
|
DESCRIBE (SELECT * APPLY (x -> toString(x)) FROM test_table);
|
|
SELECT * APPLY (x -> toString(x)) FROM test_table;
|
|
|
|
SELECT '--';
|
|
|
|
DESCRIBE (SELECT * APPLY (x -> toString(x)) APPLY (x -> length(x)) FROM test_table);
|
|
SELECT * APPLY (x -> toString(x)) APPLY (x -> length(x)) FROM test_table;
|
|
|
|
SELECT '--';
|
|
|
|
DESCRIBE (SELECT * APPLY (x -> toString(x)) APPLY length FROM test_table);
|
|
SELECT * APPLY (x -> toString(x)) APPLY length FROM test_table;
|
|
|
|
SELECT '--';
|
|
DESCRIBE (SELECT * FROM test_table);
|
|
SELECT * FROM test_table;
|
|
|
|
SELECT 'EXCEPT transformer';
|
|
|
|
SELECT '--';
|
|
|
|
DESCRIBE (SELECT * EXCEPT (id) FROM test_table);
|
|
SELECT * EXCEPT (id) FROM test_table;
|
|
|
|
SELECT '--';
|
|
|
|
DESCRIBE (SELECT COLUMNS(id, value) EXCEPT (id) FROM test_table);
|
|
SELECT COLUMNS(id, value) EXCEPT (id) FROM test_table;
|
|
|
|
SELECT '--';
|
|
|
|
DESCRIBE (SELECT * EXCEPT (id) APPLY toString FROM test_table);
|
|
SELECT * EXCEPT (id) APPLY toString FROM test_table;
|
|
|
|
SELECT '--';
|
|
|
|
DESCRIBE (SELECT COLUMNS(id, value) EXCEPT (id) APPLY toString FROM test_table);
|
|
SELECT COLUMNS(id, value) EXCEPT (id) APPLY toString FROM test_table;
|
|
|
|
SELECT 'REPLACE transformer';
|
|
|
|
SELECT '--';
|
|
|
|
DESCRIBE (SELECT * REPLACE (5 AS id) FROM test_table);
|
|
SELECT * REPLACE (5 AS id) FROM test_table;
|
|
|
|
SELECT '--';
|
|
|
|
DESCRIBE (SELECT COLUMNS(id, value) REPLACE (5 AS id) FROM test_table);
|
|
SELECT COLUMNS(id, value) REPLACE (5 AS id) FROM test_table;
|
|
|
|
SELECT '--';
|
|
|
|
DESCRIBE (SELECT * REPLACE (5 AS id, 6 as value) FROM test_table);
|
|
SELECT * REPLACE (5 AS id, 6 as value) FROM test_table;
|
|
|
|
SELECT '--';
|
|
|
|
DESCRIBE (SELECT COLUMNS(id, value) REPLACE (5 AS id, 6 as value) FROM test_table);
|
|
SELECT COLUMNS(id, value) REPLACE (5 AS id, 6 as value) FROM test_table;
|
|
|
|
SELECT 'Combine EXCEPT, REPLACE, APPLY transformers';
|
|
|
|
SELECT '--';
|
|
|
|
DESCRIBE (SELECT * EXCEPT id REPLACE (5 AS id, 6 as value) APPLY toString FROM test_table);
|
|
SELECT * EXCEPT id REPLACE (5 AS id, 6 as value) APPLY toString FROM test_table;
|
|
|
|
SELECT '--';
|
|
|
|
DESCRIBE (SELECT COLUMNS(id, value) EXCEPT id REPLACE (5 AS id, 6 as value) APPLY toString FROM test_table);
|
|
SELECT COLUMNS(id, value) EXCEPT id REPLACE (5 AS id, 6 as value) APPLY toString FROM test_table;
|