Closed
Description
Describe the bug
sqlfmt doesn't seem to understand that the any
function is an aggregate function and not the typical SQL ANY operator. See examples below.
To Reproduce
File example1.sql
:
select any(number) as any_number from (select number from system.numbers limit 10)
Also, file example2.sql
:
select max(number) as max_number, min(number) as min_number, any(number) as any_number, avg(number) as avg_number from (select number from system.numbers limit 10)
Expected behavior
For example1.sql
:
select any(number) as any_number from (select number from system.numbers limit 10)
(no change)
For example2.sql
:
select
max(number) as max_number,
min(number) as min_number,
any(number) as any_number,
avg(number) as avg_number
from (select number from system.numbers limit 10)
Actual behavior
After running sqlfmt example1.sql --dialect clickhouse --line-length 88
:
select any (number) as any_number from (select number from system.numbers limit 10)
Extra whitespace is added incorrectly.
After running sqlfmt example2.sql --dialect clickhouse --line-length 88
:
select
max(number) as max_number,
min(number) as min_number, any (number) as any_number,
avg(number) as avg_number
from (select number from system.numbers limit 10)
Additional context
What is the output of sqlfmt --version
?
sqlfmt, version 0.19.2
Activity