thingsboard-memoizeit
Changes
dao/src/main/resources/cassandra/schema.cql 42(+42 -0)
dao/src/main/resources/sql/schema.sql 13(+13 -0)
Details
dao/src/main/resources/cassandra/schema.cql 42(+42 -0)
diff --git a/dao/src/main/resources/cassandra/schema.cql b/dao/src/main/resources/cassandra/schema.cql
index f03122a..bdd413d 100644
--- a/dao/src/main/resources/cassandra/schema.cql
+++ b/dao/src/main/resources/cassandra/schema.cql
@@ -638,3 +638,45 @@ CREATE TABLE IF NOT EXISTS thingsboard.rule_node (
additional_info text,
PRIMARY KEY (id)
);
+
+CREATE TABLE IF NOT EXISTS thingsboard.entity_views (
+ id timeuuid,
+ entity_id timeuuid,
+ tenant_id timeuuid,
+ customer_id timeuuid,
+ name text,
+ keys text,
+ ts_begin bigint,
+ ts_end bigint,
+ search_text text,
+ additional_info text,
+ PRIMARY KEY (id, entity_id, tenant_id, customer_id)
+);
+
+CREATE MATERIALIZED VIEW IF NOT EXISTS thingsboard.entity_views_by_tenant_and_name AS
+ SELECT *
+ from thingsboard.entity_views
+ WHERE entity_id IS NOT NULL AND tenant_id IS NOT NULL AND customer_id IS NOT NULL AND keys IS NOT NULL AND ts_begin IS NOT NULL AND ts_end IS NOT NULL AND name IS NOT NULL AND id IS NOT NULL
+ PRIMARY KEY (tenant_id, name, id, entity_id, customer_id)
+ WITH CLUSTERING ORDER BY (name ASC, id DESC, entity_id DESC, customer_id DESC);
+
+CREATE MATERIALIZED VIEW IF NOT EXISTS thingsboard.entity_views_by_tenant_and_entity AS
+ SELECT *
+ from thingsboard.entity_views
+ WHERE entity_id IS NOT NULL AND tenant_id IS NOT NULL AND customer_id IS NOT NULL AND keys IS NOT NULL AND ts_begin IS NOT NULL AND ts_end IS NOT NULL AND name IS NOT NULL AND id IS NOT NULL
+ PRIMARY KEY (tenant_id, entity_id, id, customer_id, name)
+ WITH CLUSTERING ORDER BY (entity_id ASC, customer_id ASC, id DESC, name DESC);
+
+CREATE MATERIALIZED VIEW IF NOT EXISTS thingsboard.entity_views_by_tenant_and_customer AS
+ SELECT *
+ from thingsboard.entity_views
+ WHERE entity_id IS NOT NULL AND tenant_id IS NOT NULL AND customer_id IS NOT NULL AND keys IS NOT NULL AND ts_begin IS NOT NULL AND ts_end IS NOT NULL AND name IS NOT NULL AND id IS NOT NULL
+ PRIMARY KEY (tenant_id, customer_id, id, entity_id, name)
+ WITH CLUSTERING ORDER BY (customer_id ASC, id DESC, entity_id DESC, name DESC);
+
+CREATE MATERIALIZED VIEW IF NOT EXISTS thingsboard.entity_views_by_tenant_and_customer_and_entity AS
+ SELECT *
+ from thingsboard.entity_views
+ WHERE entity_id IS NOT NULL AND tenant_id IS NOT NULL AND customer_id IS NOT NULL AND keys IS NOT NULL AND ts_begin IS NOT NULL AND ts_end IS NOT NULL AND name IS NOT NULL AND id IS NOT NULL
+ PRIMARY KEY (tenant_id, customer_id, entity_id, id, name)
+ WITH CLUSTERING ORDER BY (customer_id ASC, entity_id DESC, id DESC, name DESC);
dao/src/main/resources/sql/schema.sql 13(+13 -0)
diff --git a/dao/src/main/resources/sql/schema.sql b/dao/src/main/resources/sql/schema.sql
index 91e77da..8e21e72 100644
--- a/dao/src/main/resources/sql/schema.sql
+++ b/dao/src/main/resources/sql/schema.sql
@@ -251,3 +251,16 @@ CREATE TABLE IF NOT EXISTS rule_node (
debug_mode boolean,
search_text varchar(255)
);
+
+CREATE TABLE IF NOT EXISTS entity_views (
+ id varchar(31) NOT NULL CONSTRAINT entity_view_pkey PRIMARY KEY,
+ additional_info varchar,
+ customer_id varchar(31),
+ keys varchar(255),
+ ts_begin varchar(255),
+ ts_end varchar(255),
+ name varchar(255),
+ search_text varchar(255),
+ entity_id varchar(31),
+ tenant_id varchar(31)
+);