mirror of
https://github.com/GreptimeTeam/greptimedb.git
synced 2026-01-08 06:12:55 +00:00
* 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>
123 lines
3.4 KiB
Plaintext
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
|
|
|