diff --git a/Cargo.lock b/Cargo.lock index 3d853da4c5..80126a20ab 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -9541,8 +9541,9 @@ dependencies = [ [[package]] name = "promql-parser" -version = "0.5.1" -source = "git+https://github.com/GreptimeTeam/promql-parser.git?rev=0410e8b459dda7cb222ce9596f8bf3971bd07bd2#0410e8b459dda7cb222ce9596f8bf3971bd07bd2" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "328fe69c2443ec4f8e6c33ea925dde04a1026e6c95928e89ed02343944cac9bf" dependencies = [ "cfgrammar", "chrono", diff --git a/Cargo.toml b/Cargo.toml index 5ae8cc5b62..e8498c3f8a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -172,9 +172,7 @@ parquet = { version = "54.2", default-features = false, features = ["arrow", "as paste = "1.0" pin-project = "1.0" prometheus = { version = "0.13.3", features = ["process"] } -promql-parser = { git = "https://github.com/GreptimeTeam/promql-parser.git", rev = "0410e8b459dda7cb222ce9596f8bf3971bd07bd2", features = [ - "ser", -] } +promql-parser = { version = "0.6", features = ["ser"] } prost = { version = "0.13", features = ["no-recursion-limit"] } raft-engine = { version = "0.4.1", default-features = false } rand = "0.9" diff --git a/tests-integration/tests/http.rs b/tests-integration/tests/http.rs index be77d844bc..f95feee608 100644 --- a/tests-integration/tests/http.rs +++ b/tests-integration/tests/http.rs @@ -616,6 +616,17 @@ pub async fn test_prom_http_api(store_type: StorageType) { .send() .await; assert_eq!(res.status(), StatusCode::OK); + let res = client + .get("/v1/prometheus/api/v1/query_range?query=up&start=1&end=100&step=0.5") + .send() + .await; + assert_eq!(res.status(), StatusCode::OK); + let res = client + .post("/v1/prometheus/api/v1/query_range?query=up&start=1&end=100&step=0.5") + .header("Content-Type", "application/x-www-form-urlencoded") + .send() + .await; + assert_eq!(res.status(), StatusCode::OK); // labels let res = client diff --git a/tests/cases/standalone/common/tql/basic.result b/tests/cases/standalone/common/tql/basic.result index 8dbb3230e8..ed17f945bb 100644 --- a/tests/cases/standalone/common/tql/basic.result +++ b/tests/cases/standalone/common/tql/basic.result @@ -112,6 +112,102 @@ TQL EVAL (0, 10, '1s', '2s') test{k="a"}; | 2.0 | 1970-01-01T00:00:02 | a | +-----+---------------------+---+ +-- SQLNESS SORT_RESULT 2 1 +TQL EVAL (0, 10, '0.5') test; + ++-----+-------------------------+---+ +| i | j | k | ++-----+-------------------------+---+ +| 1.0 | 1970-01-01T00:00:00.500 | b | +| 1.0 | 1970-01-01T00:00:01 | b | +| 1.0 | 1970-01-01T00:00:01.500 | b | +| 1.0 | 1970-01-01T00:00:02 | b | +| 1.0 | 1970-01-01T00:00:02.500 | b | +| 1.0 | 1970-01-01T00:00:03 | b | +| 1.0 | 1970-01-01T00:00:03.500 | b | +| 1.0 | 1970-01-01T00:00:04 | b | +| 1.0 | 1970-01-01T00:00:04.500 | b | +| 1.0 | 1970-01-01T00:00:05 | b | +| 1.0 | 1970-01-01T00:00:05.500 | b | +| 1.0 | 1970-01-01T00:00:06 | b | +| 1.0 | 1970-01-01T00:00:06.500 | b | +| 1.0 | 1970-01-01T00:00:07 | b | +| 1.0 | 1970-01-01T00:00:07.500 | b | +| 1.0 | 1970-01-01T00:00:08 | b | +| 1.0 | 1970-01-01T00:00:08.500 | b | +| 1.0 | 1970-01-01T00:00:09 | b | +| 1.0 | 1970-01-01T00:00:09.500 | b | +| 1.0 | 1970-01-01T00:00:10 | b | +| 2.0 | 1970-01-01T00:00:00.500 | a | +| 2.0 | 1970-01-01T00:00:01 | a | +| 2.0 | 1970-01-01T00:00:01.500 | a | +| 2.0 | 1970-01-01T00:00:02 | a | +| 2.0 | 1970-01-01T00:00:02.500 | a | +| 2.0 | 1970-01-01T00:00:03 | a | +| 2.0 | 1970-01-01T00:00:03.500 | a | +| 2.0 | 1970-01-01T00:00:04 | a | +| 2.0 | 1970-01-01T00:00:04.500 | a | +| 2.0 | 1970-01-01T00:00:05 | a | +| 2.0 | 1970-01-01T00:00:05.500 | a | +| 2.0 | 1970-01-01T00:00:06 | a | +| 2.0 | 1970-01-01T00:00:06.500 | a | +| 2.0 | 1970-01-01T00:00:07 | a | +| 2.0 | 1970-01-01T00:00:07.500 | a | +| 2.0 | 1970-01-01T00:00:08 | a | +| 2.0 | 1970-01-01T00:00:08.500 | a | +| 2.0 | 1970-01-01T00:00:09 | a | +| 2.0 | 1970-01-01T00:00:09.500 | a | +| 2.0 | 1970-01-01T00:00:10 | a | ++-----+-------------------------+---+ + +-- SQLNESS SORT_RESULT 2 1 +TQL EVAL (0, 10, 0.5) test; + ++-----+-------------------------+---+ +| i | j | k | ++-----+-------------------------+---+ +| 1.0 | 1970-01-01T00:00:00.500 | b | +| 1.0 | 1970-01-01T00:00:01 | b | +| 1.0 | 1970-01-01T00:00:01.500 | b | +| 1.0 | 1970-01-01T00:00:02 | b | +| 1.0 | 1970-01-01T00:00:02.500 | b | +| 1.0 | 1970-01-01T00:00:03 | b | +| 1.0 | 1970-01-01T00:00:03.500 | b | +| 1.0 | 1970-01-01T00:00:04 | b | +| 1.0 | 1970-01-01T00:00:04.500 | b | +| 1.0 | 1970-01-01T00:00:05 | b | +| 1.0 | 1970-01-01T00:00:05.500 | b | +| 1.0 | 1970-01-01T00:00:06 | b | +| 1.0 | 1970-01-01T00:00:06.500 | b | +| 1.0 | 1970-01-01T00:00:07 | b | +| 1.0 | 1970-01-01T00:00:07.500 | b | +| 1.0 | 1970-01-01T00:00:08 | b | +| 1.0 | 1970-01-01T00:00:08.500 | b | +| 1.0 | 1970-01-01T00:00:09 | b | +| 1.0 | 1970-01-01T00:00:09.500 | b | +| 1.0 | 1970-01-01T00:00:10 | b | +| 2.0 | 1970-01-01T00:00:00.500 | a | +| 2.0 | 1970-01-01T00:00:01 | a | +| 2.0 | 1970-01-01T00:00:01.500 | a | +| 2.0 | 1970-01-01T00:00:02 | a | +| 2.0 | 1970-01-01T00:00:02.500 | a | +| 2.0 | 1970-01-01T00:00:03 | a | +| 2.0 | 1970-01-01T00:00:03.500 | a | +| 2.0 | 1970-01-01T00:00:04 | a | +| 2.0 | 1970-01-01T00:00:04.500 | a | +| 2.0 | 1970-01-01T00:00:05 | a | +| 2.0 | 1970-01-01T00:00:05.500 | a | +| 2.0 | 1970-01-01T00:00:06 | a | +| 2.0 | 1970-01-01T00:00:06.500 | a | +| 2.0 | 1970-01-01T00:00:07 | a | +| 2.0 | 1970-01-01T00:00:07.500 | a | +| 2.0 | 1970-01-01T00:00:08 | a | +| 2.0 | 1970-01-01T00:00:08.500 | a | +| 2.0 | 1970-01-01T00:00:09 | a | +| 2.0 | 1970-01-01T00:00:09.500 | a | +| 2.0 | 1970-01-01T00:00:10 | a | ++-----+-------------------------+---+ + TQL EVAL ('1970-01-01T00:00:00'::timestamp, '1970-01-01T00:00:00'::timestamp + '10 seconds'::interval, '1s') test{k="a"}; +-----+---------------------+---+ diff --git a/tests/cases/standalone/common/tql/basic.sql b/tests/cases/standalone/common/tql/basic.sql index 6bd875a6f1..9652824516 100644 --- a/tests/cases/standalone/common/tql/basic.sql +++ b/tests/cases/standalone/common/tql/basic.sql @@ -35,6 +35,13 @@ TQL EVAL (0, 10, '5s') test{k="a"}; TQL EVAL (0, 10, '1s', '2s') test{k="a"}; +-- SQLNESS SORT_RESULT 2 1 +TQL EVAL (0, 10, '0.5') test; + +-- SQLNESS SORT_RESULT 2 1 +TQL EVAL (0, 10, 0.5) test; + + TQL EVAL ('1970-01-01T00:00:00'::timestamp, '1970-01-01T00:00:00'::timestamp + '10 seconds'::interval, '1s') test{k="a"}; TQL EVAL (now() - now(), now() - (now() - '10 seconds'::interval), '1s') test{k="a"};