Remove use of dialect.LikeStr (#104460)

* Fix TestIntegrationUpdatingProvisionionedDashboards* tests when running on Spanner by fixing case-insensitive search for dashboard title.

* Fix use of case-insensitive LIKE when running on Spanner.

* Fix use of LikeStr in anonstore.

* Fix use of LikeStr in ngalert/store and org/orgimpl.

* Fix use of LikeStr in queryhistory search.

* Fix use of LikeStr in serviceaccounts.

* Fix use of LikeStr in serviceaccounts.

* Fix use of LikeStr in services/team.

* Remove LikeStr method.
This commit is contained in:
Peter Štibraný
2025-05-02 11:23:57 +03:00
committed by GitHub
parent d7ebaafa94
commit e85acf047a
16 changed files with 82 additions and 51 deletions
@@ -285,8 +285,8 @@ func (s *AnonDBStore) SearchDevices(ctx context.Context, query *SearchDeviceQuer
sess.Where("d.updated_at BETWEEN ? AND ?", query.From.UTC(), query.To.UTC())
if query.Query != "" {
queryWithWildcards := "%" + strings.ReplaceAll(query.Query, "\\", "") + "%"
sess.Where("d.client_ip "+s.sqlStore.GetDialect().LikeStr()+" ?", queryWithWildcards)
sql, param := s.sqlStore.GetDialect().LikeOperator("d.client_ip", true, strings.ReplaceAll(query.Query, "\\", ""), true)
sess.Where(sql, param)
}
// get total
+21 -1
View File
@@ -307,7 +307,27 @@ func TestIntegrationDeviceService_SearchDevice(t *testing.T) {
UserAgent: "",
},
},
}
{
name: "device with IPv6 address and case-insensitive search",
insertDevices: []*anonstore.Device{
{
DeviceID: "32mdo31deeqwes",
ClientIP: "[2001:db8:3333:4444:cccc:DDDD:eeee:FFFF]:1000", // Using mixed-case to test case insensitivity
},
},
searchQuery: anonstore.SearchDeviceQuery{
Query: "CCCC", // Different case to test case insensitivity
Page: 1,
Limit: 50,
From: fixedTime,
To: fixedTime.Add(1 * time.Hour),
},
expectedCount: 1,
expectedDevice: &anonstore.Device{
DeviceID: "32mdo31deeqwes",
ClientIP: "[2001:db8:3333:4444:cccc:DDDD:eeee:FFFF]:1000",
},
}}
store := db.InitTestDB(t)
cfg := setting.NewCfg()
cfg.Anonymous.Enabled = true