text: --
  -- Copyright © 2016-2021 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.
  --
  
  SET DATABASE SQL SYNTAX PGS TRUE;
  
  CREATE TABLE IF NOT EXISTS ts_kv (
      entity_id uuid NOT NULL,
      key int NOT NULL,
      ts bigint NOT NULL,
      bool_v boolean,
      str_v varchar(10000000),
      long_v bigint,
      dbl_v double precision,
      json_v varchar(10000000),
      CONSTRAINT ts_kv_pkey PRIMARY KEY (entity_id, key, ts)
  );
  
  CREATE TABLE IF NOT EXISTS ts_kv_dictionary (
      key varchar(255) NOT NULL,
      key_id int GENERATED BY DEFAULT AS IDENTITY(start with 0 increment by 1) UNIQUE,
      CONSTRAINT ts_key_id_pkey PRIMARY KEY (key)
  );
  
  CREATE FUNCTION to_uuid(IN entity_id varchar)
    RETURNS UUID
    RETURN UUID(substring(entity_id, 8, 8) || '-' || substring(entity_id, 4, 4) || '-1' || substring(entity_id, 1, 3) ||
                 '-' || substring(entity_id, 16, 4) || '-' || substring(entity_id, 20, 12));
  