From 567f12df13031370220bcd99d234d4663bf14960 Mon Sep 17 00:00:00 2001 From: longyue0521 Date: Tue, 11 Jun 2024 11:12:56 +0800 Subject: [PATCH] fix --- internal/merger/factory/factory_test.go | 56 ++++++++++++------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/internal/merger/factory/factory_test.go b/internal/merger/factory/factory_test.go index ae0ad2b..6a6ff73 100644 --- a/internal/merger/factory/factory_test.go +++ b/internal/merger/factory/factory_test.go @@ -466,7 +466,7 @@ func (s *factoryTestSuite) TestSELECT() { s.mock01.ExpectQuery(targetSQL).WillReturnRows(sqlmock.NewRows(cols).AddRow(1, 0).AddRow(3, 1)) s.mock02.ExpectQuery(targetSQL).WillReturnRows(sqlmock.NewRows(cols).AddRow(2, 1).AddRow(4, 0)) s.mock03.ExpectQuery(targetSQL).WillReturnRows(sqlmock.NewRows(cols)) - return s.getResultSet(t, targetSQL, s.db01, s.db02, s.db03), cols + return getResultSet(t, targetSQL, s.db01, s.db02, s.db03), cols }, originSpec: QuerySpec{ Features: nil, @@ -516,7 +516,7 @@ func (s *factoryTestSuite) TestSELECT() { []any{3, 1}, []any{2, 1}, []any{4, 0}, - }, s.getRowValues(t, r, scanFunc)) + }, getRowValues(t, r, scanFunc)) }, }, // 别名 @@ -529,7 +529,7 @@ func (s *factoryTestSuite) TestSELECT() { s.mock01.ExpectQuery(targetSQL).WillReturnRows(sqlmock.NewRows(cols).AddRow(100, 3)) s.mock02.ExpectQuery(targetSQL).WillReturnRows(sqlmock.NewRows(cols).AddRow(150, 2)) s.mock03.ExpectQuery(targetSQL).WillReturnRows(sqlmock.NewRows(cols).AddRow(50, 1)) - return s.getResultSet(t, targetSQL, s.db01, s.db02, s.db03), cols + return getResultSet(t, targetSQL, s.db01, s.db02, s.db03), cols }, originSpec: QuerySpec{ Features: []query.Feature{query.AggregateFunc}, @@ -584,7 +584,7 @@ func (s *factoryTestSuite) TestSELECT() { require.Equal(t, []any{ []any{300, 6}, - }, s.getRowValues(t, r, scanFunc)) + }, getRowValues(t, r, scanFunc)) }, }, // 聚合函数 @@ -597,7 +597,7 @@ func (s *factoryTestSuite) TestSELECT() { s.mock01.ExpectQuery(targetSQL).WillReturnRows(sqlmock.NewRows(cols).AddRow(200, 200, 400, 2, 400, 2)) s.mock02.ExpectQuery(targetSQL).WillReturnRows(sqlmock.NewRows(cols).AddRow(150, 150, 450, 3, 450, 3)) s.mock03.ExpectQuery(targetSQL).WillReturnRows(sqlmock.NewRows(cols).AddRow(50, 50, 50, 1, 50, 1)) - return s.getResultSet(t, targetSQL, s.db01, s.db02, s.db03), cols + return getResultSet(t, targetSQL, s.db01, s.db02, s.db03), cols }, originSpec: QuerySpec{ Features: []query.Feature{query.AggregateFunc}, @@ -688,7 +688,7 @@ func (s *factoryTestSuite) TestSELECT() { avg := float64(sum / cnt) require.Equal(t, []any{ []any{50, 200, avg, sum, cnt}, - }, s.getRowValues(t, r, scanFunc)) + }, getRowValues(t, r, scanFunc)) }, }, // ORDER BY @@ -777,7 +777,7 @@ func (s *factoryTestSuite) TestSELECT() { s.mock01.ExpectQuery(targetSQL).WillReturnRows(sqlmock.NewRows(cols).AddRow(1, "oid5").AddRow(1, "oid4").AddRow(3, "oid7").AddRow(3, "oid6")) s.mock02.ExpectQuery(targetSQL).WillReturnRows(sqlmock.NewRows(cols)) s.mock03.ExpectQuery(targetSQL).WillReturnRows(sqlmock.NewRows(cols).AddRow(2, "oid3").AddRow(2, "oid2").AddRow(4, "oid1")) - return s.getResultSet(t, targetSQL, s.db01, s.db02, s.db03), cols + return getResultSet(t, targetSQL, s.db01, s.db02, s.db03), cols }, originSpec: QuerySpec{ Features: []query.Feature{query.OrderBy}, @@ -863,7 +863,7 @@ func (s *factoryTestSuite) TestSELECT() { []any{3, "oid7"}, []any{3, "oid6"}, []any{4, "oid1"}, - }, s.getRowValues(t, r, scanFunc)) + }, getRowValues(t, r, scanFunc)) }, }, // TODO: ORDER BY 和 与聚合列组合,原始SQL中ORDER BY中用别名`avg_amt`,目标SQL的ORDER BY该如何该写? @@ -963,7 +963,7 @@ func (s *factoryTestSuite) TestSELECT() { s.mock01.ExpectQuery(targetSQL).WillReturnRows(sqlmock.NewRows(cols).AddRow(4)) s.mock02.ExpectQuery(targetSQL).WillReturnRows(sqlmock.NewRows(cols).AddRow(2)) s.mock03.ExpectQuery(targetSQL).WillReturnRows(sqlmock.NewRows(cols).AddRow(1)) - return s.getResultSet(t, targetSQL, s.db01, s.db02, s.db03), cols + return getResultSet(t, targetSQL, s.db01, s.db02, s.db03), cols }, originSpec: QuerySpec{ Features: []query.Feature{query.AggregateFunc, query.OrderBy}, @@ -1023,7 +1023,7 @@ func (s *factoryTestSuite) TestSELECT() { require.Equal(t, []any{ []any{4 + 2 + 1}, - }, s.getRowValues(t, r, scanFunc)) + }, getRowValues(t, r, scanFunc)) }, }, // GROUP BY @@ -1210,7 +1210,7 @@ func (s *factoryTestSuite) TestSELECT() { s.mock01.ExpectQuery(targetSQL).WillReturnRows(sqlmock.NewRows(cols).AddRow(1).AddRow(3)) s.mock02.ExpectQuery(targetSQL).WillReturnRows(sqlmock.NewRows(cols).AddRow(17)) s.mock03.ExpectQuery(targetSQL).WillReturnRows(sqlmock.NewRows(cols).AddRow(2).AddRow(4)) - return s.getResultSet(t, targetSQL, s.db01, s.db02, s.db03), cols + return getResultSet(t, targetSQL, s.db01, s.db02, s.db03), cols }, originSpec: QuerySpec{ Features: []query.Feature{query.GroupBy}, @@ -1271,7 +1271,7 @@ func (s *factoryTestSuite) TestSELECT() { []any{17}, []any{2}, []any{4}, - }, s.getRowValues(t, r, scanFunc)) + }, getRowValues(t, r, scanFunc)) }, }, // 非分片键 + 别名 @@ -1284,7 +1284,7 @@ func (s *factoryTestSuite) TestSELECT() { s.mock01.ExpectQuery(targetSQL).WillReturnRows(sqlmock.NewRows(cols).AddRow(100).AddRow(300)) s.mock02.ExpectQuery(targetSQL).WillReturnRows(sqlmock.NewRows(cols).AddRow(100)) s.mock03.ExpectQuery(targetSQL).WillReturnRows(sqlmock.NewRows(cols).AddRow(200).AddRow(400)) - return s.getResultSet(t, targetSQL, s.db01, s.db02, s.db03), cols + return getResultSet(t, targetSQL, s.db01, s.db02, s.db03), cols }, originSpec: QuerySpec{ Features: []query.Feature{query.GroupBy}, @@ -1344,7 +1344,7 @@ func (s *factoryTestSuite) TestSELECT() { []any{300}, []any{200}, []any{400}, - }, s.getRowValues(t, r, scanFunc)) + }, getRowValues(t, r, scanFunc)) }, }, // 非分片键 + 聚合 + 别名 @@ -1357,7 +1357,7 @@ func (s *factoryTestSuite) TestSELECT() { s.mock01.ExpectQuery(targetSQL).WillReturnRows(sqlmock.NewRows(cols).AddRow(1000, 350).AddRow(3000, 350)) s.mock02.ExpectQuery(targetSQL).WillReturnRows(sqlmock.NewRows(cols).AddRow(1000, 250).AddRow(4000, 50)) s.mock03.ExpectQuery(targetSQL).WillReturnRows(sqlmock.NewRows(cols).AddRow(2000, 100).AddRow(4000, 50)) - return s.getResultSet(t, targetSQL, s.db01, s.db02, s.db03), cols + return getResultSet(t, targetSQL, s.db01, s.db02, s.db03), cols }, originSpec: QuerySpec{ Features: []query.Feature{query.GroupBy}, @@ -1426,7 +1426,7 @@ func (s *factoryTestSuite) TestSELECT() { []any{int64(3000), 350}, []any{int64(4000), 100}, []any{int64(2000), 100}, - }, s.getRowValues(t, r, scanFunc)) + }, getRowValues(t, r, scanFunc)) }, }, // 分片键+非分片键+聚合+别名 @@ -1439,7 +1439,7 @@ func (s *factoryTestSuite) TestSELECT() { s.mock01.ExpectQuery(targetSQL).WillReturnRows(sqlmock.NewRows(cols).AddRow(1, 1000, 350).AddRow(1, 3000, 350)) s.mock02.ExpectQuery(targetSQL).WillReturnRows(sqlmock.NewRows(cols).AddRow(2, 1000, 250).AddRow(4, 4000, 50)) s.mock03.ExpectQuery(targetSQL).WillReturnRows(sqlmock.NewRows(cols).AddRow(6, 2000, 100).AddRow(9, 4000, 50)) - return s.getResultSet(t, targetSQL, s.db01, s.db02, s.db03), cols + return getResultSet(t, targetSQL, s.db01, s.db02, s.db03), cols }, originSpec: QuerySpec{ Features: []query.Feature{query.GroupBy}, @@ -1531,7 +1531,7 @@ func (s *factoryTestSuite) TestSELECT() { []any{4, int64(4000), 50}, []any{6, int64(2000), 100}, []any{9, int64(4000), 50}, - }, s.getRowValues(t, r, scanFunc)) + }, getRowValues(t, r, scanFunc)) }, }, // GROUP BY 和 ORDER BY 组合 @@ -1544,7 +1544,7 @@ func (s *factoryTestSuite) TestSELECT() { s.mock01.ExpectQuery(targetSQL).WillReturnRows(sqlmock.NewRows(cols).AddRow(2, 3000, 350).AddRow(1, 1000, 350)) s.mock02.ExpectQuery(targetSQL).WillReturnRows(sqlmock.NewRows(cols).AddRow(4, 4000, 50).AddRow(2, 1000, 250)) s.mock03.ExpectQuery(targetSQL).WillReturnRows(sqlmock.NewRows(cols).AddRow(9, 4000, 50).AddRow(6, 2000, 100)) - return s.getResultSet(t, targetSQL, s.db01, s.db02, s.db03), cols + return getResultSet(t, targetSQL, s.db01, s.db02, s.db03), cols }, originSpec: QuerySpec{ Features: []query.Feature{query.GroupBy, query.OrderBy}, @@ -1668,7 +1668,7 @@ func (s *factoryTestSuite) TestSELECT() { []any{2, int64(1000), 250}, []any{2, int64(3000), 350}, []any{1, int64(1000), 350}, - }, s.getRowValues(t, r, scanFunc)) + }, getRowValues(t, r, scanFunc)) }, }, // LIMIT @@ -1748,7 +1748,7 @@ func (s *factoryTestSuite) TestSELECT() { s.mock01.ExpectQuery(targetSQL).WillReturnRows(sqlmock.NewRows(cols).AddRow(1).AddRow(3)) s.mock02.ExpectQuery(targetSQL).WillReturnRows(sqlmock.NewRows(cols).AddRow(17)) s.mock03.ExpectQuery(targetSQL).WillReturnRows(sqlmock.NewRows(cols).AddRow(2).AddRow(4)) - return s.getResultSet(t, targetSQL, s.db01, s.db02, s.db03), cols + return getResultSet(t, targetSQL, s.db01, s.db02, s.db03), cols }, originSpec: QuerySpec{ Features: []query.Feature{query.Limit}, @@ -1795,7 +1795,7 @@ func (s *factoryTestSuite) TestSELECT() { []any{1}, []any{3}, []any{17}, - }, s.getRowValues(t, r, scanFunc)) + }, getRowValues(t, r, scanFunc)) }, }, { @@ -1807,7 +1807,7 @@ func (s *factoryTestSuite) TestSELECT() { s.mock01.ExpectQuery(targetSQL).WillReturnRows(sqlmock.NewRows(cols).AddRow(1, 100).AddRow(3, 100)) s.mock02.ExpectQuery(targetSQL).WillReturnRows(sqlmock.NewRows(cols).AddRow(5, 500).AddRow(3, 200).AddRow(4, 200)) s.mock03.ExpectQuery(targetSQL).WillReturnRows(sqlmock.NewRows(cols).AddRow(2, 200).AddRow(4, 200)) - return s.getResultSet(t, targetSQL, s.db01, s.db02, s.db03), cols + return getResultSet(t, targetSQL, s.db01, s.db02, s.db03), cols }, originSpec: QuerySpec{ Features: []query.Feature{query.GroupBy, query.OrderBy, query.Limit}, @@ -1898,7 +1898,7 @@ func (s *factoryTestSuite) TestSELECT() { require.Equal(t, []any{ []any{5, 500}, []any{4, 400}, - }, s.getRowValues(t, r, scanFunc)) + }, getRowValues(t, r, scanFunc)) }, }, { @@ -1910,7 +1910,7 @@ func (s *factoryTestSuite) TestSELECT() { s.mock01.ExpectQuery(targetSQL).WillReturnRows(sqlmock.NewRows(cols).AddRow(1, 1000, 100).AddRow(3, 3000, 100)) s.mock02.ExpectQuery(targetSQL).WillReturnRows(sqlmock.NewRows(cols).AddRow(5, 5000, 500).AddRow(3, 3000, 200).AddRow(4, 4000, 200)) s.mock03.ExpectQuery(targetSQL).WillReturnRows(sqlmock.NewRows(cols).AddRow(2, 2000, 200).AddRow(4, 4001, 200)) - return s.getResultSet(t, targetSQL, s.db01, s.db02, s.db03), cols + return getResultSet(t, targetSQL, s.db01, s.db02, s.db03), cols }, originSpec: QuerySpec{ Features: []query.Feature{query.GroupBy, query.OrderBy, query.Limit}, @@ -2026,7 +2026,7 @@ func (s *factoryTestSuite) TestSELECT() { []any{4, 4001, 200}, []any{3, 3000, 300}, []any{5, 5000, 500}, - }, s.getRowValues(t, r, scanFunc)) + }, getRowValues(t, r, scanFunc)) }, }, // { @@ -2124,7 +2124,7 @@ func (s *factoryTestSuite) TestSELECT() { } -func (s *factoryTestSuite) getRowValues(t *testing.T, r rows.Rows, scanFunc func(r rows.Rows, valSet *[]any) error) []any { +func getRowValues(t *testing.T, r rows.Rows, scanFunc func(r rows.Rows, valSet *[]any) error) []any { var res []any for r.Next() { require.NoError(t, scanFunc(r, &res)) @@ -2132,7 +2132,7 @@ func (s *factoryTestSuite) getRowValues(t *testing.T, r rows.Rows, scanFunc func return res } -func (s *factoryTestSuite) getResultSet(t *testing.T, sql string, dbs ...*sql.DB) []rows.Rows { +func getResultSet(t *testing.T, sql string, dbs ...*sql.DB) []rows.Rows { resultSet := make([]rows.Rows, 0, len(dbs)) for _, db := range dbs { row, err := db.Query(sql)