Skip to content

[BUG] ClickHouse parametric aggregates drop params group on render (quantile(0.5)(x) → quantile(x)) #531

Description

@basili4-1982

Bug Description

ClickHouse parametric aggregates lose their params group when the AST is
rendered back to SQL: quantileTDigest(0.95)(value) becomes
quantileTDigest(value).

Root cause

FunctionCall has a Parameters field (added for ClickHouse fn(params)(args),
issue #482 / PR #487), but FunctionCall.SQL() (pkg/sql/ast/sql.go) renders
only Arguments and never emits Parameters.

To Reproduce

tree, _ := gosqlx.ParseWithDialect(
    "SELECT quantileTDigest(0.95)(value) FROM events",
    keywords.DialectClickHouse)
fmt.Println(tree.SQL())
// SELECT quantileTDigest(value) FROM events  (0.95 lost!)

Expected Behavior

SELECT quantileTDigest(0.95)(value) FROM events

Notes

Exists in v1.14.0 and current main. PR: #529.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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