microsoft / vscode-postgresql

PostgreSQL extension for VSCODE
Other
392 stars 50 forks source link

Formatter: wrong indentation for case expressions inside aggregations #88

Open klingtnet opened 3 years ago

klingtnet commented 3 years ago

The following example

SELECT count(CASE WHEN foo IN ('bar', 'baz') THEN 1)
FROM foobar;

SELECT 1;

gets formatted to

SELECT
    count(
        CASE WHEN foo IN ('bar', 'baz') THEN
            1)
FROM
    foobar;
    SELECT
        1;

Where a redundant level of indentation is kept after the first FROM keyword. An proper formatting result would look similar to:

SELECT
    count(
        CASE WHEN foo IN ('bar', 'baz') THEN 1
        )
FROM
    foobar;

SELECT 1;

Edit simplified the example queries.