Browse Source

修改groupby类型

yjp 1 year ago
parent
commit
e55a7d0538
4 changed files with 9 additions and 10 deletions
  1. 1 1
      go.mod
  2. 2 2
      go.sum
  3. 3 3
      sql_parser.go
  4. 3 4
      v1_test.go

+ 1 - 1
go.mod

@@ -4,7 +4,7 @@ go 1.21.3
 
 require (
 	git.sxidc.com/go-tools/api_binding v1.3.22
-	git.sxidc.com/service-supports/dps-sdk v1.10.3
+	git.sxidc.com/service-supports/dps-sdk v1.10.4
 	github.com/auxten/postgresql-parser v1.0.1
 	github.com/go-resty/resty/v2 v2.11.0
 	github.com/satori/go.uuid v1.2.0

+ 2 - 2
go.sum

@@ -2,8 +2,8 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT
 cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
 git.sxidc.com/go-tools/api_binding v1.3.22 h1:4LPdcClfqM2bmCSrCe6HceSmAwr3rGhfxjVWn/4rliY=
 git.sxidc.com/go-tools/api_binding v1.3.22/go.mod h1:JoPU2jtPwbsAEjAuiSedKxuwu3bK4rrkZxyQ3mkU0XI=
-git.sxidc.com/service-supports/dps-sdk v1.10.3 h1:1xQcSoXNZpE3pRieH2HNYd52LMC1tdiwqWBXjZydxPY=
-git.sxidc.com/service-supports/dps-sdk v1.10.3/go.mod h1:bR7PtL4x4QKc8ZRbszn8hLBaK6G/uZl4ZbU7/TZcJ94=
+git.sxidc.com/service-supports/dps-sdk v1.10.4 h1:wfJV3k/h3oQkc+CxU+E38BlKHN2fY2FCcWGj1sopD8k=
+git.sxidc.com/service-supports/dps-sdk v1.10.4/go.mod h1:bR7PtL4x4QKc8ZRbszn8hLBaK6G/uZl4ZbU7/TZcJ94=
 git.sxidc.com/service-supports/fserr v0.3.2 h1:5/FCr8o2jd1kNsp5tH/ADjB9fr091JZXMMZ15ZvNZzs=
 git.sxidc.com/service-supports/fserr v0.3.2/go.mod h1:W54RoA71mfex+zARuH/iMnQPMnBXQ23qXXOkwUh2sVQ=
 git.sxidc.com/service-supports/fslog v0.5.9 h1:q2XIK2o/fk/qmByy4x5kKLC+k7kolT5LrXHcWRSffXQ=

+ 3 - 3
sql_parser.go

@@ -47,7 +47,7 @@ type selectClause struct {
 	selectClause string
 	where        string
 	orderBy      string
-	groupBy      []string
+	groupBy      string
 	having       string
 	pageNo       int
 	pageSize     int
@@ -395,14 +395,14 @@ func parseLimit(limit *tree.Limit) (int, int, error) {
 	return pageNo, pageSize, nil
 }
 
-func parseGroupBy(groupBy tree.GroupBy) []string {
+func parseGroupBy(groupBy tree.GroupBy) string {
 	groupBySlice := make([]string, 0)
 
 	for _, groupExpr := range groupBy {
 		groupBySlice = append(groupBySlice, groupExpr.String())
 	}
 
-	return groupBySlice
+	return strings.Join(groupBySlice, ",")
 }
 
 func parseExpr(valueExpr tree.Expr) (*clauseTableRowValue, error) {

+ 3 - 4
v1_test.go

@@ -93,7 +93,7 @@ func TestApiV1OperateParse(t *testing.T) {
 		t.Fatal("orderBy不正确")
 	}
 
-	if parsed["groupBy"] != nil {
+	if parsed["groupBy"] != "" {
 		t.Fatal("groupBy不正确")
 	}
 
@@ -131,7 +131,7 @@ func TestApiV1OperateParse(t *testing.T) {
 		t.Fatal("orderBy不正确")
 	}
 
-	if parsed["groupBy"] != nil {
+	if parsed["groupBy"] != "" {
 		t.Fatal("groupBy不正确")
 	}
 
@@ -169,8 +169,7 @@ func TestApiV1OperateParse(t *testing.T) {
 		t.Fatal("orderBy不正确")
 	}
 
-	groupBy := parsed["groupBy"].([]any)
-	if groupBy[0] != "name" || groupBy[1] != "age" {
+	if parsed["groupBy"] == "name, age" {
 		t.Fatal("groupBy不正确")
 	}