Files
greptimedb/tests/cases/standalone/common/promql/absent.result
Ruihang Xia 865ca44dbd feat: absent function in PromQL (#6618)
* feat: absent function in PromQL

Signed-off-by: Ruihang Xia <waynestxia@gmail.com>

* impl serde

Signed-off-by: Ruihang Xia <waynestxia@gmail.com>

* sqlness test

Signed-off-by: Ruihang Xia <waynestxia@gmail.com>

* ai suggests

Signed-off-by: Ruihang Xia <waynestxia@gmail.com>

* resolve PR comments

Signed-off-by: Ruihang Xia <waynestxia@gmail.com>

* comment out some tests

Signed-off-by: Ruihang Xia <waynestxia@gmail.com>

---------

Signed-off-by: Ruihang Xia <waynestxia@gmail.com>
2025-08-04 06:59:58 +00:00

123 lines
3.4 KiB
Plaintext

create table t (
ts timestamp(3) time index,
job STRING,
instance STRING,
val DOUBLE,
PRIMARY KEY(job, instance),
);
Affected Rows: 0
insert into t values
(0, 'job1', 'instance1', 1),
(0, 'job2', 'instance2', 2),
(5000, 'job1', 'instance3',3),
(5000, 'job2', 'instance4',4),
(10000, 'job1', 'instance5',5),
(10000, 'job2', 'instance6',6),
(15000, 'job1', 'instance7',7),
(15000, 'job2', 'instance8',8);
Affected Rows: 8
-- SQLNESS SORT_RESULT 3 1
tql eval (0, 15, '5s') absent(t{job="job1"});
++
++
-- SQLNESS SORT_RESULT 3 1
tql eval (0, 15, '5s') absent(t{job="job2"});
++
++
-- SQLNESS SORT_RESULT 3 1
tql eval (0, 15, '5s') absent(t{job="job3"});
+---------------------+-----+------+
| ts | val | job |
+---------------------+-----+------+
| 1970-01-01T00:00:00 | 1.0 | job3 |
| 1970-01-01T00:00:05 | 1.0 | job3 |
| 1970-01-01T00:00:10 | 1.0 | job3 |
| 1970-01-01T00:00:15 | 1.0 | job3 |
+---------------------+-----+------+
-- SQLNESS SORT_RESULT 3 1
tql eval (0, 15, '5s') absent(nonexistent_table);
+---------------------+-------+
| time | value |
+---------------------+-------+
| 1970-01-01T00:00:00 | 1.0 |
| 1970-01-01T00:00:05 | 1.0 |
| 1970-01-01T00:00:10 | 1.0 |
| 1970-01-01T00:00:15 | 1.0 |
+---------------------+-------+
-- SQLNESS SORT_RESULT 3 1
tql eval (0, 15, '5s') absent(t{job="nonexistent_job"});
+---------------------+-----+-----------------+
| ts | val | job |
+---------------------+-----+-----------------+
| 1970-01-01T00:00:00 | 1.0 | nonexistent_job |
| 1970-01-01T00:00:05 | 1.0 | nonexistent_job |
| 1970-01-01T00:00:10 | 1.0 | nonexistent_job |
| 1970-01-01T00:00:15 | 1.0 | nonexistent_job |
+---------------------+-----+-----------------+
-- SQLNESS SORT_RESULT 3 1
tql eval (1000, 1000, '1s') absent(t{job="job1"});
+---------------------+-----+------+
| ts | val | job |
+---------------------+-----+------+
| 1970-01-01T00:16:40 | 1.0 | job1 |
+---------------------+-----+------+
-- SQLNESS SORT_RESULT 3 1
tql eval (0, 15, '5s') absent(t{job="nonexistent_job1", job="nonexistent_job2"});
+---------------------+-----+------------------+
| ts | val | job |
+---------------------+-----+------------------+
| 1970-01-01T00:00:00 | 1.0 | nonexistent_job2 |
| 1970-01-01T00:00:05 | 1.0 | nonexistent_job2 |
| 1970-01-01T00:00:10 | 1.0 | nonexistent_job2 |
| 1970-01-01T00:00:15 | 1.0 | nonexistent_job2 |
+---------------------+-----+------------------+
-- SQLNESS SORT_RESULT 3 1
tql eval (0, 15, '5s') absent(t{job=~"nonexistent_job1", job!="nonexistent_job2"});
+---------------------+-----+
| ts | val |
+---------------------+-----+
| 1970-01-01T00:00:00 | 1.0 |
| 1970-01-01T00:00:05 | 1.0 |
| 1970-01-01T00:00:10 | 1.0 |
| 1970-01-01T00:00:15 | 1.0 |
+---------------------+-----+
-- SQLNESS SORT_RESULT 3 1
tql eval (0, 15, '5s') sum(t{job="job2"});
+---------------------+------------+
| ts | sum(t.val) |
+---------------------+------------+
| 1970-01-01T00:00:00 | 2.0 |
| 1970-01-01T00:00:05 | 6.0 |
| 1970-01-01T00:00:10 | 12.0 |
| 1970-01-01T00:00:15 | 20.0 |
+---------------------+------------+
-- ABSENT is not supported for aggregation functions for now
-- tql eval (0, 15, '5s') absent(sum(t{job="job2"}));
-- tql eval (0, 15, '5s') absent(sum(t{job="job3"}));
drop table t;
Affected Rows: 0