@@ -8,7 +8,7 @@ use logql::parser::{LogQuery, MetricQuery};
88use reqwest:: Client ;
99use serde_json:: Value as JSONValue ;
1010use sqlbuilder:: {
11- builder:: { time_range_into_timing, QueryPlan , TableSchema } ,
11+ builder:: { time_range_into_timing, QueryConverter , QueryPlan , TableSchema } ,
1212 visit:: { DefaultIRVisitor , LogQLVisitor } ,
1313} ;
1414use std:: {
@@ -48,6 +48,13 @@ impl CKLogQuerier {
4848 tx,
4949 }
5050 }
51+ fn new_converter ( & self ) -> CKLogConverter < LogTable > {
52+ CKLogConverter :: new (
53+ self . schema . clone ( ) ,
54+ self . ck_cfg . replace_dash_to_dot . unwrap_or ( false ) ,
55+ !self . ck_cfg . level_case_sensitive . unwrap_or ( false ) ,
56+ )
57+ }
5158}
5259
5360#[ async_trait]
@@ -57,12 +64,7 @@ impl LogStorage for CKLogQuerier {
5764 q : & LogQuery ,
5865 opt : QueryLimits ,
5966 ) -> Result < Vec < LogItem > > {
60- let sql = logql_to_sql (
61- q,
62- opt,
63- & self . schema ,
64- self . ck_cfg . replace_dash_to_dot . unwrap_or ( false ) ,
65- ) ;
67+ let sql = logql_to_sql ( q, opt, & self . schema , self . new_converter ( ) ) ;
6668 let mut results = vec ! [ ] ;
6769 let rows =
6870 send_query ( self . cli . clone ( ) , self . ck_cfg . common . clone ( ) , sql)
@@ -86,7 +88,12 @@ impl LogStorage for CKLogQuerier {
8688 q : & MetricQuery ,
8789 opt : QueryLimits ,
8890 ) -> Result < Vec < MetricItem > > {
89- let sql = new_from_metricquery ( q, opt, self . schema . clone ( ) ) ;
91+ let sql = new_from_metricquery (
92+ q,
93+ opt,
94+ self . schema . clone ( ) ,
95+ self . new_converter ( ) ,
96+ ) ;
9097 let mut results = vec ! [ ] ;
9198 let rows =
9299 send_query ( self . cli . clone ( ) , self . ck_cfg . common . clone ( ) , sql)
@@ -274,12 +281,13 @@ fn new_from_metricquery(
274281 q : & MetricQuery ,
275282 limits : QueryLimits ,
276283 schema : LogTable ,
284+ converter : impl QueryConverter ,
277285) -> String {
278286 let v = LogQLVisitor :: new ( DefaultIRVisitor { } ) ;
279287 let selection = v. visit ( & q. log_query ) ;
280288 let step = limits. step . unwrap_or ( DEFAULT_STEP ) ;
281289 let qp = QueryPlan :: new (
282- CKLogConverter :: new ( schema . clone ( ) , false ) ,
290+ converter ,
283291 schema. clone ( ) ,
284292 vec ! [
285293 to_start_interval( step) . to_string( ) ,
@@ -299,12 +307,12 @@ fn logql_to_sql(
299307 q : & LogQuery ,
300308 limits : QueryLimits ,
301309 schema : & LogTable ,
302- replace_dash : bool ,
310+ converter : impl QueryConverter ,
303311) -> String {
304312 let v = LogQLVisitor :: new ( DefaultIRVisitor { } ) ;
305313 let selection = v. visit ( q) ;
306314 let qp = QueryPlan :: new (
307- CKLogConverter :: new ( schema . clone ( ) , replace_dash ) ,
315+ converter ,
308316 schema. clone ( ) ,
309317 schema. projection ( ) ,
310318 selection,
@@ -435,7 +443,7 @@ impl TableSchema for LogTable {
435443 self . table . as_str ( )
436444 }
437445 fn level_key ( & self ) -> & str {
438- "SeverityNumber "
446+ "SeverityText "
439447 }
440448 fn trace_key ( & self ) -> & str {
441449 "TraceId"
0 commit comments