Skip to content

Commit 063e557

Browse files
committed
Fix projection indentation in EXPLAIN output
- Remove extra space before "Projection" in explainProjection format string - Adjust indent passed to explainProjectionSelectQuery from +2 to +1 spaces - Add space to indent when calling explainProjection from AlterCommand This fixes indentation for projections in both CREATE TABLE and ALTER TABLE ADD PROJECTION statements to match ClickHouse's EXPLAIN AST output.
1 parent f287c18 commit 063e557

80 files changed

Lines changed: 50 additions & 271 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

internal/explain/statements.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -925,7 +925,7 @@ func explainAlterCommand(sb *strings.Builder, cmd *ast.AlterCommand, indent stri
925925
}
926926
case ast.AlterAddProjection:
927927
if cmd.Projection != nil {
928-
explainProjection(sb, cmd.Projection, indent, depth+1)
928+
explainProjection(sb, cmd.Projection, indent+" ", depth+1)
929929
}
930930
case ast.AlterDropProjection, ast.AlterMaterializeProjection, ast.AlterClearProjection:
931931
if cmd.ProjectionName != "" {
@@ -947,9 +947,9 @@ func explainProjection(sb *strings.Builder, p *ast.Projection, indent string, de
947947
if p.Select != nil {
948948
children++
949949
}
950-
fmt.Fprintf(sb, "%s Projection (children %d)\n", indent, children)
950+
fmt.Fprintf(sb, "%sProjection (children %d)\n", indent, children)
951951
if p.Select != nil {
952-
explainProjectionSelectQuery(sb, p.Select, indent+" ", depth+1)
952+
explainProjectionSelectQuery(sb, p.Select, indent+" ", depth+1)
953953
}
954954
}
955955

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
{
22
"explain_todo": {
33
"stmt23": true,
4-
"stmt42": true,
5-
"stmt51": true
4+
"stmt42": true
65
}
76
}

parser/testdata/01701_clear_projection_and_part_remove/metadata.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
{
22
"explain_todo": {
3-
"stmt2": true,
43
"stmt7": true,
54
"stmt8": true
65
}
Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
{
22
"explain_todo": {
3-
"stmt2": true,
43
"stmt3": true
54
}
65
}
Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
{
22
"explain_todo": {
3-
"stmt2": true,
43
"stmt4": true
54
}
65
}
Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1 @@
1-
{
2-
"explain_todo": {
3-
"stmt4": true
4-
}
5-
}
1+
{}
Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
{
22
"explain_todo": {
3-
"stmt2": true,
4-
"stmt3": true
3+
"stmt2": true
54
}
65
}
Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1 @@
1-
{
2-
"explain_todo": {
3-
"stmt2": true
4-
}
5-
}
1+
{}
Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1 @@
1-
{
2-
"explain_todo": {
3-
"stmt2": true
4-
}
5-
}
1+
{}
Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
{
22
"explain_todo": {
3-
"stmt2": true,
43
"stmt3": true
54
}
65
}

0 commit comments

Comments
 (0)