Skip to content

Feature Request: Remove unnecessary parentheses #15

@karlhorky

Description

@karlhorky

Copied from original sql-formatter issue: sql-formatter-org/sql-formatter#684

Describe the Feature

New default behavior in prettier-plugin-sql-cst to remove unnecessary parentheses in SQL (maybe with a way to disable):

-- Before
SELECT
  sessions.id
FROM
  sessions
WHERE
  (
    (sessions.token = 'abc123')
    AND (sessions.user_id = 17)
    AND (sessions.expiry_timestamp > now())
  );

-- After
SELECT
  sessions.id
FROM
  sessions
WHERE
  sessions.token = 'abc123'
  AND sessions.user_id = 17
  AND sessions.expiry_timestamp > now();

Why do you want this feature?

Removing extra unnecessary parentheses can make code simpler and less nested

Prior art

Prettier does this:

288022812-3e896557-bb2e-49e4-9bdc-75a5de463228

Other projects also have had similar requests / implementation:

Keywords for Search

Operator precedence, operators, parenthesis

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions