fix: adapt ClickHouse log LIKE filters

This commit is contained in:
CaIon
2026-06-27 17:03:25 +08:00
parent 4aee5f7d5a
commit df44a75d53
3 changed files with 81 additions and 20 deletions
+28
View File
@@ -101,6 +101,34 @@ func TestClickHouseLogOrder(t *testing.T) {
assert.Equal(t, "logs.created_at desc, logs.request_id desc", clickHouseLogOrder("logs."))
}
func TestBuildLogLikeConditionUsesStandardEscape(t *testing.T) {
originalLogDatabaseType := common.LogDatabaseType()
t.Cleanup(func() {
common.SetLogDatabaseType(originalLogDatabaseType)
})
common.SetLogDatabaseType(common.DatabaseTypeSQLite)
condition, pattern, err := buildLogLikeCondition("logs.model_name", "gpt_4%")
require.NoError(t, err)
assert.Equal(t, "logs.model_name LIKE ? ESCAPE '!'", condition)
assert.Equal(t, "gpt!_4%", pattern)
}
func TestBuildLogLikeConditionUsesClickHouseEscaping(t *testing.T) {
originalLogDatabaseType := common.LogDatabaseType()
t.Cleanup(func() {
common.SetLogDatabaseType(originalLogDatabaseType)
})
common.SetLogDatabaseType(common.DatabaseTypeClickHouse)
condition, pattern, err := buildLogLikeCondition("logs.model_name", `gpt_4\mini%`)
require.NoError(t, err)
assert.Equal(t, "logs.model_name LIKE ?", condition)
assert.Equal(t, `gpt\_4\\mini%`, pattern)
}
func TestEnsureLogRequestId(t *testing.T) {
empty := &Log{}
ensureLogRequestId(empty)