Skip to content

Support GROUP BY ALL in relational queries#17380

Open
Eliaaazzz wants to merge 1 commit intoapache:masterfrom
Eliaaazzz:f_group_by_all
Open

Support GROUP BY ALL in relational queries#17380
Eliaaazzz wants to merge 1 commit intoapache:masterfrom
Eliaaazzz:f_group_by_all

Conversation

@Eliaaazzz
Copy link
Copy Markdown

Addresses #17337

Description

This PR adds support for GROUP BY ALL in Table Model relational queries.

GROUP BY ALL infers grouping keys from non-aggregate and non-window expressions in the SELECT list, which improves query ergonomics and reduces duplicated grouping expressions in common aggregation queries.

This PR also keeps date_bin_gapfill(...) behavior consistent under GROUP BY ALL, including existing validation for multiple gapfill expressions.


This PR has:

  • been self-reviewed.
  • added unit tests or modified existing tests to cover new code paths, ensuring the threshold for code coverage.

Key changed/added classes (or packages if there are too many classes) in this PR
  • iotdb-core/relational-grammar/src/main/antlr4/org/apache/iotdb/db/relational/grammar/sql/RelationalSql.g4
  • iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/parser/AstBuilder.java
  • iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/GroupBy.java
  • iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/StatementAnalyzer.java
  • iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/util/SqlFormatter.java
  • iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/GroupByAllTest.java

Tested with:

  • ./mvnw.cmd -pl iotdb-core/datanode -Dtest=GroupByAllTest test

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant