mirror of
https://github.com/GreptimeTeam/greptimedb.git
synced 2026-01-14 01:02:55 +00:00
* Revert "fix(promql): ignore filters for non-existent labels (#5519)"
This reverts commit 33a2485f54.
* reimplement
Signed-off-by: Ruihang Xia <waynestxia@gmail.com>
* state safety
Signed-off-by: Ruihang Xia <waynestxia@gmail.com>
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com>
84 lines
2.3 KiB
SQL
84 lines
2.3 KiB
SQL
CREATE TABLE test (
|
|
ts timestamp(3) time index,
|
|
host STRING,
|
|
idc STRING,
|
|
val BIGINT,
|
|
PRIMARY KEY(host, idc),
|
|
);
|
|
|
|
INSERT INTO TABLE test VALUES
|
|
(0, 'host1', 'idc1', 1),
|
|
(0, 'host2', 'idc1', 2),
|
|
(5000, 'host1', 'idc2:zone1',3),
|
|
(5000, 'host2', 'idc2',4),
|
|
(10000, 'host1', 'idc3:zone2',5),
|
|
(10000, 'host2', 'idc3',6),
|
|
(15000, 'host1', 'idc4:zone3',7),
|
|
(15000, 'host2', 'idc4',8);
|
|
|
|
-- Missing source labels --
|
|
TQL EVAL (0, 15, '5s') label_join(test{host="host1"}, "new_host", "-");
|
|
|
|
-- dst_label is equal to source label --
|
|
-- SQLNESS SORT_RESULT 3 1
|
|
TQL EVAL (0, 15, '5s') label_join(test{host="host1"}, "host", "-", "host");
|
|
|
|
-- dst_label is in source labels --
|
|
-- SQLNESS SORT_RESULT 3 1
|
|
TQL EVAL (0, 15, '5s') label_join(test{host="host1"}, "host", "-", "idc", "host");
|
|
|
|
-- test the empty source label --
|
|
-- SQLNESS SORT_RESULT 3 1
|
|
TQL EVAL (0, 15, '5s') label_join(test{host="host1"}, "host", "-", "");
|
|
|
|
-- SQLNESS SORT_RESULT 3 1
|
|
TQL EVAL (0, 15, '5s') label_join(test{host="host1"}, "new_host", "-", "idc", "host");
|
|
|
|
-- SQLNESS SORT_RESULT 3 1
|
|
TQL EVAL (0, 15, '5s') label_replace(test{host="host1"}, "new_idc", "$2", "idc", "(.*):(.*)");
|
|
|
|
-- SQLNESS SORT_RESULT 3 1
|
|
TQL EVAL (0, 15, '5s') label_replace(test{host="host1"}, "new_idc", "idc99", "idc", "idc2.*");
|
|
|
|
-- SQLNESS SORT_RESULT 3 1
|
|
TQL EVAL (0, 15, '5s') label_replace(test{host="host2"}, "new_idc", "$2", "idc", "(.*):(.*)");
|
|
|
|
-- dst_label is equal to source label --
|
|
-- SQLNESS SORT_RESULT 3 1
|
|
TQL EVAL (0, 15, '5s') label_replace(test{host="host2"}, "idc", "$2", "idc", "(.*):(.*)");
|
|
|
|
-- test the empty source label --
|
|
-- TODO(dennis): we can't remove the label currently --
|
|
-- SQLNESS SORT_RESULT 3 1
|
|
TQL EVAL (0, 15, '5s') label_replace(test{host="host2"}, "idc", "", "", "");
|
|
|
|
DROP TABLE test;
|
|
|
|
CREATE TABLE test (
|
|
ts timestamp(3) time index,
|
|
host STRING,
|
|
val BIGINT,
|
|
PRIMARY KEY(host),
|
|
);
|
|
|
|
INSERT INTO TABLE test VALUES
|
|
(0, 'host1', 1),
|
|
(0, 'host2', 2);
|
|
|
|
SELECT * FROM test;
|
|
|
|
-- test the non-existent matchers --
|
|
TQL EVAL (0, 1, '5s') test{job=~"host1|host3"};
|
|
|
|
-- SQLNESS SORT_RESULT 3 1
|
|
TQL EVAL (0, 1, '5s') test{job=~".*"};
|
|
|
|
TQL EVAL (0, 1, '5s') test{job=~".+"};
|
|
|
|
-- SQLNESS SORT_RESULT 3 1
|
|
TQL EVAL (0, 1, '5s') test{job=""};
|
|
|
|
TQL EVAL (0, 1, '5s') test{job!=""};
|
|
|
|
DROP TABLE test;
|