From 1a62d2ce616eb009a64a7e09b484c4cfbdfb4f00 Mon Sep 17 00:00:00 2001 From: Alex Charis Date: Wed, 17 Apr 2019 22:59:26 -0400 Subject: [PATCH 1/2] normalizer: do not normalize in order by Signed-off-by: Alex Charis --- go/vt/sqlparser/normalizer.go | 3 +++ go/vt/sqlparser/normalizer_test.go | 10 ++++++++++ 2 files changed, 13 insertions(+) diff --git a/go/vt/sqlparser/normalizer.go b/go/vt/sqlparser/normalizer.go index a2ac08337ab..87307dab93e 100644 --- a/go/vt/sqlparser/normalizer.go +++ b/go/vt/sqlparser/normalizer.go @@ -88,6 +88,9 @@ func (nz *normalizer) WalkSelect(node SQLNode) (bool, error) { // Common node types that never contain SQLVals or ListArgs but create a lot of object // allocations. return false, nil + case OrderBy: + // do not make a bind var for order by column_position + return false, nil } return true, nil } diff --git a/go/vt/sqlparser/normalizer_test.go b/go/vt/sqlparser/normalizer_test.go index 7aa24814d55..b102b0ec2ad 100644 --- a/go/vt/sqlparser/normalizer_test.go +++ b/go/vt/sqlparser/normalizer_test.go @@ -127,6 +127,16 @@ func TestNormalize(t *testing.T) { in: "update a set v1 = b'11'", outstmt: "update a set v1 = B'11'", outbv: map[string]*querypb.BindVariable{}, + }, { + // ORDER BY column_position + in: "select a, b from t order by 1 asc", + outstmt: "select a, b from t order by 1 asc", + outbv: map[string]*querypb.BindVariable{}, + }, { + // ORDER BY variable + in: "select a, b from t order by c asc", + outstmt: "select a, b from t order by c asc", + outbv: map[string]*querypb.BindVariable{}, }, { // Values up to len 256 will reuse. in: fmt.Sprintf("select * from t where v1 = '%256s' and v2 = '%256s'", "a", "a"), From e9917406ec8faf9ec3af74a39155940828b8ad1b Mon Sep 17 00:00:00 2001 From: Alex Charis Date: Thu, 18 Apr 2019 14:16:11 -0400 Subject: [PATCH 2/2] normalizer: do not normalize in group by Signed-off-by: Alex Charis --- go/vt/sqlparser/normalizer.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go/vt/sqlparser/normalizer.go b/go/vt/sqlparser/normalizer.go index 87307dab93e..ac223477e27 100644 --- a/go/vt/sqlparser/normalizer.go +++ b/go/vt/sqlparser/normalizer.go @@ -88,7 +88,7 @@ func (nz *normalizer) WalkSelect(node SQLNode) (bool, error) { // Common node types that never contain SQLVals or ListArgs but create a lot of object // allocations. return false, nil - case OrderBy: + case OrderBy, GroupBy: // do not make a bind var for order by column_position return false, nil }