@@ -103,7 +103,10 @@ impl<S: ContextProvider> PromPlanner<S> {
103103 let input = self . prom_expr_to_plan ( * expr. clone ( ) ) ?;
104104
105105 // calculate columns to group by
106- let group_exprs = self . agg_modifier_to_col ( input. schema ( ) , modifier) ?;
106+ let group_exprs = modifier. as_ref ( ) . map_or ( Ok ( Vec :: new ( ) ) , |m| {
107+ self . agg_modifier_to_col ( input. schema ( ) , m)
108+ } ) ?;
109+
107110 // convert op and value columns to aggregate exprs
108111 let aggr_exprs = self . create_aggregate_exprs ( * op, & input) ?;
109112
@@ -629,7 +632,7 @@ impl<S: ContextProvider> PromPlanner<S> {
629632 token:: T_STDVAR => AggregateFunctionEnum :: Variance ,
630633 token:: T_TOPK | token:: T_BOTTOMK | token:: T_COUNT_VALUES | token:: T_QUANTILE => {
631634 UnsupportedExprSnafu {
632- name : op . to_string ( ) ,
635+ name : format ! ( "{op:?}" ) ,
633636 }
634637 . fail ( ) ?
635638 }
@@ -1135,7 +1138,9 @@ mod test {
11351138
11361139 // test group without
11371140 if let PromExpr :: Aggregate ( AggregateExpr { modifier, .. } ) = & mut eval_stmt. expr {
1138- * modifier = AggModifier :: Without ( vec ! [ String :: from( "tag_1" ) ] . into_iter ( ) . collect ( ) ) ;
1141+ * modifier = Some ( AggModifier :: Without (
1142+ vec ! [ String :: from( "tag_1" ) ] . into_iter ( ) . collect ( ) ,
1143+ ) ) ;
11391144 }
11401145 let context_provider = build_test_context_provider ( "some_metric" . to_string ( ) , 2 , 2 ) . await ;
11411146 let plan = PromPlanner :: stmt_to_plan ( eval_stmt, context_provider) . unwrap ( ) ;
0 commit comments