Skip to content

Commit 8b86964

Browse files
authored
feat: update promql-parser to v0.1.0 (#994)
feat: update promql-parser version to v0.1.0
1 parent a33d1e9 commit 8b86964

5 files changed

Lines changed: 14 additions & 8 deletions

File tree

Cargo.lock

Lines changed: 3 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/promql/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ common-catalog = { path = "../common/catalog" }
1313
datafusion.workspace = true
1414
datatypes = { path = "../datatypes" }
1515
futures = "0.3"
16-
promql-parser = { git = "https://github.com/GreptimeTeam/promql-parser.git", rev = "fa186978a1234baf5a3e372da03aa663d859cdd2" }
16+
promql-parser = "0.1.0"
1717
session = { path = "../session" }
1818
snafu = { version = "0.7", features = ["backtraces"] }
1919
table = { path = "../table" }

src/promql/src/error.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ pub enum Error {
2525
#[snafu(display("Unsupported expr type: {}", name))]
2626
UnsupportedExpr { name: String, backtrace: Backtrace },
2727

28-
#[snafu(display("Unexpected token: {}", token))]
28+
#[snafu(display("Unexpected token: {:?}", token))]
2929
UnexpectedToken {
3030
token: TokenType,
3131
backtrace: Backtrace,

src/promql/src/planner.rs

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -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();

src/query/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ futures-util.workspace = true
2929
metrics = "0.20"
3030
once_cell = "1.10"
3131
promql = { path = "../promql" }
32-
promql-parser = { git = "https://github.com/GreptimeTeam/promql-parser.git", rev = "fa186978a1234baf5a3e372da03aa663d859cdd2" }
32+
promql-parser = "0.1.0"
3333
serde.workspace = true
3434
serde_json = "1.0"
3535
session = { path = "../session" }

0 commit comments

Comments
 (0)