mirror of
https://github.com/GreptimeTeam/greptimedb.git
synced 2025-12-28 00:42:56 +00:00
* feat(metric): enable sparse primary key encoding by default Signed-off-by: WenyXu <wenymedia@gmail.com> * chore: update config.md Signed-off-by: WenyXu <wenymedia@gmail.com> * fix: fix unit tests Signed-off-by: WenyXu <wenymedia@gmail.com> * fix: fix unit tests Signed-off-by: WenyXu <wenymedia@gmail.com> * fix sqlness Signed-off-by: WenyXu <wenymedia@gmail.com> * Update src/mito-codec/src/key_values.rs Co-authored-by: Yingwen <realevenyag@gmail.com> * feat: only allow setting primary key encoding for metric engine Signed-off-by: evenyag <realevenyag@gmail.com> * feat: support deleting rows from logical region instead of physical region This keeps the behavior the same as put. It's easier to support sparse encoding for deleting logical regions. Now the metric engine doesn't support delete rows from physical region directly. Signed-off-by: evenyag <realevenyag@gmail.com> * test: update sqlness Signed-off-by: evenyag <realevenyag@gmail.com> * chore: remove unused error Signed-off-by: WenyXu <wenymedia@gmail.com> --------- Signed-off-by: WenyXu <wenymedia@gmail.com> Signed-off-by: evenyag <realevenyag@gmail.com> Co-authored-by: Yingwen <realevenyag@gmail.com>
89 lines
2.0 KiB
SQL
89 lines
2.0 KiB
SQL
CREATE TABLE system_metrics (
|
|
host STRING,
|
|
idc STRING,
|
|
cpu_util DOUBLE,
|
|
memory_util DOUBLE,
|
|
disk_util DOUBLE,
|
|
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP(),
|
|
PRIMARY KEY(host, idc),
|
|
TIME INDEX(ts)
|
|
);
|
|
|
|
INSERT INTO system_metrics
|
|
VALUES
|
|
("host1", "idc_a", 11.8, 10.3, 10.3, 1667446797450),
|
|
("host2", "idc_a", 80.0, 70.3, 90.0, 1667446797450),
|
|
("host1", "idc_b", 50.0, 66.7, 40.6, 1667446797450);
|
|
|
|
SELECT * FROM system_metrics;
|
|
|
|
SELECT count(*) FROM system_metrics;
|
|
|
|
SELECT avg(cpu_util) FROM system_metrics;
|
|
|
|
SELECT idc, avg(memory_util) FROM system_metrics GROUP BY idc ORDER BY idc;
|
|
|
|
create table foo (
|
|
host string,
|
|
ts timestamp DEFAULT '2023-04-29 00:00:00+00:00',
|
|
cpu double default 0,
|
|
TIME INDEX (ts),
|
|
PRIMARY KEY(host)
|
|
) engine=mito;
|
|
|
|
insert into foo (host, cpu, ts) values ('host1', 1.1, '2000-01-01 00:00:00+00:00');
|
|
|
|
insert into foo (host, cpu) values ('host2', 2.2);
|
|
|
|
insert into foo (host) values ('host3');
|
|
|
|
select * from foo order by ts;
|
|
|
|
CREATE TABLE phy (ts timestamp time index, val double) engine=metric with ("physical_metric_table" = "");
|
|
|
|
CREATE TABLE t1 (ts timestamp time index, val double, host string primary key) engine = metric with ("on_physical_table" = "phy");
|
|
|
|
INSERT INTO t1 VALUES ('host1',0, 0), ('host2', 1, 1,);
|
|
|
|
SELECT * from t1;
|
|
|
|
delete from t1;
|
|
|
|
-- do not support DELETE FROM physical table for now
|
|
delete from phy;
|
|
|
|
CREATE TABLE t2 (ts timestamp time index, job string primary key, val double) engine = metric with ("on_physical_table" = "phy");
|
|
|
|
SELECT * from t2;
|
|
|
|
INSERT INTO t2 VALUES ('job1', 0, 0), ('job2', 1, 1);
|
|
|
|
-- SQLNESS ARG restart=true
|
|
|
|
SELECT * FROM system_metrics;
|
|
|
|
select * from foo order by host asc;
|
|
|
|
SELECT * from t1 order by ts desc;
|
|
|
|
SELECT * from t2 order by ts desc;
|
|
|
|
DROP TABLE t1;
|
|
|
|
DROP TABLE t2;
|
|
|
|
DROP TABLE phy;
|
|
|
|
DROP TABLE system_metrics;
|
|
|
|
DROP TABLE foo;
|
|
|
|
-- SQLNESS PROTOCOL MYSQL
|
|
SET MAX_EXECUTION_TIME = 2000;
|
|
|
|
-- SQLNESS PROTOCOL MYSQL
|
|
SHOW VARIABLES MAX_EXECUTION_TIME;
|
|
|
|
-- SQLNESS PROTOCOL MYSQL
|
|
SET MAX_EXECUTION_TIME = 0;
|