ClickHouse/tests/queries/0_stateless/02890_named_tuple_functions.sql
2024-07-09 00:04:45 +08:00

32 lines
902 B
SQL

set enable_named_columns_in_function_tuple = 1;
set allow_experimental_analyzer = 1;
drop table if exists x;
create table x (i int, j int) engine MergeTree order by i;
insert into x values (1, 2);
select toTypeName(tuple(i, j)) from x;
select tupleNames(tuple(i, j)) from x;
select toTypeName(tuple(1, j)) from x;
select tupleNames(tuple(1, j)) from x;
select toTypeName(tuple(1 as k, j)) from x;
select tupleNames(tuple(1 as k, j)) from x;
select toTypeName(tuple(i, i, j, j)) from x;
select tupleNames(tuple(i, i, j, j)) from x;
select tupleNames(1); -- { serverError 43 }
drop table x;
drop table if exists tbl;
-- Make sure named tuple won't break Values insert
create table tbl (x Tuple(a Int32, b Int32, c Int32)) engine MergeTree order by ();
insert into tbl values (tuple(1, 2, 3)); -- without tuple it's interpreted differently inside values block.
select * from tbl;
drop table tbl