@@ -56,7 +56,7 @@ use crate::catalog::Snapshot as CatalogSnapshot;
5656use crate :: catalog:: column:: { Int64Type , TypedStatistics } ;
5757use crate :: catalog:: manifest:: Manifest ;
5858use crate :: catalog:: snapshot:: Snapshot ;
59- use crate :: event:: { self , DEFAULT_TIMESTAMP_KEY } ;
59+ use crate :: event:: DEFAULT_TIMESTAMP_KEY ;
6060use crate :: handlers:: http:: query:: QueryError ;
6161use crate :: option:: Mode ;
6262use crate :: parseable:: PARSEABLE ;
@@ -345,7 +345,7 @@ impl CountsRequest {
345345 . get_stream ( & self . stream )
346346 . map_err ( |err| anyhow:: Error :: msg ( err. to_string ( ) ) ) ?
347347 . get_time_partition ( )
348- . unwrap_or_else ( || event :: DEFAULT_TIMESTAMP_KEY . to_owned ( ) ) ;
348+ . unwrap_or_else ( || DEFAULT_TIMESTAMP_KEY . to_owned ( ) ) ;
349349
350350 // get time range
351351 let time_range = TimeRange :: parse_human_time ( & self . start_time , & self . end_time ) ?;
@@ -441,7 +441,7 @@ impl CountsRequest {
441441 }
442442
443443 /// This function will get executed only if self.conditions is some
444- pub async fn get_df_sql ( & self ) -> Result < String , QueryError > {
444+ pub async fn get_df_sql ( & self , time_column : String ) -> Result < String , QueryError > {
445445 // unwrap because we have asserted that it is some
446446 let count_conditions = self . conditions . as_ref ( ) . unwrap ( ) ;
447447
@@ -452,19 +452,19 @@ impl CountsRequest {
452452 let date_bin = if dur. num_minutes ( ) <= 60 * 10 {
453453 // date_bin 1 minute
454454 format ! (
455- "CAST(DATE_BIN('1 minute', \" {}\" .p_timestamp , TIMESTAMP '1970-01-01 00:00:00+00') AS TEXT) as start_time, DATE_BIN('1 minute', p_timestamp , TIMESTAMP '1970-01-01 00:00:00+00') + INTERVAL '1 minute' as end_time" ,
455+ "CAST(DATE_BIN('1 minute', \" {}\" .\" {time_column} \" , TIMESTAMP '1970-01-01 00:00:00+00') AS TEXT) as start_time, DATE_BIN('1 minute', \" {time_column} \" , TIMESTAMP '1970-01-01 00:00:00+00') + INTERVAL '1 minute' as end_time" ,
456456 self . stream
457457 )
458458 } else if dur. num_minutes ( ) > 60 * 10 && dur. num_minutes ( ) < 60 * 240 {
459459 // date_bin 1 hour
460460 format ! (
461- "CAST(DATE_BIN('1 hour', \" {}\" .p_timestamp , TIMESTAMP '1970-01-01 00:00:00+00') AS TEXT) as start_time, DATE_BIN('1 hour', p_timestamp , TIMESTAMP '1970-01-01 00:00:00+00') + INTERVAL '1 hour' as end_time" ,
461+ "CAST(DATE_BIN('1 hour', \" {}\" .\" {time_column} \" , TIMESTAMP '1970-01-01 00:00:00+00') AS TEXT) as start_time, DATE_BIN('1 hour', \" {time_column} \" , TIMESTAMP '1970-01-01 00:00:00+00') + INTERVAL '1 hour' as end_time" ,
462462 self . stream
463463 )
464464 } else {
465465 // date_bin 1 day
466466 format ! (
467- "CAST(DATE_BIN('1 day', \" {}\" .p_timestamp , TIMESTAMP '1970-01-01 00:00:00+00') AS TEXT) as start_time, DATE_BIN('1 day', p_timestamp , TIMESTAMP '1970-01-01 00:00:00+00') + INTERVAL '1 day' as end_time" ,
467+ "CAST(DATE_BIN('1 day', \" {}\" .\" {time_column} \" , TIMESTAMP '1970-01-01 00:00:00+00') AS TEXT) as start_time, DATE_BIN('1 day', \" {time_column} \" , TIMESTAMP '1970-01-01 00:00:00+00') + INTERVAL '1 day' as end_time" ,
468468 self . stream
469469 )
470470 } ;
@@ -486,7 +486,7 @@ impl CountsRequest {
486486}
487487
488488/// Response for the counts API
489- #[ derive( Debug , Serialize , Clone ) ]
489+ #[ derive( Debug , Serialize , Clone , Deserialize ) ]
490490pub struct CountsResponse {
491491 /// Fields in the log stream
492492 pub fields : Vec < String > ,
@@ -653,7 +653,7 @@ fn table_contains_any_time_filters(
653653 } )
654654 . any ( |expr| {
655655 matches ! ( & * expr. left, Expr :: Column ( Column { name, .. } )
656- if name == time_column)
656+ if name == & default_timestamp || name == time_column)
657657 } )
658658}
659659
0 commit comments