committed by
GitHub
34 changed files with 755 additions and 41 deletions
@ -0,0 +1,110 @@ |
|||||
|
-- |
||||
|
-- Copyright © 2016-2018 The Thingsboard Authors |
||||
|
-- |
||||
|
-- Licensed under the Apache License, Version 2.0 (the "License"); |
||||
|
-- you may not use this file except in compliance with the License. |
||||
|
-- You may obtain a copy of the License at |
||||
|
-- |
||||
|
-- http://www.apache.org/licenses/LICENSE-2.0 |
||||
|
-- |
||||
|
-- Unless required by applicable law or agreed to in writing, software |
||||
|
-- distributed under the License is distributed on an "AS IS" BASIS, |
||||
|
-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
|
-- See the License for the specific language governing permissions and |
||||
|
-- limitations under the License. |
||||
|
-- |
||||
|
|
||||
|
DROP MATERIALIZED VIEW IF EXISTS thingsboard.entity_view_by_tenant_and_name; |
||||
|
DROP MATERIALIZED VIEW IF EXISTS thingsboard.entity_view_by_tenant_and_search_text; |
||||
|
DROP MATERIALIZED VIEW IF EXISTS thingsboard.entity_view_by_tenant_and_customer; |
||||
|
DROP MATERIALIZED VIEW IF EXISTS thingsboard.entity_view_by_tenant_and_entity_id; |
||||
|
|
||||
|
DROP TABLE IF EXISTS thingsboard.entity_views; |
||||
|
|
||||
|
CREATE TABLE IF NOT EXISTS thingsboard.entity_view ( |
||||
|
id timeuuid, |
||||
|
entity_id timeuuid, |
||||
|
entity_type text, |
||||
|
tenant_id timeuuid, |
||||
|
customer_id timeuuid, |
||||
|
name text, |
||||
|
type text, |
||||
|
keys text, |
||||
|
start_ts bigint, |
||||
|
end_ts bigint, |
||||
|
search_text text, |
||||
|
additional_info text, |
||||
|
PRIMARY KEY (id, entity_id, tenant_id, customer_id, type) |
||||
|
); |
||||
|
|
||||
|
CREATE MATERIALIZED VIEW IF NOT EXISTS thingsboard.entity_view_by_tenant_and_name AS |
||||
|
SELECT * |
||||
|
from thingsboard.entity_view |
||||
|
WHERE tenant_id IS NOT NULL |
||||
|
AND entity_id IS NOT NULL |
||||
|
AND customer_id IS NOT NULL |
||||
|
AND type IS NOT NULL |
||||
|
AND name IS NOT NULL |
||||
|
AND id IS NOT NULL |
||||
|
PRIMARY KEY (tenant_id, name, id, customer_id, entity_id, type) |
||||
|
WITH CLUSTERING ORDER BY (name ASC, id DESC, customer_id DESC); |
||||
|
|
||||
|
CREATE MATERIALIZED VIEW IF NOT EXISTS thingsboard.entity_view_by_tenant_and_search_text AS |
||||
|
SELECT * |
||||
|
from thingsboard.entity_view |
||||
|
WHERE tenant_id IS NOT NULL |
||||
|
AND entity_id IS NOT NULL |
||||
|
AND customer_id IS NOT NULL |
||||
|
AND type IS NOT NULL |
||||
|
AND search_text IS NOT NULL |
||||
|
AND id IS NOT NULL |
||||
|
PRIMARY KEY (tenant_id, search_text, id, customer_id, entity_id, type) |
||||
|
WITH CLUSTERING ORDER BY (search_text ASC, id DESC, customer_id DESC); |
||||
|
|
||||
|
CREATE MATERIALIZED VIEW IF NOT EXISTS thingsboard.entity_view_by_tenant_by_type_and_search_text AS |
||||
|
SELECT * |
||||
|
from thingsboard.entity_view |
||||
|
WHERE tenant_id IS NOT NULL |
||||
|
AND entity_id IS NOT NULL |
||||
|
AND customer_id IS NOT NULL |
||||
|
AND type IS NOT NULL |
||||
|
AND search_text IS NOT NULL |
||||
|
AND id IS NOT NULL |
||||
|
PRIMARY KEY (tenant_id, type, search_text, id, customer_id, entity_id) |
||||
|
WITH CLUSTERING ORDER BY (type ASC, search_text ASC, id DESC, customer_id DESC); |
||||
|
|
||||
|
CREATE MATERIALIZED VIEW IF NOT EXISTS thingsboard.entity_view_by_tenant_and_customer AS |
||||
|
SELECT * |
||||
|
from thingsboard.entity_view |
||||
|
WHERE tenant_id IS NOT NULL |
||||
|
AND customer_id IS NOT NULL |
||||
|
AND entity_id IS NOT NULL |
||||
|
AND type IS NOT NULL |
||||
|
AND search_text IS NOT NULL |
||||
|
AND id IS NOT NULL |
||||
|
PRIMARY KEY (tenant_id, customer_id, search_text, id, entity_id, type) |
||||
|
WITH CLUSTERING ORDER BY (customer_id DESC, search_text ASC, id DESC); |
||||
|
|
||||
|
CREATE MATERIALIZED VIEW IF NOT EXISTS thingsboard.entity_view_by_tenant_and_customer_and_type AS |
||||
|
SELECT * |
||||
|
from thingsboard.entity_view |
||||
|
WHERE tenant_id IS NOT NULL |
||||
|
AND customer_id IS NOT NULL |
||||
|
AND entity_id IS NOT NULL |
||||
|
AND type IS NOT NULL |
||||
|
AND search_text IS NOT NULL |
||||
|
AND id IS NOT NULL |
||||
|
PRIMARY KEY (tenant_id, type, customer_id, search_text, id, entity_id) |
||||
|
WITH CLUSTERING ORDER BY (type ASC, customer_id DESC, search_text ASC, id DESC); |
||||
|
|
||||
|
CREATE MATERIALIZED VIEW IF NOT EXISTS thingsboard.entity_view_by_tenant_and_entity_id AS |
||||
|
SELECT * |
||||
|
from thingsboard.entity_view |
||||
|
WHERE tenant_id IS NOT NULL |
||||
|
AND customer_id IS NOT NULL |
||||
|
AND entity_id IS NOT NULL |
||||
|
AND type IS NOT NULL |
||||
|
AND search_text IS NOT NULL |
||||
|
AND id IS NOT NULL |
||||
|
PRIMARY KEY (tenant_id, entity_id, customer_id, search_text, id, type) |
||||
|
WITH CLUSTERING ORDER BY (entity_id DESC, customer_id DESC, search_text ASC, id DESC); |
||||
@ -0,0 +1,32 @@ |
|||||
|
-- |
||||
|
-- Copyright © 2016-2018 The Thingsboard Authors |
||||
|
-- |
||||
|
-- Licensed under the Apache License, Version 2.0 (the "License"); |
||||
|
-- you may not use this file except in compliance with the License. |
||||
|
-- You may obtain a copy of the License at |
||||
|
-- |
||||
|
-- http://www.apache.org/licenses/LICENSE-2.0 |
||||
|
-- |
||||
|
-- Unless required by applicable law or agreed to in writing, software |
||||
|
-- distributed under the License is distributed on an "AS IS" BASIS, |
||||
|
-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
|
-- See the License for the specific language governing permissions and |
||||
|
-- limitations under the License. |
||||
|
-- |
||||
|
|
||||
|
DROP TABLE IF EXISTS entity_views; |
||||
|
|
||||
|
CREATE TABLE IF NOT EXISTS entity_view ( |
||||
|
id varchar(31) NOT NULL CONSTRAINT entity_view_pkey PRIMARY KEY, |
||||
|
entity_id varchar(31), |
||||
|
entity_type varchar(255), |
||||
|
tenant_id varchar(31), |
||||
|
customer_id varchar(31), |
||||
|
type varchar(255), |
||||
|
name varchar(255), |
||||
|
keys varchar(255), |
||||
|
start_ts bigint, |
||||
|
end_ts bigint, |
||||
|
search_text varchar(255), |
||||
|
additional_info varchar |
||||
|
); |
||||
Loading…
Reference in new issue