Skip to content

Commit 92cd529

Browse files
Add further testing to CountStar formatting
Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
1 parent ae6c966 commit 92cd529

File tree

4 files changed

+65
-10
lines changed

4 files changed

+65
-10
lines changed

go/vt/sqlparser/ast_format.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2656,12 +2656,12 @@ func (node *Count) Format(buf *TrackedBuffer) {
26562656
}
26572657

26582658
func (node *CountStar) Format(buf *TrackedBuffer) {
2659+
name := node.AggrName()
26592660
if node.Name != "" {
2660-
buf.astPrintf(node, "%s(*)", node.Name)
2661-
} else {
2662-
buf.astPrintf(node, "%s(", node.AggrName())
2663-
buf.WriteString("*)")
2661+
name = node.Name
26642662
}
2663+
buf.astPrintf(node, "%s(", name)
2664+
buf.WriteString("*)")
26652665
}
26662666

26672667
func (node *Avg) Format(buf *TrackedBuffer) {

go/vt/sqlparser/ast_format_fast.go

Lines changed: 5 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package sqlparser
2+
3+
import (
4+
"testing"
5+
6+
"github.com/stretchr/testify/assert"
7+
)
8+
9+
func TestCountStarFormatFast(t *testing.T) {
10+
{
11+
buf := NewTrackedBuffer(nil)
12+
node := &CountStar{}
13+
node.formatFast(buf)
14+
assert.Equal(t, &ParsedQuery{Query: "count(*)"}, buf.ParsedQuery())
15+
}
16+
{
17+
buf := NewTrackedBuffer(nil)
18+
node := &CountStar{Name: "Count"}
19+
node.formatFast(buf)
20+
assert.Equal(t, &ParsedQuery{Query: "Count(*)"}, buf.ParsedQuery())
21+
}
22+
{
23+
buf := NewTrackedBuffer(nil)
24+
node := &CountStar{Name: "COUNT"}
25+
node.formatFast(buf)
26+
assert.Equal(t, &ParsedQuery{Query: "COUNT(*)"}, buf.ParsedQuery())
27+
}
28+
}

go/vt/sqlparser/ast_format_test.go

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package sqlparser
2+
3+
import (
4+
"testing"
5+
6+
"github.com/stretchr/testify/assert"
7+
)
8+
9+
func TestCountStarFormat(t *testing.T) {
10+
{
11+
buf := NewTrackedBuffer(nil)
12+
node := &CountStar{}
13+
node.Format(buf)
14+
assert.Equal(t, &ParsedQuery{Query: "count(*)"}, buf.ParsedQuery())
15+
}
16+
{
17+
buf := NewTrackedBuffer(nil)
18+
node := &CountStar{Name: "Count"}
19+
node.Format(buf)
20+
assert.Equal(t, &ParsedQuery{Query: "Count(*)"}, buf.ParsedQuery())
21+
}
22+
{
23+
buf := NewTrackedBuffer(nil)
24+
node := &CountStar{Name: "COUNT"}
25+
node.Format(buf)
26+
assert.Equal(t, &ParsedQuery{Query: "COUNT(*)"}, buf.ParsedQuery())
27+
}
28+
}

0 commit comments

Comments
 (0)