mirror of
https://github.com/GreptimeTeam/greptimedb.git
synced 2026-01-07 22:02:56 +00:00
* feat: support to rollback table metadata * refactor: store table route value instead of physical table route * feat(drop_table): support to rollback table metadata * test: add rollback tests for drop table * fix: do not set region to readonly * test: add sqlness tests * feat: implement TombstoneManager * test: add tests for TombstoneManager * refactor: using TombstoneManager * chore: remove unused code * fix: fix typo * refactor: using `on_restore_metadata` * refactor: add `executor` to `DropTableProcedure` * refactor: simplify the `TombstoneManager` * refactor: refactor `Key` * refactor: carry more info * feat: add `destroy_table_metadata` * refactor: remove redundant table_route_value * feat: ensure the key is empty * feat: introcude `table_metadata_keys` * chore: carry more info * chore: remove clone * chore: apply suggestions from CR * feat: delete metadata tombstone
58 lines
1.5 KiB
SQL
58 lines
1.5 KiB
SQL
CREATE TABLE phy (ts timestamp time index, val double) engine=metric with ("physical_metric_table" = "");
|
|
|
|
SHOW TABLES;
|
|
|
|
DESC TABLE phy;
|
|
|
|
CREATE TABLE t1 (ts timestamp time index, val double, host string primary key) engine = metric with ("on_physical_table" = "phy");
|
|
|
|
CREATE TABLE t2 (ts timestamp time index, job string primary key, val double) engine = metric with ("on_physical_table" = "phy");
|
|
|
|
SELECT table_catalog, table_schema, table_name, table_type, engine FROM information_schema.tables WHERE engine = 'metric' order by table_name;
|
|
|
|
DESC TABLE phy;
|
|
|
|
DESC TABLE t1;
|
|
|
|
DESC TABLE t2;
|
|
|
|
-- should be failed
|
|
-- SQLNESS REPLACE (region\s\d+\(\d+\,\s\d+\)) region
|
|
DROP TABLE phy;
|
|
-- metadata should be restored
|
|
DESC TABLE phy;
|
|
|
|
DROP TABLE t1;
|
|
|
|
DROP TABLE t2;
|
|
|
|
DROP TABLE phy;
|
|
|
|
-- create one with other primary keys
|
|
CREATE TABLE phy2 (ts timestamp time index, val double, abc string, def string, primary key (abc, def)) engine=metric with ("physical_metric_table" = "");
|
|
|
|
DESC TABLE phy2;
|
|
|
|
DROP TABLE phy2;
|
|
|
|
-- fuzz test case https://github.com/GreptimeTeam/greptimedb/issues/3612
|
|
CREATE TABLE `auT`(
|
|
incidunt TIMESTAMP(3) TIME INDEX,
|
|
`QuaErAT` BOOLEAN,
|
|
`REPREHenDERIt` BOOLEAN DEFAULT true,
|
|
`Et` INT NULL,
|
|
`AutEM` INT,
|
|
esse DOUBLE,
|
|
`Tempore` BOOLEAN,
|
|
`reruM` BOOLEAN,
|
|
`eRrOR` BOOLEAN NULL,
|
|
`cOMmodi` BOOLEAN,
|
|
`PERfERENdIS` DOUBLE,
|
|
`eSt` FLOAT DEFAULT 0.70978713,
|
|
PRIMARY KEY(`cOMmodi`, `PERfERENdIS`, esse)
|
|
) ENGINE = metric with ("physical_metric_table" = "");
|
|
|
|
DESC TABLE `auT`;
|
|
|
|
DROP TABLE `auT`;
|