feat: update promql-parser to v0.1.0 (#994)

feat: update promql-parser version to v0.1.0
This commit is contained in:
yuanbohan
2023-02-15 17:23:59 +08:00
committed by GitHub
parent a33d1e9863
commit 8b869642b8
5 changed files with 14 additions and 8 deletions

5
Cargo.lock generated
View File

@@ -5260,8 +5260,9 @@ dependencies = [
[[package]]
name = "promql-parser"
version = "0.0.1"
source = "git+https://github.com/GreptimeTeam/promql-parser.git?rev=fa186978a1234baf5a3e372da03aa663d859cdd2#fa186978a1234baf5a3e372da03aa663d859cdd2"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "24766dbb98852e704a98fc2c003d2b3ffa48317ab09b4ae184925f0e60385764"
dependencies = [
"cfgrammar",
"lazy_static",

View File

@@ -13,7 +13,7 @@ common-catalog = { path = "../common/catalog" }
datafusion.workspace = true
datatypes = { path = "../datatypes" }
futures = "0.3"
promql-parser = { git = "https://github.com/GreptimeTeam/promql-parser.git", rev = "fa186978a1234baf5a3e372da03aa663d859cdd2" }
promql-parser = "0.1.0"
session = { path = "../session" }
snafu = { version = "0.7", features = ["backtraces"] }
table = { path = "../table" }

View File

@@ -25,7 +25,7 @@ pub enum Error {
#[snafu(display("Unsupported expr type: {}", name))]
UnsupportedExpr { name: String, backtrace: Backtrace },
#[snafu(display("Unexpected token: {}", token))]
#[snafu(display("Unexpected token: {:?}", token))]
UnexpectedToken {
token: TokenType,
backtrace: Backtrace,

View File

@@ -103,7 +103,10 @@ impl<S: ContextProvider> PromPlanner<S> {
let input = self.prom_expr_to_plan(*expr.clone())?;
// calculate columns to group by
let group_exprs = self.agg_modifier_to_col(input.schema(), modifier)?;
let group_exprs = modifier.as_ref().map_or(Ok(Vec::new()), |m| {
self.agg_modifier_to_col(input.schema(), m)
})?;
// convert op and value columns to aggregate exprs
let aggr_exprs = self.create_aggregate_exprs(*op, &input)?;
@@ -629,7 +632,7 @@ impl<S: ContextProvider> PromPlanner<S> {
token::T_STDVAR => AggregateFunctionEnum::Variance,
token::T_TOPK | token::T_BOTTOMK | token::T_COUNT_VALUES | token::T_QUANTILE => {
UnsupportedExprSnafu {
name: op.to_string(),
name: format!("{op:?}"),
}
.fail()?
}
@@ -1135,7 +1138,9 @@ mod test {
// test group without
if let PromExpr::Aggregate(AggregateExpr { modifier, .. }) = &mut eval_stmt.expr {
*modifier = AggModifier::Without(vec![String::from("tag_1")].into_iter().collect());
*modifier = Some(AggModifier::Without(
vec![String::from("tag_1")].into_iter().collect(),
));
}
let context_provider = build_test_context_provider("some_metric".to_string(), 2, 2).await;
let plan = PromPlanner::stmt_to_plan(eval_stmt, context_provider).unwrap();

View File

@@ -29,7 +29,7 @@ futures-util.workspace = true
metrics = "0.20"
once_cell = "1.10"
promql = { path = "../promql" }
promql-parser = { git = "https://github.com/GreptimeTeam/promql-parser.git", rev = "fa186978a1234baf5a3e372da03aa663d859cdd2" }
promql-parser = "0.1.0"
serde.workspace = true
serde_json = "1.0"
session = { path = "../session" }