diff --git a/Makefile b/Makefile index 3c1ecce9ff74725c687c0bedd4aeb031e6cee407..544c0b6abc7627bb7a78f5312ee05d70b2d4d5ac 100644 --- a/Makefile +++ b/Makefile @@ -22,7 +22,7 @@ # SHELL=/bin/bash -INSTALL_SQL_FILE=db_2_0.sql +INSTALL_SQL_FILE=db_5_0.sql # The hostname, used by testing in the CI pipeline SQL_HOST ?= mysql diff --git a/db_2_0.sql b/db_2_0.sql deleted file mode 100644 index ba9109f27a09bb87655d1e00bcc1b826d3080c1c..0000000000000000000000000000000000000000 --- a/db_2_0.sql +++ /dev/null @@ -1,326 +0,0 @@ -/* - * ** header v3.0 - * This file is a part of the CaosDB Project. - * - * Copyright (C) 2018 Research Group Biomedical Physics, - * Max-Planck-Institute for Dynamics and Self-Organization Göttingen - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <https://www.gnu.org/licenses/>. - * - * ** end header - */ -#-- MySQL batch stack to create the CaosDB database structure, v2.0.1 -#-- AUTHOR: Timm Fitschen (timm.fitschen@ds.mpg.de) -#-- DATE: 2015-10-22 -#-- -#-- -#-- - - - - -#-- ************* -#-- Drop database -#-- ************* - -DROP DATABASE IF EXISTS db_2_0; - - - -#-- *************** -#-- Create database -#-- *************** - -CREATE DATABASE IF NOT EXISTS db_2_0 DEFAULT CHARSET=utf8 DEFAULT COLLATE=utf8_unicode_ci; -USE db_2_0; - -#-- *********************** -#-- Create function version -#-- *********************** - -CREATE FUNCTION CaosDBVersion() RETURNS VARCHAR(255) DETERMINISTIC -RETURN 'v2.0.1'; - -#-- ************************ -#-- Create table entities -#-- ************************ - -CREATE TABLE IF NOT EXISTS entities ( -id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT 'Unique identifier.', -name VARCHAR(255) NULL COMMENT 'Name of the entity.', -description VARCHAR(255) NULL COMMENT 'Description of the entity.', -role ENUM('RECORDTYPE', 'RECORD', 'FILE', 'DOMAIN', 'PROPERTY', 'USER', 'GROUP', 'UNIT', 'DATATYPE') - NULL COMMENT 'Role of the entity', -acl INT UNSIGNED NULL COMMENT 'Access Control List for the entity.' -#-- , CONSTRAINT `ent_acl_acl_id` FOREIGN KEY (`acl`) REFERENCES `acl` (`id`) -) ENGINE=InnoDB; - - -CREATE TABLE IF NOT EXISTS name_overrides ( - domain_id INT UNSIGNED, - entity_id INT UNSIGNED, - name VARCHAR(255), - UNIQUE KEY (domain_id, entity_id), - CONSTRAINT `nameov_d_ent_id` FOREIGN KEY (`domain_id`) REFERENCES `entities` (`id`), - CONSTRAINT `nameov_e_ent_id` FOREIGN KEY (`entity_id`) REFERENCES `entities` (`id`) -) ENGINE=InnoDB; - - -#-- ************************************ -#-- Create table is-a -#-- ************************************ - -CREATE TABLE IF NOT EXISTS isa ( -child INT UNSIGNED NOT NULL COMMENT 'Child', -parent INT UNSIGNED NOT NULL COMMENT 'Parent', -type Enum('INHERITANCE', 'SUBTYPING') - NOT NULL COMMENT 'Type of is-a relation.', -UNIQUE KEY (child, parent), -CONSTRAINT `parent_entity` FOREIGN KEY (`parent`) REFERENCES `entities` (`id`), -CONSTRAINT `child_entity` FOREIGN KEY (`child`) REFERENCES `entities` (`id`) -) ENGINE=InnoDB; - - - -#-- *************************** -#-- Create table reference_data -#-- *************************** - -CREATE TABLE IF NOT EXISTS reference_data ( -domain_id INT UNSIGNED NOT NULL COMMENT 'Domain.', -entity_id INT UNSIGNED NOT NULL COMMENT 'Entity.', -property_id INT UNSIGNED NOT NULL COMMENT 'Property.', -value INT UNSIGNED NULL COMMENT 'Value.', -status Enum('OBLIGATORY', 'RECOMMENDED', 'SUGGESTED', 'FIX', 'REPLACEMENT') - NOT NULL COMMENT 'Status of this statement.', -pidx TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'Index of the property.', -INDEX(entity_id,property_id), -CONSTRAINT `ref_domain_id_entity` FOREIGN KEY (`domain_id`) REFERENCES `entities` (`id`), -CONSTRAINT `ref_entity_id_entity` FOREIGN KEY (`entity_id`) REFERENCES `entities` (`id`), -CONSTRAINT `ref_property_id_entity` FOREIGN KEY (`property_id`) REFERENCES `entities` (`id`), -CONSTRAINT `ref_value_entity` FOREIGN KEY (`value`) REFERENCES `entities` (`id`) -) ENGINE=InnoDB; - - - -#-- ************************* -#-- Create table integer_data -#-- ************************* - -CREATE TABLE IF NOT EXISTS integer_data ( -domain_id INT UNSIGNED NOT NULL COMMENT 'Domain.', -entity_id INT UNSIGNED NOT NULL COMMENT 'Entity.', -property_id INT UNSIGNED NOT NULL COMMENT 'Property.', -value INT NULL COMMENT 'Value.', -status Enum('OBLIGATORY', 'RECOMMENDED', 'SUGGESTED', 'FIX', 'REPLACEMENT') - NOT NULL COMMENT 'Status of this statement.', -pidx TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'Index of the property.', -INDEX(domain_id,entity_id), -CONSTRAINT `int_domain_id_entity` FOREIGN KEY (`domain_id`) REFERENCES `entities` (`id`), -CONSTRAINT `int_entity_id_entity` FOREIGN KEY (`entity_id`) REFERENCES `entities` (`id`), -CONSTRAINT `int_property_id_entity` FOREIGN KEY (`property_id`) REFERENCES `entities` (`id`) -) ENGINE=InnoDB; - - - -#-- ************************ -#-- Create table double_data -#-- ************************ - -CREATE TABLE IF NOT EXISTS double_data ( -domain_id INT UNSIGNED NOT NULL COMMENT 'Domain.', -entity_id INT UNSIGNED NOT NULL COMMENT 'Entity.', -property_id INT UNSIGNED NOT NULL COMMENT 'Property.', -value DOUBLE NULL COMMENT 'Value.', -status Enum('OBLIGATORY', 'RECOMMENDED', 'SUGGESTED', 'FIX', 'REPLACEMENT') - NOT NULL COMMENT 'Status of this statement.', -pidx TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'Index of the property.', -INDEX(domain_id,entity_id), -CONSTRAINT `dou_domain_id_entity` FOREIGN KEY (`domain_id`) REFERENCES `entities` (`id`), -CONSTRAINT `dou_entity_id_entity` FOREIGN KEY (`entity_id`) REFERENCES `entities` (`id`), -CONSTRAINT `dou_property_id_entity` FOREIGN KEY (`property_id`) REFERENCES `entities` (`id`) -) ENGINE=InnoDB; - - -#-- ************************** -#-- Create table datetime_data -#-- ************************** - -CREATE TABLE IF NOT EXISTS datetime_data ( -domain_id INT UNSIGNED NOT NULL COMMENT 'Domain.', -entity_id INT UNSIGNED NOT NULL COMMENT 'Entity.', -property_id INT UNSIGNED NOT NULL COMMENT 'Property.', -value DATETIME NULL COMMENT 'Value.', -status Enum('OBLIGATORY', 'RECOMMENDED', 'SUGGESTED', 'FIX', 'REPLACEMENT') - NOT NULL COMMENT 'Status of this statement.', -pidx TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'Index of the property.', -INDEX(domain_id,entity_id), -CONSTRAINT `dat_domain_id_entity` FOREIGN KEY (`domain_id`) REFERENCES `entities` (`id`), -CONSTRAINT `dat_entity_id_entity` FOREIGN KEY (`entity_id`) REFERENCES `entities` (`id`), -CONSTRAINT `dat_property_id_entity` FOREIGN KEY (`property_id`) REFERENCES `entities` (`id`) -) ENGINE=InnoDB; - - - -#-- ********************** -#-- Create table text_data -#-- ********************** - -CREATE TABLE IF NOT EXISTS text_data ( -domain_id INT UNSIGNED NOT NULL COMMENT 'Domain.', -entity_id INT UNSIGNED NOT NULL COMMENT 'Entity.', -property_id INT UNSIGNED NOT NULL COMMENT 'Property.', -value TEXT NULL COMMENT 'Value.', -status Enum('OBLIGATORY', 'RECOMMENDED', 'SUGGESTED', 'FIX', 'REPLACEMENT') - NOT NULL COMMENT 'Status of this statement.', -pidx TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'Index of the property.', -INDEX(domain_id,entity_id), -CONSTRAINT `str_domain_id_entity` FOREIGN KEY (`domain_id`) REFERENCES `entities` (`id`), -CONSTRAINT `str_entity_id_entity` FOREIGN KEY (`entity_id`) REFERENCES `entities` (`id`), -CONSTRAINT `str_property_id_entity` FOREIGN KEY (`property_id`) REFERENCES `entities` (`id`) -) ENGINE=InnoDB; - - -#-- ********************** -#-- Create table data_type -#-- ********************** - -CREATE TABLE IF NOT EXISTS data_type ( -domain_id INT UNSIGNED NOT NULL COMMENT 'Domain.', -entity_id INT UNSIGNED NOT NULL COMMENT 'Entity.', -datatype INT UNSIGNED NOT NULL COMMENT 'Datatype.', -UNIQUE INDEX(domain_id,entity_id), -CONSTRAINT `dt_domain_id_entity` FOREIGN KEY (`domain_id`) REFERENCES `entities` (`id`), -CONSTRAINT `dt_entity_id_entity` FOREIGN KEY (`entity_id`) REFERENCES `entities` (`id`), -CONSTRAINT `dt_datatype_id_entity` FOREIGN KEY (`datatype`) REFERENCES `entities` (`id`) -) ENGINE=InnoDB; - - - -#-- ******************* -#-- Create table files -#-- ******************* - -CREATE TABLE IF NOT EXISTS files ( -file_id INT UNSIGNED NOT NULL PRIMARY KEY COMMENT 'The file\'s ID.', -path VARCHAR(255) NOT NULL COMMENT 'Directory of the file.', -size BIGINT UNSIGNED NOT NULL COMMENT 'Size in kB (oktet bytes).', -hash BINARY(64) NOT NULL COMMENT 'SHA-512 Hash of the file.', -CONSTRAINT `fil_file_id_entity` FOREIGN KEY (`file_id`) REFERENCES `entities` (`id`) -) ENGINE=InnoDB; - - - -#-- ****************** -#-- Create table passwords -#-- ****************** - -CREATE TABLE IF NOT EXISTS passwords ( -entity_id INT UNSIGNED NOT NULL PRIMARY KEY COMMENT 'User ID.', -password VARCHAR(255) NOT NULL COMMENT 'Password.', -CONSTRAINT `use_entity_id_entity` FOREIGN KEY (`entity_id`) REFERENCES `entities` (`id`) -) ENGINE=InnoDB; - -#-- ******************* -#-- Create table groups -#-- ******************* - -CREATE TABLE IF NOT EXISTS groups ( -user_id INT UNSIGNED NOT NULL, -group_id INT UNSIGNED NOT NULL, -UNIQUE KEY(user_id, group_id) -, CONSTRAINT `user_id_entities_id` FOREIGN KEY (`user_id`) REFERENCES `entities` (`id`) -, CONSTRAINT `group_id_entities_id` FOREIGN KEY (`group_id`) REFERENCES `entities` (`id`) -) ENGINE=InnoDB; - - -#-- ******************** -#-- Create table history -#-- ******************** - -CREATE TABLE IF NOT EXISTS transaction_log ( -transaction VARCHAR(255) NOT NULL COMMENT 'Transaction.', -user_id INT UNSIGNED NOT NULL COMMENT 'User.', -date INT NOT NULL COMMENT 'Date of transaction.', -time MEDIUMINT UNSIGNED NOT NULL COMMENT 'Time of transaction.', -ns INT UNSIGNED NULL COMMENT 'Nanosecond part of transaction time.', -entity_id INT UNSIGNED NOT NULL COMMENT 'Entity ID.', -INDEX (entity_id), INDEX (date, time) -) ENGINE=InnoDB; - - - -#-- ****************** -#-- Create table rules -#-- ****************** - -CREATE TABLE IF NOT EXISTS rules ( -domain_id INT UNSIGNED NOT NULL, -entity_id INT UNSIGNED NOT NULL, -transaction ENUM('INSERT', 'RETRIEVE', 'UPDATE', 'DELETE') NOT NULL, -criterion VARCHAR(255) NOT NULL, -#--ENUM('UNIT_PRESENT', 'ROLE_PRESENT', 'NAME_PRESENT', 'DESC_PRESENT', 'REFID_PRESENT', 'REFID_VALID', 'REFID_ISA_PAR_REFID', 'PROP_PRESENT') NOT NULL, -modus ENUM('MUST', 'SHOULD', 'SHOULDNT', 'MUSTNOT') NOT NULL, -CONSTRAINT `rule_entity_id_entity` FOREIGN KEY (`entity_id`) REFERENCES `entities` (`id`), -CONSTRAINT `rule_domain_id_entity` FOREIGN KEY (`domain_id`) REFERENCES `entities` (`id`) -) ENGINE=InnoDB; - - -#-- magic stuff -ALTER TABLE entities AUTO_INCREMENT=100; - -INSERT INTO entities (id, name, description, role, acl) VALUES (1,'DOMAIN', 'The default domain.', 'domain', 0); -UPDATE entities SET id=0 where name='domain'; -INSERT INTO entities (id, name, description, role, acl) VALUES (1,'RECORDTYPE', 'The default recordtype.', 'recordtype', 0); -INSERT INTO entities (id, name, description, role, acl) VALUES (2,'RECORD', 'The default record.', 'record', 0); -INSERT INTO entities (id, name, description, role, acl) VALUES (3,'FILE', 'The default file.', 'file', 0); -INSERT INTO entities (id, name, description, role, acl) VALUES (4,'PROPERTY', 'The default property.', 'PROPERTY', 0); -INSERT INTO entities (id, name, description, role, acl) VALUES (5,'USER', 'The default user.', 'USER', 0); -INSERT INTO entities (id, name, description, role, acl) VALUES (6,'UNIT', 'The default unit.', 'UNIT', 0); -INSERT INTO entities (id, name, description, role, acl) VALUES (7,'DATATYPE', 'The default datatype.', 'DATATYPE', 0); -INSERT INTO entities (id, name, description, role, acl) VALUES (8,'GROUP', 'The default group.', 'GROUP', 0); - - - -INSERT INTO entities (id, name, description, role, acl) VALUES (11,'REFERENCE', 'The default reference data type.', 'DATATYPE', 0); -INSERT INTO entities (id, name, description, role, acl) VALUES (12,'INTEGER', 'The default integer data type.', 'DATATYPE', 0); -INSERT INTO entities (id, name, description, role, acl) VALUES (13,'DOUBLE', 'The default double data type.', 'DATATYPE', 0); -INSERT INTO entities (id, name, description, role, acl) VALUES (14,'TEXT', 'The default text data type.', 'DATATYPE', 0); -INSERT INTO entities (id, name, description, role, acl) VALUES (15,'DATETIME', 'The default datetime data type.', 'DATATYPE', 0); -INSERT INTO entities (id, name, description, role, acl) VALUES (16,'TIMESPAN', 'The default timespan data type.', 'DATATYPE', 0); -INSERT INTO entities (id, name, description, role, acl) VALUES (17,'FILE', 'The default file reference data type.', 'DATATYPE', 0); -#--INSERT INTO data_type (domain_id, entity_id, datatype) VALUES (0, 17, 17); -#--INSERT INTO data_type (domain_id, entity_id, datatype) VALUES (0, 11, 11); - -INSERT INTO entities (id, name, description, role, acl) VALUES (20,'name', 'Name of an entity', 'PROPERTY', 0); -INSERT INTO data_type (domain_id, entity_id, datatype) VALUES (0, 20, 14); -INSERT INTO entities (id, name, description, role, acl) VALUES (21,'unit', 'Unit of an entity.', 'PROPERTY', 0); -INSERT INTO data_type (domain_id, entity_id, datatype) VALUES (0, 21, 14); -INSERT INTO entities (id, name, description, role, acl) VALUES (22,'exponent', 'Unit prefix exponent of an entity.', 'PROPERTY', 0); -INSERT INTO data_type (domain_id, entity_id, datatype) VALUES (0, 22, 12); -INSERT INTO entities (id, name, description, role, acl) VALUES (24,'description', 'Description of an entity.', 'PROPERTY', 0); -INSERT INTO data_type (domain_id, entity_id, datatype) VALUES (0, 24, 14); -INSERT INTO entities (id, name, description, role, acl) VALUES (25,'refid', 'Refid of an entity.', 'PROPERTY', 0); -INSERT INTO data_type (domain_id, entity_id, datatype) VALUES (0, 25, 11); - -#--INSERT INTO entities (id, name, description, role, acl) VALUES (23,'role', 'Role of an entity.', 'PROPERTY', 0); - -INSERT INTO entities (id, name, description, role, acl) VALUES (50,'SQLITE', 'The SQLite file data type.', 'DATATYPE', 0); - -#-- USER STUFF -INSERT INTO entities (id, name, description, role, acl) VALUES (98, 'heartdb', 'The anonymous user.', 'USER', 0); -INSERT INTO entities (id, name, description, role, acl) VALUES (99, 'administration', 'The admin users.', 'GROUP', 0); - -INSERT INTO passwords (entity_id, password) VALUES (98, '37d7bd8a833261b4e4653644ee0a065f522b92b3738ca9ae2cb43a83844bf352c4a59c386a44965997a508c61988c9484c093775027425091d6d3d435c3c0e0c'); -INSERT INTO passwords (entity_id, password) VALUES (99, '37d7bd8a833261b4e4653644ee0a065f522b92b3738ca9ae2cb43a83844bf352c4a59c386a44965997a508c61988c9484c093775027425091d6d3d435c3c0e0c'); diff --git a/db_5_0.sql b/db_5_0.sql new file mode 100644 index 0000000000000000000000000000000000000000..d369c4380872f31a3a4b73b707c3edd6c86d83b4 --- /dev/null +++ b/db_5_0.sql @@ -0,0 +1,975 @@ +/* + * This file is a part of the CaosDB Project. + * + * Copyright (C) 2018 Research Group Biomedical Physics, + * Max-Planck-Institute for Dynamics and Self-Organization Göttingen + * Copyright (C) 2021 IndiScale GmbH <www.indiscale.com> + * Copyright (C) 2021 Timm Fitschen <t.fitschen@indiscale.com> + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <https://www.gnu.org/licenses/>. + * + */ +#-- MySQL batch stack to create the CaosDB database structure, v5.0.0 +#-- AUTHOR: Timm Fitschen <t.fitsche@indiscale.com> +#-- DATE: 2021-09-15 + + + + + +#-- ************* +#-- Drop database +#-- ************* + +DROP DATABASE IF EXISTS db_5_0; + +#-- *************** +#-- Create database +#-- *************** + +CREATE DATABASE IF NOT EXISTS db_5_0 DEFAULT CHARSET=utf8 DEFAULT COLLATE=utf8_unicode_ci; +USE db_5_0; + +#-- *********************** +#-- Create function version +#-- *********************** + +CREATE FUNCTION CaosDBVersion() RETURNS VARCHAR(255) DETERMINISTIC +RETURN 'v5.0.0'; + +#-- ************* +#-- Create tables +#-- ************* + +-- +-- Table structure for table `transactions` +-- + +DROP TABLE IF EXISTS `transactions`; +CREATE TABLE `transactions` ( + `srid` varbinary(255) NOT NULL, + `username` varbinary(255) NOT NULL, + `realm` varbinary(255) NOT NULL, + `seconds` bigint(20) unsigned NOT NULL, + `nanos` int(10) unsigned NOT NULL, + PRIMARY KEY (`srid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- +-- Dumping data for table `transactions` +-- + +LOCK TABLES `transactions` WRITE; +INSERT INTO `transactions` VALUES ('cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e','administration','CaosDB',0,0); +UNLOCK TABLES; + +-- +-- Table structure for table `entity_acl` +-- + +DROP TABLE IF EXISTS `entity_acl`; +CREATE TABLE `entity_acl` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `acl` varbinary(65525) NOT NULL, + PRIMARY KEY (`id`), + KEY `entity_acl_acl` (`acl`(3072)) +) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- +-- Dumping data for table `entity_acl` +-- + +LOCK TABLES `entity_acl` WRITE; +INSERT INTO `entity_acl` (`acl`) VALUES (''); +UPDATE `entity_acl` SET id = 0; +UNLOCK TABLES; + +-- +-- Table structure for table `entities` +-- + +DROP TABLE IF EXISTS `entities`; +CREATE TABLE `entities` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'Unique identifier.', + `description` text COLLATE utf8_unicode_ci DEFAULT NULL, + `role` enum('RECORDTYPE','RECORD','FILE','DOMAIN','PROPERTY','DATATYPE','ROLE','QUERYTEMPLATE') COLLATE utf8_unicode_ci NOT NULL, + `acl` int(10) unsigned DEFAULT NULL COMMENT 'Access Control List for the entity.', + PRIMARY KEY (`id`), + KEY `entity_entity_acl` (`acl`), + CONSTRAINT `entity_entity_acl` FOREIGN KEY (`acl`) REFERENCES `entity_acl` (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=100 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +LOCK TABLES `entities` WRITE; +INSERT INTO `entities` VALUES (100,'The default domain.','ROLE',0),(1,'The default recordtype.','ROLE',0),(2,'The default record.','ROLE',0),(3,'The default file.','ROLE',0),(4,'The default property.','ROLE',0),(7,'The default datatype.','ROLE',0),(8,'The QueryTemplate role.','ROLE',0),(11,'The default reference data type.','DATATYPE',0),(12,'The default integer data type.','DATATYPE',0),(13,'The default double data type.','DATATYPE',0),(14,'The default text data type.','DATATYPE',0),(15,'The default datetime data type.','DATATYPE',0),(16,'The default timespan data type.','DATATYPE',0),(17,'The default file reference data type.','DATATYPE',0),(18,'The defaulf boolean data type','DATATYPE',0),(20,'Name of an entity','PROPERTY',0),(21,'Unit of an entity.','PROPERTY',0),(24,'Description of an entity.','PROPERTY',0),(50,'The SQLite file data type.','DATATYPE',0),(99,NULL,'RECORDTYPE',0); +UPDATE `entities` SET id = 0 WHERE id = 100; +UNLOCK TABLES; + +-- +-- Table structure for table `entity_version` +-- + +DROP TABLE IF EXISTS `entity_version`; +CREATE TABLE `entity_version` ( + `entity_id` int(10) unsigned NOT NULL, + `hash` varbinary(255) DEFAULT NULL, + `version` varbinary(255) NOT NULL, + `_iversion` int(10) unsigned NOT NULL, + `_ipparent` int(10) unsigned DEFAULT NULL, + `srid` varbinary(255) NOT NULL, + PRIMARY KEY (`entity_id`,`_iversion`), + UNIQUE KEY `entity_version-e-v` (`entity_id`,`version`), + KEY `srid` (`srid`), + CONSTRAINT `entity_version_ibfk_1` FOREIGN KEY (`entity_id`) REFERENCES `entities` (`id`) ON DELETE CASCADE, + CONSTRAINT `entity_version_ibfk_2` FOREIGN KEY (`srid`) REFERENCES `transactions` (`srid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- +-- Dumping data for table `entity_version` +-- + +LOCK TABLES `entity_version` WRITE; +INSERT INTO `entity_version` VALUES (0,NULL,'17a614da482783fc501c21a98a83d8b44d8d3f9b',1,NULL,'cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e'),(1,NULL,'84f03d370353770d71e7dc07f9f00c263f026e22',1,NULL,'cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e'),(2,NULL,'2d2faa9bdbc4cd48f3fcaac54c52668b7c5f1f1c',1,NULL,'cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e'),(3,NULL,'fa65b9b783c36ff694d9212df96d05e637fd9ecb',1,NULL,'cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e'),(4,NULL,'07de7952f1651ba3b69117d285ccf28c5ca7d956',1,NULL,'cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e'),(7,NULL,'2b0276af86c02ac33ceebaaea2a71497a72b2ec1',1,NULL,'cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e'),(8,NULL,'a5b6b050ccc5ac04fd7078c8dfabad9fd5b59b6b',1,NULL,'cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e'),(11,NULL,'da8e07ee8867b385db7e553bc8da0d8875deeef1',1,NULL,'cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e'),(12,NULL,'f572e439aac441e4e58773316dbba38ae6404907',1,NULL,'cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e'),(13,NULL,'2f9537d5434141dc620487ea7ecef8ef8c6915dd',1,NULL,'cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e'),(14,NULL,'9658a375370fa8a14026723ed25ea8bffebf4f6b',1,NULL,'cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e'),(15,NULL,'04bff2ab282998c327e8f5f460db277e5a3d58fb',1,NULL,'cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e'),(16,NULL,'d3627fe225cfa2381f690de434728d0f546cc8bf',1,NULL,'cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e'),(17,NULL,'7aa80399376a1912fdc2a996056cab71c1d8c42d',1,NULL,'cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e'),(18,NULL,'2ef88447ea48cfb21f11cbb2583f86d3d2cda088',1,NULL,'cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e'),(20,NULL,'75462fb8fe9b2c696cbb9c5e82038c32e6b814c4',1,NULL,'cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e'),(21,NULL,'5432f3086adbded25101e36d11e3d1948611c49c',1,NULL,'cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e'),(24,NULL,'29a85dbc0ca204bdb436261cbb429415e2485344',1,NULL,'cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e'),(50,NULL,'bd511fbff4e2429ded9d022bcd430f0fdad20c5f',1,NULL,'cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e'),(99,NULL,'be28e81a7391f96a343f6e6c082d73da5b8ce66b',1,NULL,'cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e'); +UNLOCK TABLES; + +-- +-- Table structure for table `archive_collection_type` +-- + +DROP TABLE IF EXISTS `archive_collection_type`; +CREATE TABLE `archive_collection_type` ( + `domain_id` int(10) unsigned NOT NULL, + `entity_id` int(10) unsigned NOT NULL, + `property_id` int(10) unsigned NOT NULL, + `collection` varchar(255) COLLATE utf8_unicode_ci NOT NULL, + `_iversion` int(10) unsigned NOT NULL, + UNIQUE KEY `archive_collection_type-d-e-p-v` (`domain_id`,`entity_id`,`property_id`,`_iversion`), + KEY `domain_id` (`domain_id`,`entity_id`,`_iversion`), + KEY `domain_id_2` (`domain_id`,`_iversion`), + KEY `entity_id` (`entity_id`), + KEY `property_id` (`property_id`), + CONSTRAINT `archive_collection_type_ibfk_1` FOREIGN KEY (`domain_id`) REFERENCES `entities` (`id`) ON DELETE CASCADE, + CONSTRAINT `archive_collection_type_ibfk_2` FOREIGN KEY (`entity_id`) REFERENCES `entities` (`id`) ON DELETE CASCADE, + CONSTRAINT `archive_collection_type_ibfk_3` FOREIGN KEY (`property_id`) REFERENCES `entities` (`id`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- +-- Table structure for table `archive_data_type` +-- + +DROP TABLE IF EXISTS `archive_data_type`; +CREATE TABLE `archive_data_type` ( + `domain_id` int(10) unsigned NOT NULL, + `entity_id` int(10) unsigned NOT NULL, + `property_id` int(10) unsigned NOT NULL, + `datatype` int(10) unsigned NOT NULL, + `_iversion` int(10) unsigned NOT NULL, + UNIQUE KEY `archive_data_type-d-e-p-v` (`domain_id`,`entity_id`,`property_id`,`_iversion`), + KEY `domain_id` (`domain_id`,`entity_id`,`_iversion`), + KEY `domain_id_2` (`domain_id`,`_iversion`), + KEY `entity_id` (`entity_id`), + KEY `property_id` (`property_id`), + KEY `datatype` (`datatype`), + CONSTRAINT `archive_data_type_ibfk_1` FOREIGN KEY (`domain_id`) REFERENCES `entities` (`id`) ON DELETE CASCADE, + CONSTRAINT `archive_data_type_ibfk_2` FOREIGN KEY (`entity_id`) REFERENCES `entities` (`id`) ON DELETE CASCADE, + CONSTRAINT `archive_data_type_ibfk_3` FOREIGN KEY (`property_id`) REFERENCES `entities` (`id`) ON DELETE CASCADE, + CONSTRAINT `archive_data_type_ibfk_4` FOREIGN KEY (`datatype`) REFERENCES `entities` (`id`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- +-- Table structure for table `archive_date_data` +-- + +DROP TABLE IF EXISTS `archive_date_data`; +CREATE TABLE `archive_date_data` ( + `domain_id` int(10) unsigned NOT NULL, + `entity_id` int(10) unsigned NOT NULL, + `property_id` int(10) unsigned NOT NULL, + `value` int(11) NOT NULL, + `status` enum('OBLIGATORY','RECOMMENDED','SUGGESTED','FIX') COLLATE utf8_unicode_ci NOT NULL, + `pidx` int(10) unsigned NOT NULL, + `_iversion` int(10) unsigned NOT NULL, + KEY `domain_id` (`domain_id`,`entity_id`,`_iversion`), + KEY `domain_id_2` (`domain_id`,`_iversion`), + KEY `entity_id` (`entity_id`), + KEY `property_id` (`property_id`), + CONSTRAINT `archive_date_data_ibfk_1` FOREIGN KEY (`domain_id`) REFERENCES `entities` (`id`) ON DELETE CASCADE, + CONSTRAINT `archive_date_data_ibfk_2` FOREIGN KEY (`entity_id`) REFERENCES `entities` (`id`) ON DELETE CASCADE, + CONSTRAINT `archive_date_data_ibfk_3` FOREIGN KEY (`property_id`) REFERENCES `entities` (`id`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- +-- Table structure for table `archive_datetime_data` +-- + +DROP TABLE IF EXISTS `archive_datetime_data`; +CREATE TABLE `archive_datetime_data` ( + `domain_id` int(10) unsigned NOT NULL, + `entity_id` int(10) unsigned NOT NULL, + `property_id` int(10) unsigned NOT NULL, + `value` bigint(20) NOT NULL, + `value_ns` int(10) unsigned DEFAULT NULL, + `status` enum('OBLIGATORY','RECOMMENDED','SUGGESTED','FIX') COLLATE utf8_unicode_ci NOT NULL, + `pidx` int(10) unsigned NOT NULL, + `_iversion` int(10) unsigned NOT NULL, + KEY `domain_id` (`domain_id`,`entity_id`,`_iversion`), + KEY `domain_id_2` (`domain_id`,`_iversion`), + KEY `entity_id` (`entity_id`), + KEY `property_id` (`property_id`), + CONSTRAINT `archive_datetime_data_ibfk_1` FOREIGN KEY (`domain_id`) REFERENCES `entities` (`id`) ON DELETE CASCADE, + CONSTRAINT `archive_datetime_data_ibfk_2` FOREIGN KEY (`entity_id`) REFERENCES `entities` (`id`) ON DELETE CASCADE, + CONSTRAINT `archive_datetime_data_ibfk_3` FOREIGN KEY (`property_id`) REFERENCES `entities` (`id`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- +-- Table structure for table `archive_desc_overrides` +-- + +DROP TABLE IF EXISTS `archive_desc_overrides`; +CREATE TABLE `archive_desc_overrides` ( + `domain_id` int(10) unsigned NOT NULL, + `entity_id` int(10) unsigned NOT NULL, + `property_id` int(10) unsigned NOT NULL, + `description` text COLLATE utf8_unicode_ci NOT NULL, + `_iversion` int(10) unsigned NOT NULL, + UNIQUE KEY `archive_desc_overrides-d-e-p-v` (`domain_id`,`entity_id`,`property_id`,`_iversion`), + KEY `domain_id` (`domain_id`,`entity_id`,`_iversion`), + KEY `domain_id_2` (`domain_id`,`_iversion`), + KEY `entity_id` (`entity_id`), + KEY `property_id` (`property_id`), + CONSTRAINT `archive_desc_overrides_ibfk_1` FOREIGN KEY (`domain_id`) REFERENCES `entities` (`id`) ON DELETE CASCADE, + CONSTRAINT `archive_desc_overrides_ibfk_2` FOREIGN KEY (`entity_id`) REFERENCES `entities` (`id`) ON DELETE CASCADE, + CONSTRAINT `archive_desc_overrides_ibfk_3` FOREIGN KEY (`property_id`) REFERENCES `entities` (`id`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- +-- Table structure for table `archive_double_data` +-- + +DROP TABLE IF EXISTS `archive_double_data`; +CREATE TABLE `archive_double_data` ( + `domain_id` int(10) unsigned NOT NULL, + `entity_id` int(10) unsigned NOT NULL, + `property_id` int(10) unsigned NOT NULL, + `value` double NOT NULL, + `status` enum('OBLIGATORY','RECOMMENDED','SUGGESTED','FIX') COLLATE utf8_unicode_ci NOT NULL, + `pidx` int(10) unsigned NOT NULL, + `_iversion` int(10) unsigned NOT NULL, + `unit_sig` bigint(20) DEFAULT NULL, + KEY `domain_id` (`domain_id`,`entity_id`,`_iversion`), + KEY `domain_id_2` (`domain_id`,`_iversion`), + KEY `entity_id` (`entity_id`), + KEY `property_id` (`property_id`), + CONSTRAINT `archive_double_data_ibfk_1` FOREIGN KEY (`domain_id`) REFERENCES `entities` (`id`) ON DELETE CASCADE, + CONSTRAINT `archive_double_data_ibfk_2` FOREIGN KEY (`entity_id`) REFERENCES `entities` (`id`) ON DELETE CASCADE, + CONSTRAINT `archive_double_data_ibfk_3` FOREIGN KEY (`property_id`) REFERENCES `entities` (`id`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- +-- Table structure for table `archive_entities` +-- + +DROP TABLE IF EXISTS `archive_entities`; +CREATE TABLE `archive_entities` ( + `id` int(10) unsigned NOT NULL, + `description` text COLLATE utf8_unicode_ci DEFAULT NULL, + `role` enum('RECORDTYPE','RECORD','FILE','DOMAIN','PROPERTY','DATATYPE','ROLE','QUERYTEMPLATE') COLLATE utf8_unicode_ci NOT NULL, + `acl` int(10) unsigned DEFAULT NULL, + `_iversion` int(10) unsigned NOT NULL, + PRIMARY KEY (`id`,`_iversion`), + KEY `acl` (`acl`), + CONSTRAINT `archive_entities_ibfk_1` FOREIGN KEY (`id`, `_iversion`) REFERENCES `entity_version` (`entity_id`, `_iversion`) ON DELETE CASCADE, + CONSTRAINT `archive_entities_ibfk_2` FOREIGN KEY (`acl`) REFERENCES `entity_acl` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- +-- Table structure for table `archive_enum_data` +-- + +DROP TABLE IF EXISTS `archive_enum_data`; +CREATE TABLE `archive_enum_data` ( + `domain_id` int(10) unsigned NOT NULL, + `entity_id` int(10) unsigned NOT NULL, + `property_id` int(10) unsigned NOT NULL, + `value` varbinary(255) NOT NULL, + `status` enum('OBLIGATORY','RECOMMENDED','SUGGESTED','FIX') COLLATE utf8_unicode_ci NOT NULL, + `pidx` int(10) unsigned NOT NULL, + `_iversion` int(10) unsigned NOT NULL, + KEY `domain_id` (`domain_id`,`entity_id`,`_iversion`), + KEY `domain_id_2` (`domain_id`,`_iversion`), + KEY `entity_id` (`entity_id`), + KEY `property_id` (`property_id`), + CONSTRAINT `archive_enum_data_ibfk_1` FOREIGN KEY (`domain_id`) REFERENCES `entities` (`id`) ON DELETE CASCADE, + CONSTRAINT `archive_enum_data_ibfk_2` FOREIGN KEY (`entity_id`) REFERENCES `entities` (`id`) ON DELETE CASCADE, + CONSTRAINT `archive_enum_data_ibfk_3` FOREIGN KEY (`property_id`) REFERENCES `entities` (`id`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- +-- Table structure for table `archive_files` +-- + +DROP TABLE IF EXISTS `archive_files`; +CREATE TABLE `archive_files` ( + `file_id` int(10) unsigned NOT NULL, + `path` text COLLATE utf8_unicode_ci NOT NULL, + `size` bigint(20) unsigned NOT NULL, + `hash` binary(64) DEFAULT NULL, + `_iversion` int(10) unsigned NOT NULL, + PRIMARY KEY (`file_id`,`_iversion`), + CONSTRAINT `archive_files_ibfk_1` FOREIGN KEY (`file_id`, `_iversion`) REFERENCES `entity_version` (`entity_id`, `_iversion`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- +-- Table structure for table `archive_integer_data` +-- + +DROP TABLE IF EXISTS `archive_integer_data`; +CREATE TABLE `archive_integer_data` ( + `domain_id` int(10) unsigned NOT NULL, + `entity_id` int(10) unsigned NOT NULL, + `property_id` int(10) unsigned NOT NULL, + `value` bigint(20) NOT NULL, + `status` enum('OBLIGATORY','RECOMMENDED','SUGGESTED','FIX') COLLATE utf8_unicode_ci NOT NULL, + `pidx` int(10) unsigned NOT NULL, + `_iversion` int(10) unsigned NOT NULL, + `unit_sig` bigint(20) DEFAULT NULL, + KEY `domain_id` (`domain_id`,`entity_id`,`_iversion`), + KEY `domain_id_2` (`domain_id`,`_iversion`), + KEY `entity_id` (`entity_id`), + KEY `property_id` (`property_id`), + CONSTRAINT `archive_integer_data_ibfk_1` FOREIGN KEY (`domain_id`) REFERENCES `entities` (`id`) ON DELETE CASCADE, + CONSTRAINT `archive_integer_data_ibfk_2` FOREIGN KEY (`entity_id`) REFERENCES `entities` (`id`) ON DELETE CASCADE, + CONSTRAINT `archive_integer_data_ibfk_3` FOREIGN KEY (`property_id`) REFERENCES `entities` (`id`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- +-- Table structure for table `archive_isa` +-- + +DROP TABLE IF EXISTS `archive_isa`; +CREATE TABLE `archive_isa` ( + `child` int(10) unsigned NOT NULL, + `child_iversion` int(10) unsigned NOT NULL, + `parent` int(10) unsigned NOT NULL, + `direct` tinyint(1) DEFAULT 1, + KEY `parent` (`parent`), + KEY `child` (`child`,`child_iversion`), + CONSTRAINT `archive_isa_ibfk_1` FOREIGN KEY (`parent`) REFERENCES `entities` (`id`) ON DELETE CASCADE, + CONSTRAINT `archive_isa_ibfk_2` FOREIGN KEY (`child`, `child_iversion`) REFERENCES `entity_version` (`entity_id`, `_iversion`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- +-- Table structure for table `archive_name_data` +-- + +DROP TABLE IF EXISTS `archive_name_data`; +CREATE TABLE `archive_name_data` ( + `domain_id` int(10) unsigned NOT NULL, + `entity_id` int(10) unsigned NOT NULL, + `property_id` int(10) unsigned NOT NULL, + `value` varchar(255) COLLATE utf8_unicode_ci NOT NULL, + `status` enum('OBLIGATORY','RECOMMENDED','SUGGESTED','FIX') COLLATE utf8_unicode_ci NOT NULL, + `pidx` int(10) unsigned NOT NULL, + `_iversion` int(10) unsigned NOT NULL, + KEY `domain_id` (`domain_id`,`entity_id`,`_iversion`), + KEY `domain_id_2` (`domain_id`,`_iversion`), + KEY `value` (`value`), + KEY `entity_id` (`entity_id`), + KEY `property_id` (`property_id`), + CONSTRAINT `archive_name_data_ibfk_1` FOREIGN KEY (`domain_id`) REFERENCES `entities` (`id`) ON DELETE CASCADE, + CONSTRAINT `archive_name_data_ibfk_2` FOREIGN KEY (`entity_id`) REFERENCES `entities` (`id`) ON DELETE CASCADE, + CONSTRAINT `archive_name_data_ibfk_3` FOREIGN KEY (`property_id`) REFERENCES `entities` (`id`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- +-- Table structure for table `archive_name_overrides` +-- + +DROP TABLE IF EXISTS `archive_name_overrides`; +CREATE TABLE `archive_name_overrides` ( + `domain_id` int(10) unsigned NOT NULL, + `entity_id` int(10) unsigned NOT NULL, + `property_id` int(10) unsigned NOT NULL, + `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL, + `_iversion` int(10) unsigned NOT NULL, + UNIQUE KEY `archive_name_overrides-d-e-p-v` (`domain_id`,`entity_id`,`property_id`,`_iversion`), + KEY `domain_id` (`domain_id`,`entity_id`,`_iversion`), + KEY `domain_id_2` (`domain_id`,`_iversion`), + KEY `entity_id` (`entity_id`), + KEY `property_id` (`property_id`), + CONSTRAINT `archive_name_overrides_ibfk_1` FOREIGN KEY (`domain_id`) REFERENCES `entities` (`id`) ON DELETE CASCADE, + CONSTRAINT `archive_name_overrides_ibfk_2` FOREIGN KEY (`entity_id`) REFERENCES `entities` (`id`) ON DELETE CASCADE, + CONSTRAINT `archive_name_overrides_ibfk_3` FOREIGN KEY (`property_id`) REFERENCES `entities` (`id`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- +-- Table structure for table `archive_null_data` +-- + +DROP TABLE IF EXISTS `archive_null_data`; +CREATE TABLE `archive_null_data` ( + `domain_id` int(10) unsigned NOT NULL, + `entity_id` int(10) unsigned NOT NULL, + `property_id` int(10) unsigned NOT NULL, + `status` enum('OBLIGATORY','RECOMMENDED','SUGGESTED','FIX') COLLATE utf8_unicode_ci NOT NULL, + `pidx` int(10) unsigned NOT NULL, + `_iversion` int(10) unsigned NOT NULL, + KEY `domain_id` (`domain_id`,`entity_id`,`_iversion`), + KEY `domain_id_2` (`domain_id`,`_iversion`), + KEY `entity_id` (`entity_id`), + KEY `property_id` (`property_id`), + CONSTRAINT `archive_null_data_ibfk_1` FOREIGN KEY (`domain_id`) REFERENCES `entities` (`id`) ON DELETE CASCADE, + CONSTRAINT `archive_null_data_ibfk_2` FOREIGN KEY (`entity_id`) REFERENCES `entities` (`id`) ON DELETE CASCADE, + CONSTRAINT `archive_null_data_ibfk_3` FOREIGN KEY (`property_id`) REFERENCES `entities` (`id`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- +-- Table structure for table `archive_query_template_def` +-- + +DROP TABLE IF EXISTS `archive_query_template_def`; +CREATE TABLE `archive_query_template_def` ( + `id` int(10) unsigned NOT NULL, + `definition` mediumtext COLLATE utf8_unicode_ci NOT NULL, + `_iversion` int(10) unsigned NOT NULL, + PRIMARY KEY (`id`,`_iversion`), + CONSTRAINT `archive_query_template_def_ibfk_1` FOREIGN KEY (`id`, `_iversion`) REFERENCES `entity_version` (`entity_id`, `_iversion`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- +-- Table structure for table `archive_reference_data` +-- + +DROP TABLE IF EXISTS `archive_reference_data`; +CREATE TABLE `archive_reference_data` ( + `domain_id` int(10) unsigned NOT NULL, + `entity_id` int(10) unsigned NOT NULL, + `property_id` int(10) unsigned NOT NULL, + `value` int(10) unsigned NOT NULL, + `value_iversion` int(10) unsigned DEFAULT NULL, + `status` enum('OBLIGATORY','RECOMMENDED','SUGGESTED','FIX','REPLACEMENT') COLLATE utf8_unicode_ci NOT NULL, + `pidx` int(10) unsigned NOT NULL, + `_iversion` int(10) unsigned NOT NULL, + KEY `domain_id` (`domain_id`,`entity_id`,`_iversion`), + KEY `domain_id_2` (`domain_id`,`_iversion`), + KEY `entity_id` (`entity_id`), + KEY `property_id` (`property_id`), + KEY `value` (`value`), + CONSTRAINT `archive_reference_data_ibfk_1` FOREIGN KEY (`domain_id`) REFERENCES `entities` (`id`) ON DELETE CASCADE, + CONSTRAINT `archive_reference_data_ibfk_2` FOREIGN KEY (`entity_id`) REFERENCES `entities` (`id`) ON DELETE CASCADE, + CONSTRAINT `archive_reference_data_ibfk_3` FOREIGN KEY (`property_id`) REFERENCES `entities` (`id`) ON DELETE CASCADE, + CONSTRAINT `archive_reference_data_ibfk_4` FOREIGN KEY (`value`) REFERENCES `entities` (`id`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- +-- Table structure for table `archive_text_data` +-- + +DROP TABLE IF EXISTS `archive_text_data`; +CREATE TABLE `archive_text_data` ( + `domain_id` int(10) unsigned NOT NULL, + `entity_id` int(10) unsigned NOT NULL, + `property_id` int(10) unsigned NOT NULL, + `value` text COLLATE utf8_unicode_ci NOT NULL, + `status` enum('OBLIGATORY','RECOMMENDED','SUGGESTED','FIX') COLLATE utf8_unicode_ci NOT NULL, + `pidx` int(10) unsigned NOT NULL, + `_iversion` int(10) unsigned NOT NULL, + KEY `domain_id` (`domain_id`,`entity_id`,`_iversion`), + KEY `domain_id_2` (`domain_id`,`_iversion`), + KEY `entity_id` (`entity_id`), + KEY `property_id` (`property_id`), + CONSTRAINT `archive_text_data_ibfk_1` FOREIGN KEY (`domain_id`) REFERENCES `entities` (`id`) ON DELETE CASCADE, + CONSTRAINT `archive_text_data_ibfk_2` FOREIGN KEY (`entity_id`) REFERENCES `entities` (`id`) ON DELETE CASCADE, + CONSTRAINT `archive_text_data_ibfk_3` FOREIGN KEY (`property_id`) REFERENCES `entities` (`id`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- +-- Table structure for table `collection_type` +-- + +DROP TABLE IF EXISTS `collection_type`; +CREATE TABLE `collection_type` ( + `domain_id` int(10) unsigned NOT NULL, + `entity_id` int(10) unsigned NOT NULL, + `property_id` int(10) unsigned NOT NULL, + `collection` varchar(255) COLLATE utf8_unicode_ci NOT NULL, + UNIQUE KEY `collection_type-d-e-p` (`domain_id`,`entity_id`,`property_id`), + KEY `domain_id` (`domain_id`,`entity_id`), + KEY `entity_id` (`entity_id`), + KEY `property_id` (`property_id`), + CONSTRAINT `collection_type_domain_id_entity` FOREIGN KEY (`domain_id`) REFERENCES `entities` (`id`), + CONSTRAINT `collection_type_entity_id_entity` FOREIGN KEY (`entity_id`) REFERENCES `entities` (`id`), + CONSTRAINT `collection_type_property_id_entity` FOREIGN KEY (`property_id`) REFERENCES `entities` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- +-- Table structure for table `data_type` +-- + +DROP TABLE IF EXISTS `data_type`; +CREATE TABLE `data_type` ( + `domain_id` int(10) unsigned NOT NULL, + `entity_id` int(10) unsigned NOT NULL, + `property_id` int(10) unsigned NOT NULL, + `datatype` int(10) unsigned NOT NULL, + UNIQUE KEY `datatype_ukey` (`domain_id`,`entity_id`,`property_id`), + KEY `name_ov_dom_ent_idx` (`domain_id`,`entity_id`), + KEY `datatype_forkey_ent` (`entity_id`), + KEY `datatype_forkey_pro` (`property_id`), + KEY `datatype_forkey_type` (`datatype`), + CONSTRAINT `datatype_forkey_dom` FOREIGN KEY (`domain_id`) REFERENCES `entities` (`id`), + CONSTRAINT `datatype_forkey_ent` FOREIGN KEY (`entity_id`) REFERENCES `entities` (`id`), + CONSTRAINT `datatype_forkey_pro` FOREIGN KEY (`property_id`) REFERENCES `entities` (`id`), + CONSTRAINT `datatype_forkey_type` FOREIGN KEY (`datatype`) REFERENCES `entities` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- +-- TODO Data for table `data_type` +-- + +LOCK TABLES `data_type` WRITE; +INSERT INTO `data_type` VALUES (0,0,20,14),(0,0,21,14),(0,0,24,14); +UNLOCK TABLES; + +-- +-- Table structure for table `date_data` +-- + +DROP TABLE IF EXISTS `date_data`; +CREATE TABLE `date_data` ( + `domain_id` int(10) unsigned DEFAULT NULL, + `entity_id` int(10) unsigned DEFAULT NULL, + `property_id` int(10) unsigned DEFAULT NULL, + `value` int(11) NOT NULL, + `status` enum('OBLIGATORY','RECOMMENDED','SUGGESTED','FIX') COLLATE utf8_unicode_ci DEFAULT NULL, + `pidx` int(10) unsigned NOT NULL DEFAULT 0, + KEY `date_data_dom_ent_idx` (`domain_id`,`entity_id`), + KEY `date_ov_forkey_ent` (`entity_id`), + KEY `date_ov_forkey_pro` (`property_id`), + CONSTRAINT `date_ov_forkey_dom` FOREIGN KEY (`domain_id`) REFERENCES `entities` (`id`), + CONSTRAINT `date_ov_forkey_ent` FOREIGN KEY (`entity_id`) REFERENCES `entities` (`id`), + CONSTRAINT `date_ov_forkey_pro` FOREIGN KEY (`property_id`) REFERENCES `entities` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- +-- Table structure for table `datetime_data` +-- + +DROP TABLE IF EXISTS `datetime_data`; +CREATE TABLE `datetime_data` ( + `domain_id` int(10) unsigned NOT NULL COMMENT 'Domain.', + `entity_id` int(10) unsigned NOT NULL COMMENT 'Entity.', + `property_id` int(10) unsigned NOT NULL COMMENT 'Property.', + `status` enum('OBLIGATORY','RECOMMENDED','SUGGESTED','FIX','REPLACEMENT') COLLATE utf8_unicode_ci NOT NULL COMMENT 'Status of this statement.', + `pidx` int(10) unsigned NOT NULL DEFAULT 0, + `value_ns` int(10) unsigned DEFAULT NULL, + `value` bigint(20) NOT NULL, + KEY `domain_id` (`domain_id`,`entity_id`), + KEY `dat_entity_id_entity` (`entity_id`), + KEY `dat_property_id_entity` (`property_id`), + CONSTRAINT `dat_domain_id_entity` FOREIGN KEY (`domain_id`) REFERENCES `entities` (`id`), + CONSTRAINT `dat_entity_id_entity` FOREIGN KEY (`entity_id`) REFERENCES `entities` (`id`), + CONSTRAINT `dat_property_id_entity` FOREIGN KEY (`property_id`) REFERENCES `entities` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- +-- Table structure for table `desc_overrides` +-- + +DROP TABLE IF EXISTS `desc_overrides`; +CREATE TABLE `desc_overrides` ( + `domain_id` int(10) unsigned DEFAULT NULL, + `entity_id` int(10) unsigned DEFAULT NULL, + `property_id` int(10) unsigned DEFAULT NULL, + `description` text COLLATE utf8_unicode_ci DEFAULT NULL, + UNIQUE KEY `desc_ov_ukey` (`domain_id`,`entity_id`,`property_id`), + KEY `desc_ov_dom_ent_idx` (`domain_id`,`entity_id`), + KEY `desc_ov_forkey_ent` (`entity_id`), + KEY `desc_ov_forkey_pro` (`property_id`), + CONSTRAINT `desc_ov_forkey_dom` FOREIGN KEY (`domain_id`) REFERENCES `entities` (`id`), + CONSTRAINT `desc_ov_forkey_ent` FOREIGN KEY (`entity_id`) REFERENCES `entities` (`id`), + CONSTRAINT `desc_ov_forkey_pro` FOREIGN KEY (`property_id`) REFERENCES `entities` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- +-- Table structure for table `double_data` +-- + +DROP TABLE IF EXISTS `double_data`; +CREATE TABLE `double_data` ( + `domain_id` int(10) unsigned NOT NULL COMMENT 'Domain.', + `entity_id` int(10) unsigned NOT NULL COMMENT 'Entity.', + `property_id` int(10) unsigned NOT NULL COMMENT 'Property.', + `value` double NOT NULL, + `status` enum('OBLIGATORY','RECOMMENDED','SUGGESTED','FIX','REPLACEMENT') COLLATE utf8_unicode_ci NOT NULL COMMENT 'Status of this statement.', + `pidx` int(10) unsigned NOT NULL DEFAULT 0, + `unit_sig` bigint(20) DEFAULT NULL, + KEY `domain_id` (`domain_id`,`entity_id`), + KEY `dou_entity_id_entity` (`entity_id`), + KEY `dou_property_id_entity` (`property_id`), + CONSTRAINT `dou_domain_id_entity` FOREIGN KEY (`domain_id`) REFERENCES `entities` (`id`), + CONSTRAINT `dou_entity_id_entity` FOREIGN KEY (`entity_id`) REFERENCES `entities` (`id`), + CONSTRAINT `dou_property_id_entity` FOREIGN KEY (`property_id`) REFERENCES `entities` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- +-- Table structure for table `enum_data` +-- + +DROP TABLE IF EXISTS `enum_data`; +CREATE TABLE `enum_data` ( + `domain_id` int(10) unsigned DEFAULT NULL, + `entity_id` int(10) unsigned DEFAULT NULL, + `property_id` int(10) unsigned DEFAULT NULL, + `value` varbinary(255) NOT NULL, + `status` enum('OBLIGATORY','RECOMMENDED','SUGGESTED','FIX') COLLATE utf8_unicode_ci DEFAULT NULL, + `pidx` int(10) unsigned NOT NULL DEFAULT 0, + KEY `enum_ov_dom_ent_idx` (`domain_id`,`entity_id`), + KEY `enum_ov_forkey_ent` (`entity_id`), + KEY `enum_ov_forkey_pro` (`property_id`), + CONSTRAINT `enum_ov_forkey_dom` FOREIGN KEY (`domain_id`) REFERENCES `entities` (`id`), + CONSTRAINT `enum_ov_forkey_ent` FOREIGN KEY (`entity_id`) REFERENCES `entities` (`id`), + CONSTRAINT `enum_ov_forkey_pro` FOREIGN KEY (`property_id`) REFERENCES `entities` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- +-- Table structure for table `feature_config` +-- + +DROP TABLE IF EXISTS `feature_config`; +CREATE TABLE `feature_config` ( + `_key` varchar(255) COLLATE utf8_unicode_ci NOT NULL, + `_value` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, + PRIMARY KEY (`_key`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- +-- Dumping data for table `feature_config` +-- + +LOCK TABLES `feature_config` WRITE; +INSERT INTO `feature_config` VALUES ('ENTITY_VERSIONING','ENABLED'); +UNLOCK TABLES; + +-- +-- Table structure for table `files` +-- + +DROP TABLE IF EXISTS `files`; +CREATE TABLE `files` ( + `file_id` int(10) unsigned NOT NULL COMMENT 'The file''s ID.', + `path` varchar(255) COLLATE utf8_unicode_ci NOT NULL COMMENT 'Directory of the file.', + `size` bigint(20) unsigned NOT NULL COMMENT 'Size in kB (oktet bytes).', + `hash` binary(64) DEFAULT NULL, + `checked_timestamp` bigint(20) NOT NULL DEFAULT 0, + PRIMARY KEY (`file_id`), + CONSTRAINT `fil_file_id_entity` FOREIGN KEY (`file_id`) REFERENCES `entities` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- +-- Table structure for table `integer_data` +-- + +DROP TABLE IF EXISTS `integer_data`; +CREATE TABLE `integer_data` ( + `domain_id` int(10) unsigned NOT NULL COMMENT 'Domain.', + `entity_id` int(10) unsigned NOT NULL COMMENT 'Entity.', + `property_id` int(10) unsigned NOT NULL COMMENT 'Property.', + `value` bigint(20) NOT NULL, + `status` enum('OBLIGATORY','RECOMMENDED','SUGGESTED','FIX','REPLACEMENT') COLLATE utf8_unicode_ci NOT NULL COMMENT 'Status of this statement.', + `pidx` int(10) unsigned NOT NULL DEFAULT 0, + `unit_sig` bigint(20) DEFAULT NULL, + KEY `domain_id` (`domain_id`,`entity_id`), + KEY `int_entity_id_entity` (`entity_id`), + KEY `int_property_id_entity` (`property_id`), + CONSTRAINT `int_domain_id_entity` FOREIGN KEY (`domain_id`) REFERENCES `entities` (`id`), + CONSTRAINT `int_entity_id_entity` FOREIGN KEY (`entity_id`) REFERENCES `entities` (`id`), + CONSTRAINT `int_property_id_entity` FOREIGN KEY (`property_id`) REFERENCES `entities` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- +-- Table structure for table `isa_cache` +-- + +DROP TABLE IF EXISTS `isa_cache`; +CREATE TABLE `isa_cache` ( + `child` int(10) unsigned NOT NULL, + `parent` int(10) unsigned NOT NULL, + `rpath` varchar(255) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`child`,`parent`,`rpath`), + KEY `isa_cache_parent_entity` (`parent`), + CONSTRAINT `isa_cache_child_entity` FOREIGN KEY (`child`) REFERENCES `entities` (`id`), + CONSTRAINT `isa_cache_parent_entity` FOREIGN KEY (`parent`) REFERENCES `entities` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- +-- TODO Table structure for table `logging` +-- + +-- DROP TABLE IF EXISTS `logging`; +-- CREATE TABLE `logging` ( +-- `level` int(11) NOT NULL, +-- `logger` varchar(255) COLLATE utf8_unicode_ci NOT NULL, +-- `message` mediumtext COLLATE utf8_unicode_ci NOT NULL, +-- `millis` bigint(20) NOT NULL, +-- `logRecord` blob NOT NULL +-- ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- +-- Table structure for table `name_data` +-- + +DROP TABLE IF EXISTS `name_data`; +CREATE TABLE `name_data` ( + `domain_id` int(10) unsigned NOT NULL, + `entity_id` int(10) unsigned NOT NULL, + `property_id` int(10) unsigned NOT NULL, + `value` varchar(255) COLLATE utf8_unicode_ci NOT NULL, + `status` enum('OBLIGATORY','RECOMMENDED','SUGGESTED','FIX','REPLACEMENT') COLLATE utf8_unicode_ci NOT NULL, + `pidx` int(10) unsigned NOT NULL DEFAULT 0, + UNIQUE KEY `domain_id_2` (`domain_id`,`entity_id`,`property_id`), + KEY `domain_id` (`domain_id`,`entity_id`), + KEY `entity_id` (`entity_id`), + KEY `property_id` (`property_id`), + KEY `value` (`value`), + CONSTRAINT `name_data_domain_id_entity` FOREIGN KEY (`domain_id`) REFERENCES `entities` (`id`), + CONSTRAINT `name_data_entity_id_entity` FOREIGN KEY (`entity_id`) REFERENCES `entities` (`id`), + CONSTRAINT `name_data_property_id_entity` FOREIGN KEY (`property_id`) REFERENCES `entities` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- +-- Dumping data for table `name_data` +-- + +LOCK TABLES `name_data` WRITE; +INSERT INTO `name_data` VALUES (0,0,20,'DOMAIN','FIX',0),(0,1,20,'RECORDTYPE','FIX',0),(0,2,20,'RECORD','FIX',0),(0,3,20,'FILE','FIX',0),(0,4,20,'PROPERTY','FIX',0),(0,7,20,'DATATYPE','FIX',0),(0,8,20,'QUERYTEMPLATE','FIX',0),(0,11,20,'REFERENCE','FIX',0),(0,12,20,'INTEGER','FIX',0),(0,13,20,'DOUBLE','FIX',0),(0,14,20,'TEXT','FIX',0),(0,15,20,'DATETIME','FIX',0),(0,16,20,'TIMESPAN','FIX',0),(0,17,20,'FILE','FIX',0),(0,18,20,'BOOLEAN','FIX',0),(0,20,20,'name','FIX',0),(0,21,20,'unit','FIX',0),(0,24,20,'description','FIX',0),(0,50,20,'SQLITE','FIX',0); +UNLOCK TABLES; + +-- +-- Table structure for table `name_overrides` +-- + +DROP TABLE IF EXISTS `name_overrides`; +CREATE TABLE `name_overrides` ( + `domain_id` int(10) unsigned DEFAULT NULL, + `entity_id` int(10) unsigned DEFAULT NULL, + `property_id` int(10) unsigned DEFAULT NULL, + `name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, + UNIQUE KEY `name_ov_ukey` (`domain_id`,`entity_id`,`property_id`), + KEY `name_ov_dom_ent_idx` (`domain_id`,`entity_id`), + KEY `name_ov_forkey_ent` (`entity_id`), + KEY `name_ov_forkey_pro` (`property_id`), + CONSTRAINT `name_ov_forkey_dom` FOREIGN KEY (`domain_id`) REFERENCES `entities` (`id`), + CONSTRAINT `name_ov_forkey_ent` FOREIGN KEY (`entity_id`) REFERENCES `entities` (`id`), + CONSTRAINT `name_ov_forkey_pro` FOREIGN KEY (`property_id`) REFERENCES `entities` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- +-- Table structure for table `null_data` +-- + +DROP TABLE IF EXISTS `null_data`; +CREATE TABLE `null_data` ( + `domain_id` int(10) unsigned DEFAULT NULL, + `entity_id` int(10) unsigned DEFAULT NULL, + `property_id` int(10) unsigned DEFAULT NULL, + `status` enum('OBLIGATORY','RECOMMENDED','SUGGESTED','FIX') COLLATE utf8_unicode_ci DEFAULT NULL, + `pidx` int(10) unsigned NOT NULL DEFAULT 0, + KEY `null_data_dom_ent_idx` (`domain_id`,`entity_id`), + KEY `null_forkey_ent` (`entity_id`), + KEY `null_forkey_pro` (`property_id`), + CONSTRAINT `null_forkey_dom` FOREIGN KEY (`domain_id`) REFERENCES `entities` (`id`), + CONSTRAINT `null_forkey_ent` FOREIGN KEY (`entity_id`) REFERENCES `entities` (`id`), + CONSTRAINT `null_forkey_pro` FOREIGN KEY (`property_id`) REFERENCES `entities` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- +-- Table structure for table `passwd` +-- + +DROP TABLE IF EXISTS `passwd`; +CREATE TABLE `passwd` ( + `principal` varbinary(255) NOT NULL, + `hash` varbinary(255) NOT NULL, + `alg` varchar(255) COLLATE utf8_unicode_ci DEFAULT 'SHA-512', + `it` int(10) unsigned DEFAULT 5000, + `salt` varbinary(255) NOT NULL, + PRIMARY KEY (`principal`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- +-- Table structure for table `roles` +-- + +DROP TABLE IF EXISTS `roles`; +CREATE TABLE `roles` ( + `name` varbinary(255) NOT NULL, + `description` mediumtext COLLATE utf8_unicode_ci DEFAULT NULL, + PRIMARY KEY (`name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- +-- Dumping data for table `roles` +-- + +LOCK TABLES `roles` WRITE; +INSERT INTO `roles` VALUES ('administration','Users with this role have unrestricted permissions.'),('anonymous','Users who did not authenticate themselves.'); +UNLOCK TABLES; + +-- +-- Table structure for table `permissions` +-- + +DROP TABLE IF EXISTS `permissions`; +CREATE TABLE `permissions` ( + `role` varbinary(255) NOT NULL, + `permissions` mediumtext COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`role`), + CONSTRAINT `perm_name_roles` FOREIGN KEY (`role`) REFERENCES `roles` (`name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- +-- Dumping data for table `permissions` +-- + +LOCK TABLES `permissions` WRITE; +INSERT INTO `permissions` VALUES ('administration','[{\"grant\":\"true\",\"priority\":\"true\",\"permission\":\"*\"}]'); +UNLOCK TABLES; + +-- +-- Table structure for table `query_template_def` +-- + +DROP TABLE IF EXISTS `query_template_def`; +CREATE TABLE `query_template_def` ( + `id` int(10) unsigned NOT NULL, + `definition` mediumtext COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`id`), + CONSTRAINT `query_template_def_ibfk_1` FOREIGN KEY (`id`) REFERENCES `entities` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- +-- Table structure for table `reference_data` +-- + +DROP TABLE IF EXISTS `reference_data`; +CREATE TABLE `reference_data` ( + `domain_id` int(10) unsigned NOT NULL COMMENT 'Domain.', + `entity_id` int(10) unsigned NOT NULL COMMENT 'Entity.', + `property_id` int(10) unsigned NOT NULL COMMENT 'Property.', + `value` int(10) unsigned NOT NULL, + `status` enum('OBLIGATORY','RECOMMENDED','SUGGESTED','FIX','REPLACEMENT') COLLATE utf8_unicode_ci NOT NULL COMMENT 'Status of this statement.', + `pidx` int(10) unsigned NOT NULL DEFAULT 0, + `value_iversion` int(10) unsigned DEFAULT NULL, + KEY `entity_id` (`entity_id`,`property_id`), + KEY `ref_domain_id_entity` (`domain_id`), + KEY `ref_property_id_entity` (`property_id`), + KEY `value` (`value`,`value_iversion`), + CONSTRAINT `ref_domain_id_entity` FOREIGN KEY (`domain_id`) REFERENCES `entities` (`id`), + CONSTRAINT `ref_entity_id_entity` FOREIGN KEY (`entity_id`) REFERENCES `entities` (`id`), + CONSTRAINT `ref_property_id_entity` FOREIGN KEY (`property_id`) REFERENCES `entities` (`id`), + CONSTRAINT `ref_value_entity` FOREIGN KEY (`value`) REFERENCES `entities` (`id`), + CONSTRAINT `reference_data_ibfk_1` FOREIGN KEY (`value`, `value_iversion`) REFERENCES `entity_version` (`entity_id`, `_iversion`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- +-- Table structure for table `stats` +-- + +DROP TABLE IF EXISTS `stats`; +CREATE TABLE `stats` ( + `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL, + `value` blob DEFAULT NULL, + PRIMARY KEY (`name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- +-- Table structure for table `text_data` +-- + +DROP TABLE IF EXISTS `text_data`; +CREATE TABLE `text_data` ( + `domain_id` int(10) unsigned NOT NULL COMMENT 'Domain.', + `entity_id` int(10) unsigned NOT NULL COMMENT 'Entity.', + `property_id` int(10) unsigned NOT NULL COMMENT 'Property.', + `value` text COLLATE utf8_unicode_ci NOT NULL, + `status` enum('OBLIGATORY','RECOMMENDED','SUGGESTED','FIX','REPLACEMENT') COLLATE utf8_unicode_ci NOT NULL COMMENT 'Status of this statement.', + `pidx` int(10) unsigned NOT NULL DEFAULT 0, + KEY `domain_id` (`domain_id`,`entity_id`), + KEY `str_entity_id_entity` (`entity_id`), + KEY `str_property_id_entity` (`property_id`), + CONSTRAINT `str_domain_id_entity` FOREIGN KEY (`domain_id`) REFERENCES `entities` (`id`), + CONSTRAINT `str_entity_id_entity` FOREIGN KEY (`entity_id`) REFERENCES `entities` (`id`), + CONSTRAINT `str_property_id_entity` FOREIGN KEY (`property_id`) REFERENCES `entities` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- +-- Table structure for table `transaction_log` +-- + +DROP TABLE IF EXISTS `transaction_log`; +CREATE TABLE `transaction_log` ( + `transaction` varchar(255) COLLATE utf8_unicode_ci NOT NULL COMMENT 'Transaction.', + `entity_id` int(10) unsigned NOT NULL COMMENT 'Entity ID.', + `username` varbinary(255) NOT NULL, + `seconds` bigint(20) unsigned NOT NULL DEFAULT 0, + `nanos` int(10) unsigned NOT NULL DEFAULT 0, + `realm` varbinary(255) NOT NULL, + KEY `entity_id` (`entity_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- +-- Table structure for table `units_lin_con` +-- + +DROP TABLE IF EXISTS `units_lin_con`; +CREATE TABLE `units_lin_con` ( + `signature_from` bigint(20) NOT NULL, + `signature_to` bigint(20) NOT NULL, + `a` decimal(65,30) NOT NULL, + `b_dividend` int(11) NOT NULL, + `b_divisor` int(11) NOT NULL, + `c` decimal(65,30) NOT NULL, + PRIMARY KEY (`signature_from`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- +-- Table structure for table `user_info` +-- + +DROP TABLE IF EXISTS `user_info`; +CREATE TABLE `user_info` ( + `realm` varbinary(255) NOT NULL, + `name` varbinary(255) NOT NULL, + `email` varbinary(255) DEFAULT NULL, + `status` enum('ACTIVE','INACTIVE') COLLATE utf8_unicode_ci NOT NULL DEFAULT 'INACTIVE', + `entity` int(10) unsigned DEFAULT NULL, + PRIMARY KEY (`realm`,`name`), + KEY `subject_entity` (`entity`), + CONSTRAINT `subjects_ibfk_1` FOREIGN KEY (`entity`) REFERENCES `entities` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- +-- Table structure for table `user_roles` +-- + +DROP TABLE IF EXISTS `user_roles`; +CREATE TABLE `user_roles` ( + `realm` varbinary(255) NOT NULL, + `user` varbinary(255) NOT NULL, + `role` varbinary(255) NOT NULL, + PRIMARY KEY (`realm`,`user`,`role`), + KEY `user_roles_ibfk_1` (`role`), + CONSTRAINT `user_roles_ibfk_1` FOREIGN KEY (`role`) REFERENCES `roles` (`name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + diff --git a/patches/patch20201110-4.0.0-rc1/update_archive_isa.sql b/patches/patch20201110-4.0.0-rc1/update_archive_isa.sql index 9beaa857a28ec520a26b6e912e7ce0c9b918b76e..34a46f16cddaa0556147d0e3d46c169d17617bfe 100644 --- a/patches/patch20201110-4.0.0-rc1/update_archive_isa.sql +++ b/patches/patch20201110-4.0.0-rc1/update_archive_isa.sql @@ -19,9 +19,9 @@ */ -- remove unused procedures -DROP PROCEDURE IF EXISTS db_2_0.initNegationFilter; -DROP PROCEDURE IF EXISTS db_2_0.initConjunctionFilter; -DROP PROCEDURE IF EXISTS db_2_0.finishNegationFilter; +DROP PROCEDURE IF EXISTS initNegationFilter; +DROP PROCEDURE IF EXISTS initConjunctionFilter; +DROP PROCEDURE IF EXISTS finishNegationFilter; ALTER TABLE archive_isa ADD COLUMN `direct` BOOLEAN DEFAULT TRUE; diff --git a/procedures/deleteEntity.sql b/procedures/deleteEntity.sql index d66a7d7c22e290935a59e944e9200d3ad5909b4e..5574f3e3499a0802cd9ba176904b13016e966643 100644 --- a/procedures/deleteEntity.sql +++ b/procedures/deleteEntity.sql @@ -35,10 +35,10 @@ EntityID : UNSIGNED The ID of the Entity. */ -DROP PROCEDURE IF EXISTS db_2_0.deleteEntity; +DROP PROCEDURE IF EXISTS db_5_0.deleteEntity; delimiter // -CREATE PROCEDURE db_2_0.deleteEntity(in EntityID INT UNSIGNED) +CREATE PROCEDURE db_5_0.deleteEntity(in EntityID INT UNSIGNED) BEGIN -- detele file properties diff --git a/procedures/deleteEntityProperties.sql b/procedures/deleteEntityProperties.sql index 2075696ef244d54dffd6d658adf0a74cb8662179..147959df5f24dc8e67f1fbce97c609da1e31e09a 100644 --- a/procedures/deleteEntityProperties.sql +++ b/procedures/deleteEntityProperties.sql @@ -23,10 +23,10 @@ * ** end header */ -DROP PROCEDURE IF EXISTS db_2_0.deleteEntityProperties; +DROP PROCEDURE IF EXISTS db_5_0.deleteEntityProperties; delimiter // -CREATE PROCEDURE db_2_0.deleteEntityProperties(in EntityID INT UNSIGNED) +CREATE PROCEDURE db_5_0.deleteEntityProperties(in EntityID INT UNSIGNED) BEGIN DECLARE IVersion INT UNSIGNED DEFAULT NULL; diff --git a/procedures/deleteIsaCache.sql b/procedures/deleteIsaCache.sql index 1ffff23e0b6e876ad8aaef21554a26f723cc6c94..fd78d3fd8a23a93b91cacedbcc28f91966c59d90 100644 --- a/procedures/deleteIsaCache.sql +++ b/procedures/deleteIsaCache.sql @@ -24,7 +24,7 @@ */ SET GLOBAL log_bin_trust_function_creators = 1; -DROP PROCEDURE IF EXISTS db_2_0.deleteIsa; +DROP PROCEDURE IF EXISTS db_5_0.deleteIsa; DELIMITER // /* Delete "is a" relations from the given entity towards ancestors. @@ -41,7 +41,7 @@ Parameters EntityID : UNSIGNED Child entity for which all parental relations should be deleted. */ -CREATE PROCEDURE db_2_0.deleteIsa(IN EntityID INT UNSIGNED) +CREATE PROCEDURE db_5_0.deleteIsa(IN EntityID INT UNSIGNED) BEGIN DECLARE IVersion INT UNSIGNED DEFAULT NULL; diff --git a/procedures/entityACL.sql b/procedures/entityACL.sql index 5f5822b583566f4c2222991a651eb02d3795904e..98e61238d709d46a8b1d4f109465a853366faca4 100644 --- a/procedures/entityACL.sql +++ b/procedures/entityACL.sql @@ -22,9 +22,9 @@ */ -DROP PROCEDURE IF EXISTS db_2_0.entityACL; +DROP PROCEDURE IF EXISTS db_5_0.entityACL; delimiter // -CREATE PROCEDURE db_2_0.entityACL(out ACLID INT UNSIGNED, in ACLSTR VARBINARY(65525)) +CREATE PROCEDURE db_5_0.entityACL(out ACLID INT UNSIGNED, in ACLSTR VARBINARY(65525)) BEGIN SELECT id INTO ACLID FROM entity_acl as t WHERE t.acl=ACLSTR LIMIT 1; IF ACLID IS NULL THEN diff --git a/procedures/entityVersioning.sql b/procedures/entityVersioning.sql index 0c4e9cbcedd777f745c76249eb4352894b840c94..888fc60ac4b9a821a6b8e3446f13456abad91815 100644 --- a/procedures/entityVersioning.sql +++ b/procedures/entityVersioning.sql @@ -20,7 +20,7 @@ delimiter // -DROP PROCEDURE IF EXISTS db_2_0.insert_single_child_version // +DROP PROCEDURE IF EXISTS db_5_0.insert_single_child_version // /** * Creates a new version record in the `entity_version` table. @@ -42,7 +42,7 @@ DROP PROCEDURE IF EXISTS db_2_0.insert_single_child_version // * The transaction ID which created this entity version (by inserting * or updating an entity). */ -CREATE PROCEDURE db_2_0.insert_single_child_version( +CREATE PROCEDURE db_5_0.insert_single_child_version( in EntityID INT UNSIGNED, in Hash VARBINARY(255), in Version VARBINARY(255), @@ -85,7 +85,7 @@ BEGIN END; // -DROP PROCEDURE IF EXISTS db_2_0.delete_all_entity_versions // +DROP PROCEDURE IF EXISTS db_5_0.delete_all_entity_versions // /** * Remove all records in the entity_version table for the given entity. @@ -95,7 +95,7 @@ DROP PROCEDURE IF EXISTS db_2_0.delete_all_entity_versions // * EntityID * The id of the versioned entity. */ -CREATE PROCEDURE db_2_0.delete_all_entity_versions( +CREATE PROCEDURE db_5_0.delete_all_entity_versions( in EntityID INT UNSIGNED) BEGIN @@ -104,7 +104,7 @@ BEGIN END; // -DROP FUNCTION IF EXISTS db_2_0.get_iversion // +DROP FUNCTION IF EXISTS db_5_0.get_iversion // /** * Get the internal version id (an integer) of the (API-)version id. @@ -120,7 +120,7 @@ DROP FUNCTION IF EXISTS db_2_0.get_iversion // * ------- * The internal version id. */ -CREATE FUNCTION db_2_0.get_iversion( +CREATE FUNCTION db_5_0.get_iversion( EntityID INT UNSIGNED, Version VARBINARY(255)) RETURNS INT UNSIGNED @@ -136,7 +136,7 @@ END; // -DROP FUNCTION IF EXISTS db_2_0.get_primary_parent_version // +DROP FUNCTION IF EXISTS db_5_0.get_primary_parent_version // /** * Get the version ID of the primary parent (i.e. predecessor) of a version. @@ -152,7 +152,7 @@ DROP FUNCTION IF EXISTS db_2_0.get_primary_parent_version // * ------- * The id of the given version's primary parent version. */ -CREATE FUNCTION db_2_0.get_primary_parent_version( +CREATE FUNCTION db_5_0.get_primary_parent_version( EntityID INT UNSIGNED, Version VARBINARY(255)) RETURNS VARBINARY(255) @@ -170,7 +170,7 @@ END; // -DROP FUNCTION IF EXISTS db_2_0.get_version_timestamp // +DROP FUNCTION IF EXISTS db_5_0.get_version_timestamp // /** * Get the timestamp of a version by retrieving the timestamp of the * transaction which created the version. @@ -187,7 +187,7 @@ DROP FUNCTION IF EXISTS db_2_0.get_version_timestamp // * The versions' timestamp in <seconds-since-epoch>.<nanoseconds> format. * Note that the dot `.` here is not necessarily a decimal separator. */ -CREATE FUNCTION db_2_0.get_version_timestamp( +CREATE FUNCTION db_5_0.get_version_timestamp( EntityID INT UNSIGNED, Version VARBINARY(255)) RETURNS VARCHAR(255) @@ -203,7 +203,7 @@ BEGIN END; // -DROP FUNCTION IF EXISTS db_2_0.get_head_version // +DROP FUNCTION IF EXISTS db_5_0.get_head_version // /** * Get the version id of the HEAD of an entity. @@ -217,7 +217,7 @@ DROP FUNCTION IF EXISTS db_2_0.get_head_version // * ------- * The version id of the HEAD. */ -CREATE FUNCTION db_2_0.get_head_version( +CREATE FUNCTION db_5_0.get_head_version( EntityID INT UNSIGNED) RETURNS VARBINARY(255) READS SQL DATA @@ -226,7 +226,7 @@ BEGIN END; // -DROP FUNCTION IF EXISTS db_2_0._get_head_iversion // +DROP FUNCTION IF EXISTS db_5_0._get_head_iversion // /** * Get the _iversion number of the HEAD of an entity. @@ -240,7 +240,7 @@ DROP FUNCTION IF EXISTS db_2_0._get_head_iversion // * ------- * The _iversion of the HEAD. */ -CREATE FUNCTION db_2_0._get_head_iversion( +CREATE FUNCTION db_5_0._get_head_iversion( EntityID INT UNSIGNED) RETURNS INT UNSIGNED READS SQL DATA @@ -259,7 +259,7 @@ BEGIN END; -DROP FUNCTION IF EXISTS db_2_0.get_head_relative // +DROP FUNCTION IF EXISTS db_5_0.get_head_relative // /** * Get the id of a version which is specified relative to the HEAD of an @@ -278,7 +278,7 @@ DROP FUNCTION IF EXISTS db_2_0.get_head_relative // * ------- * The version id of the HEAD. */ -CREATE FUNCTION db_2_0.get_head_relative( +CREATE FUNCTION db_5_0.get_head_relative( EntityID INT UNSIGNED, Offset INT UNSIGNED) RETURNS VARBINARY(255) @@ -298,7 +298,7 @@ BEGIN END; // -DROP FUNCTION IF EXISTS db_2_0._get_version // +DROP FUNCTION IF EXISTS db_5_0._get_version // /** * The inverse function of get_iversion. Resolves the version id. * @@ -313,7 +313,7 @@ DROP FUNCTION IF EXISTS db_2_0._get_version // * ------- * The version id. */ -CREATE FUNCTION db_2_0._get_version( +CREATE FUNCTION db_5_0._get_version( EntityID INT UNSIGNED, IVersion INT UNSIGNED) RETURNS VARBINARY(255) @@ -327,7 +327,7 @@ BEGIN END; // -DROP PROCEDURE IF EXISTS db_2_0.get_version_history // +DROP PROCEDURE IF EXISTS db_5_0.get_version_history // /** * Select the complete transaction history of an entity (Who created which @@ -343,7 +343,7 @@ DROP PROCEDURE IF EXISTS db_2_0.get_version_history // * Tuples (child, parent, child_seconds, child_nanos, child_username, * child_realm). `child` and `parent` are version IDs. */ -CREATE PROCEDURE db_2_0.get_version_history( +CREATE PROCEDURE db_5_0.get_version_history( in EntityID INT UNSIGNED) BEGIN -- retrieve root(s) (initial versions) diff --git a/procedures/getDependentEntities.sql b/procedures/getDependentEntities.sql index c69c64f25ed9ca6d6d46b5d24af09587ea9018f0..708503d90954c8ecea1fafa67113b7130a7b6684 100644 --- a/procedures/getDependentEntities.sql +++ b/procedures/getDependentEntities.sql @@ -23,10 +23,10 @@ -DROP PROCEDURE IF EXISTS db_2_0.getDependentEntities; +DROP PROCEDURE IF EXISTS db_5_0.getDependentEntities; delimiter // -CREATE PROCEDURE db_2_0.getDependentEntities(in EntityID INT UNSIGNED) +CREATE PROCEDURE db_5_0.getDependentEntities(in EntityID INT UNSIGNED) BEGIN DROP TEMPORARY TABLE IF EXISTS refering; diff --git a/procedures/getFileIdByPath.sql b/procedures/getFileIdByPath.sql index f644afeedd8142d9586009f15db9cbd6ee572055..e565eced5b7fac23199d2ce9169fe45822dfffbc 100644 --- a/procedures/getFileIdByPath.sql +++ b/procedures/getFileIdByPath.sql @@ -21,9 +21,9 @@ * ** end header */ -Drop Procedure if exists db_2_0.getFileIdByPath; +Drop Procedure if exists db_5_0.getFileIdByPath; Delimiter // -Create Procedure db_2_0.getFileIdByPath (in FilePath VARCHAR(255)) +Create Procedure db_5_0.getFileIdByPath (in FilePath VARCHAR(255)) BEGIN Select file_id as FileID from files where path=FilePath LIMIT 1; diff --git a/procedures/getInfo.sql b/procedures/getInfo.sql index bf7721516bb4966f7735d75268c1ac6b137d7f7e..03c75b4e1df37400596c85d20e5421abc43c6f10 100644 --- a/procedures/getInfo.sql +++ b/procedures/getInfo.sql @@ -21,4 +21,4 @@ * ** end header */ #-- old procedure. -Drop Procedure if exists db_2_0.getInfo; +Drop Procedure if exists db_5_0.getInfo; diff --git a/procedures/getRole.sql b/procedures/getRole.sql index 1f1552e195a8dbbbfbc0b551f7cb17bcb86b21e2..bea96fcfbf14d7ad8ec62b88c272ab22c5d94258 100644 --- a/procedures/getRole.sql +++ b/procedures/getRole.sql @@ -27,9 +27,9 @@ -DROP PROCEDURE IF EXISTS db_2_0.getRole; +DROP PROCEDURE IF EXISTS db_5_0.getRole; delimiter // -CREATE PROCEDURE db_2_0.getRole(in RoleName VARCHAR(255)) +CREATE PROCEDURE db_5_0.getRole(in RoleName VARCHAR(255)) BEGIN Select e.id INTO @RoleID from entities e where e.name=RoleName AND e.role=RoleName LIMIT 1; diff --git a/procedures/initAutoIncrement.sql b/procedures/initAutoIncrement.sql index 229dc9ccc1a43a89e29e8800a17e81c82e5ed4cb..54cb54525ee7d8b864c1e979dfda6ab9471fcfb5 100644 --- a/procedures/initAutoIncrement.sql +++ b/procedures/initAutoIncrement.sql @@ -21,10 +21,10 @@ * ** end header */ -DROP PROCEDURE IF EXISTS db_2_0.initAutoIncrement; +DROP PROCEDURE IF EXISTS db_5_0.initAutoIncrement; delimiter // -CREATE PROCEDURE db_2_0.initAutoIncrement() +CREATE PROCEDURE db_5_0.initAutoIncrement() BEGIN SELECT @max := MAX(entity_id)+ 1 FROM transaction_log; diff --git a/procedures/insertEntity.sql b/procedures/insertEntity.sql index 50a39979829c381c8e633903bcdef9695ff2a105..e73a3bd8acc9ac7ad27f9b261c780a10939d8e8c 100644 --- a/procedures/insertEntity.sql +++ b/procedures/insertEntity.sql @@ -24,7 +24,7 @@ */ -DROP PROCEDURE IF EXISTS db_2_0.insertEntity; +DROP PROCEDURE IF EXISTS db_5_0.insertEntity; delimiter // /* Insert an Entity @@ -46,7 +46,7 @@ Select A tuple (EntityID, Version) */ -CREATE PROCEDURE db_2_0.insertEntity(in EntityName VARCHAR(255), in EntityDesc TEXT, in EntityRole VARCHAR(255), in ACL VARBINARY(65525)) +CREATE PROCEDURE db_5_0.insertEntity(in EntityName VARCHAR(255), in EntityDesc TEXT, in EntityRole VARCHAR(255), in ACL VARBINARY(65525)) BEGIN DECLARE NewEntityID INT UNSIGNED DEFAULT NULL; DECLARE NewACLID INT UNSIGNED DEFAULT NULL; diff --git a/procedures/insertEntityProperty.sql b/procedures/insertEntityProperty.sql index d208dbc8347b139eccdddbfa6f980b1f83a6d955..1cfd38bac3f0bd455779d7398d46f3dcf3df1243 100644 --- a/procedures/insertEntityProperty.sql +++ b/procedures/insertEntityProperty.sql @@ -23,9 +23,9 @@ * ** end header */ -DROP PROCEDURE IF EXISTS db_2_0.insertEntityProperty; +DROP PROCEDURE IF EXISTS db_5_0.insertEntityProperty; delimiter // -CREATE PROCEDURE db_2_0.insertEntityProperty( +CREATE PROCEDURE db_5_0.insertEntityProperty( in DomainID INT UNSIGNED, in EntityID INT UNSIGNED, in PropertyID INT UNSIGNED, diff --git a/procedures/insertIsaCache.sql b/procedures/insertIsaCache.sql index a05681df89e02f7c183f2b2ce70edca9a3864380..9d1bf1c529e8b33d33cd6c6eb794afc09e65dbea 100644 --- a/procedures/insertIsaCache.sql +++ b/procedures/insertIsaCache.sql @@ -21,7 +21,7 @@ * * ** end header */ -DROP PROCEDURE IF EXISTS db_2_0.insertIsa; +DROP PROCEDURE IF EXISTS db_5_0.insertIsa; DELIMITER // /** @@ -39,7 +39,7 @@ DELIMITER // * p : UNSIGNED * The parent entity */ -CREATE PROCEDURE db_2_0.insertIsa(IN c INT UNSIGNED, IN p INT UNSIGNED) +CREATE PROCEDURE db_5_0.insertIsa(IN c INT UNSIGNED, IN p INT UNSIGNED) insert_is_a_proc: BEGIN INSERT INTO isa_cache (child, parent, rpath) VALUES (c, p, c); diff --git a/procedures/insertLinCon.sql b/procedures/insertLinCon.sql index 7c03d509cc2d49e8ca1c1e601ee28e84e94dc196..0ace949dabc89d2dd3a4ecd544573bb8fde260a6 100644 --- a/procedures/insertLinCon.sql +++ b/procedures/insertLinCon.sql @@ -21,10 +21,10 @@ * ** end header */ -DROP PROCEDURE IF EXISTS db_2_0.insertLinCon; +DROP PROCEDURE IF EXISTS db_5_0.insertLinCon; delimiter // -CREATE PROCEDURE db_2_0.insertLinCon(in signature_from BIGINT, in signature_to BIGINT, in a DECIMAL(65,30), in b_dividend BIGINT, in b_divisor BIGINT, in c DECIMAL(65,30)) +CREATE PROCEDURE db_5_0.insertLinCon(in signature_from BIGINT, in signature_to BIGINT, in a DECIMAL(65,30), in b_dividend BIGINT, in b_divisor BIGINT, in c DECIMAL(65,30)) BEGIN INSERT IGNORE INTO units_lin_con (signature_from, signature_to, a, b_dividend, b_divisor, c) VALUES (signature_from, signature_to, a, b_dividend, b_divisor, c); @@ -33,10 +33,10 @@ END; // delimiter ; -DROP PROCEDURE IF EXISTS db_2_0.deleteLinCon; +DROP PROCEDURE IF EXISTS db_5_0.deleteLinCon; delimiter // -CREATE PROCEDURE db_2_0.deleteLinCon(in sig BIGINT) +CREATE PROCEDURE db_5_0.deleteLinCon(in sig BIGINT) BEGIN DELETE FROM units_lin_con WHERE signature_from=sig; @@ -45,10 +45,10 @@ END; // delimiter ; -DROP PROCEDURE IF EXISTS db_2_0.updateLinCon; +DROP PROCEDURE IF EXISTS db_5_0.updateLinCon; delimiter // -CREATE PROCEDURE db_2_0.updateLinCon(in sig_from BIGINT, in sig_to BIGINT, in new_a DECIMAL(65,30), in new_b_dividend BIGINT, in new_b_divisor BIGINT, in new_c DECIMAL(65,30)) +CREATE PROCEDURE db_5_0.updateLinCon(in sig_from BIGINT, in sig_to BIGINT, in new_a DECIMAL(65,30), in new_b_dividend BIGINT, in new_b_divisor BIGINT, in new_c DECIMAL(65,30)) BEGIN UPDATE units_lin_con SET signature_to=sig_to, a=new_a, b_dividend=new_b_dividend, b_divisor=new_b_divisor, c=new_c where signature_from=sig_from; @@ -57,10 +57,10 @@ END; delimiter ; -DROP PROCEDURE IF EXISTS db_2_0.cleanUpLinCon; +DROP PROCEDURE IF EXISTS db_5_0.cleanUpLinCon; delimiter // -CREATE PROCEDURE db_2_0.cleanUpLinCon() +CREATE PROCEDURE db_5_0.cleanUpLinCon() BEGIN DELETE FROM units_lin_con WHERE NOT EXISTS (SELECT '1' FROM double_data WHERE unit_sig=signature_from) AND NOT EXISTS (SELECT '1' FROM integer_data WHERE unit_sig=signature_from); diff --git a/procedures/insertUser.sql b/procedures/insertUser.sql index bea3022f3fee1dac38df4471660394b264d2e217..4f2f01eea78fd5190c7ab1fbf106fa435b0da2ef 100644 --- a/procedures/insertUser.sql +++ b/procedures/insertUser.sql @@ -21,9 +21,9 @@ * ** end header */ -Drop Procedure if exists db_2_0.insertUser; +Drop Procedure if exists db_5_0.insertUser; Delimiter // -Create Procedure db_2_0.insertUser(in Name VARCHAR(255), in Password VARCHAR(255)) +Create Procedure db_5_0.insertUser(in Name VARCHAR(255), in Password VARCHAR(255)) BEGIN diff --git a/procedures/isSubtype.sql b/procedures/isSubtype.sql index 47019bfc694f6f403fa9f8f3993f6eac9b32abec..f97c13f8f6ac75900ceca96e12cb285979a90a28 100644 --- a/procedures/isSubtype.sql +++ b/procedures/isSubtype.sql @@ -22,10 +22,10 @@ */ -DROP PROCEDURE IF EXISTS db_2_0.isSubtype; +DROP PROCEDURE IF EXISTS db_5_0.isSubtype; delimiter // -CREATE PROCEDURE db_2_0.isSubtype(in c INT UNSIGNED, in p INT UNSIGNED) +CREATE PROCEDURE db_5_0.isSubtype(in c INT UNSIGNED, in p INT UNSIGNED) BEGIN DECLARE ret BOOLEAN DEFAULT FALSE; SELECT TRUE INTO ret FROM isa_cache AS i WHERE i.child=c AND i.parent=p LIMIT 1; diff --git a/procedures/is_feature_config.sql b/procedures/is_feature_config.sql new file mode 100644 index 0000000000000000000000000000000000000000..b6586500961d73f9e88360e4e613f6969eb0857e --- /dev/null +++ b/procedures/is_feature_config.sql @@ -0,0 +1,35 @@ +/* + * This file is a part of the CaosDB Project. + * + * Copyright (C) 2020 IndiScale GmbH <info@indiscale.com> + * Copyright (C) 2020 Timm Fitschen <t.fitschen@indiscale.com> + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <https://www.gnu.org/licenses/>. + */ + +delimiter // + +DROP FUNCTION IF EXISTS is_feature_config // +CREATE FUNCTION is_feature_config( + _Key VARCHAR(255), + Expected VARCHAR(255)) +RETURNS BOOLEAN +READS SQL DATA +BEGIN + RETURN ( + SELECT f._value = Expected FROM feature_config as f WHERE f._key = _Key + ); +END // + +delimiter ; diff --git a/procedures/overrideName.sql b/procedures/overrideName.sql index 2c8c3478c8bd32c802529c8dfaf85c8f277bdbe7..ace102b25a72f0f4159a0769efce4209449d5bc4 100644 --- a/procedures/overrideName.sql +++ b/procedures/overrideName.sql @@ -21,24 +21,24 @@ * ** end header */ -DROP PROCEDURE IF EXISTS db_2_0.overrideName; -DROP PROCEDURE IF EXISTS db_2_0.overrideDesc; -DROP PROCEDURE IF EXISTS db_2_0.overrideType; +DROP PROCEDURE IF EXISTS db_5_0.overrideName; +DROP PROCEDURE IF EXISTS db_5_0.overrideDesc; +DROP PROCEDURE IF EXISTS db_5_0.overrideType; DELIMITER // -CREATE PROCEDURE db_2_0.overrideName(in DomainID INT UNSIGNED, in EntityID INT UNSIGNED, in PropertyID INT UNSIGNED, in Name VARCHAR(255)) +CREATE PROCEDURE db_5_0.overrideName(in DomainID INT UNSIGNED, in EntityID INT UNSIGNED, in PropertyID INT UNSIGNED, in Name VARCHAR(255)) BEGIN INSERT INTO name_overrides (domain_id, entity_id, property_id, name) VALUES (DomainID, EntityID, PropertyID, Name); END; // -CREATE PROCEDURE db_2_0.overrideDesc(in DomainID INT UNSIGNED, in EntityID INT UNSIGNED, in PropertyID INT UNSIGNED, in Description TEXT) +CREATE PROCEDURE db_5_0.overrideDesc(in DomainID INT UNSIGNED, in EntityID INT UNSIGNED, in PropertyID INT UNSIGNED, in Description TEXT) BEGIN INSERT INTO desc_overrides (domain_id, entity_id, property_id, description) VALUES (DomainID, EntityID, PropertyID, Description); END; // -CREATE PROCEDURE db_2_0.overrideType(in DomainID INT UNSIGNED, in EntityID INT UNSIGNED, in PropertyID INT UNSIGNED, in Datatype INT UNSIGNED) +CREATE PROCEDURE db_5_0.overrideType(in DomainID INT UNSIGNED, in EntityID INT UNSIGNED, in PropertyID INT UNSIGNED, in Datatype INT UNSIGNED) BEGIN INSERT INTO data_type (domain_id, entity_id, property_id, datatype) VALUES (DomainID, EntityID, PropertyID, Datatype); END; diff --git a/procedures/query/applyBackReference.sql b/procedures/query/applyBackReference.sql index 2d74f74db8cc43e1b0c54c61d09c75042c2247ab..5ca0c4a1ecad039ee06ffc99b40aa43595fd0809 100644 --- a/procedures/query/applyBackReference.sql +++ b/procedures/query/applyBackReference.sql @@ -24,7 +24,7 @@ * ** end header */ -DROP PROCEDURE IF EXISTS db_2_0.applyBackReference; +DROP PROCEDURE IF EXISTS db_5_0.applyBackReference; DELIMITER // /** @@ -61,7 +61,7 @@ DELIMITER // * column as well (unless sourceSet is the `entities` table). * */ -CREATE PROCEDURE db_2_0.applyBackReference(in sourceSet VARCHAR(255), targetSet VARCHAR(255), +CREATE PROCEDURE db_5_0.applyBackReference(in sourceSet VARCHAR(255), targetSet VARCHAR(255), in propertiesTable VARCHAR(255), in entitiesTable VARCHAR(255), in subQuery BOOLEAN, in versioned BOOLEAN) BEGIN diff --git a/procedures/query/applyIDFilter.sql b/procedures/query/applyIDFilter.sql index c9b876420493a61da7ff174e58b750976b79520f..b1c26b7ca63442c2d6b1b8dbc41fbb22d17f6d95 100644 --- a/procedures/query/applyIDFilter.sql +++ b/procedures/query/applyIDFilter.sql @@ -21,7 +21,7 @@ * ** end header */ -DROP PROCEDURE IF EXISTS db_2_0.applyIDFilter; +DROP PROCEDURE IF EXISTS db_5_0.applyIDFilter; DELIMITER // @@ -33,7 +33,7 @@ DELIMITER // * The `versioned` flag currently only has the effect that an `_iversion` column is also copied to * the target. */ -CREATE PROCEDURE db_2_0.applyIDFilter(in sourceSet VARCHAR(255), in targetSet VARCHAR(255), +CREATE PROCEDURE db_5_0.applyIDFilter(in sourceSet VARCHAR(255), in targetSet VARCHAR(255), in o CHAR(2), in vInt BIGINT, in agg CHAR(3), in versioned BOOLEAN) IDFILTER_LABEL: BEGIN DECLARE data VARCHAR(20000) DEFAULT NULL; diff --git a/procedures/query/applyPOV.sql b/procedures/query/applyPOV.sql index a6608fa1e9c294ce8abd7ea54d6b14699f2ae34e..03e2f1d9eb6560b373c485e1f5105a705b935e69 100644 --- a/procedures/query/applyPOV.sql +++ b/procedures/query/applyPOV.sql @@ -24,7 +24,7 @@ /* Documentation including (?) has to be checked by an expert. */ /* Question: What is datetime dot notation? */ -DROP PROCEDURE IF EXISTS db_2_0.applyPOV; +DROP PROCEDURE IF EXISTS db_5_0.applyPOV; DELIMITER // /** @@ -40,7 +40,7 @@ DELIMITER // * If True, sourceSet and targetSet have an _iversion column, otherwise that column will be ignored * (or only HEAD will be inserted into targetSet). */ -CREATE PROCEDURE db_2_0.applyPOV(in sourceSet VARCHAR(255), /* (?) Name of the table that the POV will be applied to. This can be a temporary table. */ +CREATE PROCEDURE db_5_0.applyPOV(in sourceSet VARCHAR(255), /* (?) Name of the table that the POV will be applied to. This can be a temporary table. */ in targetSet VARCHAR(255), /* (?) Name of the result table of this POV. */ in propertiesTable VARCHAR(255), in refIdsTable VARCHAR(255), diff --git a/procedures/query/applyRefPOV.sql b/procedures/query/applyRefPOV.sql index a367408c37da4f839c432e366e8564255cd9b628..5aeb96659caacd0e928fd5b22dc384fc9c400de7 100644 --- a/procedures/query/applyRefPOV.sql +++ b/procedures/query/applyRefPOV.sql @@ -20,10 +20,10 @@ * * ** end header */ -DROP PROCEDURE IF EXISTS db_2_0.applyRefPOV; +DROP PROCEDURE IF EXISTS db_5_0.applyRefPOV; DELIMITER // -CREATE PROCEDURE db_2_0.applyRefPOV(in sourceSet VARCHAR(255), in targetSet VARCHAR(255), +CREATE PROCEDURE db_5_0.applyRefPOV(in sourceSet VARCHAR(255), in targetSet VARCHAR(255), in properties VARCHAR(255), in refs VARCHAR(255), in versioned BOOLEAN) BEGIN diff --git a/procedures/query/applySAT.sql b/procedures/query/applySAT.sql index 0e2a8c4762b8cfd63f1f74e5aa932441ebfcb2b5..97499906ea78faca14633391df14f76b24b9d6b4 100644 --- a/procedures/query/applySAT.sql +++ b/procedures/query/applySAT.sql @@ -23,10 +23,10 @@ -DROP PROCEDURE IF EXISTS db_2_0.applySAT; +DROP PROCEDURE IF EXISTS db_5_0.applySAT; DELIMITER // -CREATE PROCEDURE db_2_0.applySAT(in sourceSet VARCHAR(255), in targetSet VARCHAR(255), in loc MEDIUMTEXT, in op CHAR(5)) +CREATE PROCEDURE db_5_0.applySAT(in sourceSet VARCHAR(255), in targetSet VARCHAR(255), in loc MEDIUMTEXT, in op CHAR(5)) BEGIN IF targetSet IS NULL OR sourceSet = targetSet THEN diff --git a/procedures/query/applyTransactionFilter.sql b/procedures/query/applyTransactionFilter.sql index 49a4edb931136b1e24afdf38acfdf90445159df1..7a428b0702352677826efce0cc60bb794415102d 100644 --- a/procedures/query/applyTransactionFilter.sql +++ b/procedures/query/applyTransactionFilter.sql @@ -20,10 +20,10 @@ * * ** end header */ -DROP PROCEDURE IF EXISTS db_2_0.applyTransactionFilter; +DROP PROCEDURE IF EXISTS db_5_0.applyTransactionFilter; DELIMITER // -CREATE PROCEDURE db_2_0.applyTransactionFilter(in sourceSet VARCHAR(255), targetSet VARCHAR(255), in transaction VARCHAR(255), in operator_u CHAR(2), in realm VARCHAR(255), in userName VARCHAR(255), in ilb BIGINT, in ilb_nanos INT UNSIGNED, in eub BIGINT, in eub_nanos INT UNSIGNED, in operator_t CHAR(2)) +CREATE PROCEDURE db_5_0.applyTransactionFilter(in sourceSet VARCHAR(255), targetSet VARCHAR(255), in transaction VARCHAR(255), in operator_u CHAR(2), in realm VARCHAR(255), in userName VARCHAR(255), in ilb BIGINT, in ilb_nanos INT UNSIGNED, in eub BIGINT, in eub_nanos INT UNSIGNED, in operator_t CHAR(2)) BEGIN DECLARE data TEXT default CONCAT('(SELECT entity_id FROM transaction_log AS t WHERE t.transaction=\'', transaction, diff --git a/procedures/query/calcComplementUnion.sql b/procedures/query/calcComplementUnion.sql index daaafa1934e58d53dbcc5cd17551c9353efa4571..f159e34f3cc0dd358fd429d4862e38c738fd3f72 100644 --- a/procedures/query/calcComplementUnion.sql +++ b/procedures/query/calcComplementUnion.sql @@ -22,11 +22,11 @@ */ -DROP PROCEDURE IF EXISTS db_2_0.calcComplementUnion; +DROP PROCEDURE IF EXISTS db_5_0.calcComplementUnion; -- Apparently this code is not used anymore DELIMITER // -CREATE PROCEDURE db_2_0.calcComplementUnion(in targetSet VARCHAR(255), in subResultSet VARCHAR(255), in universe VARCHAR(255), in versioned BOOLEAN) +CREATE PROCEDURE db_5_0.calcComplementUnion(in targetSet VARCHAR(255), in subResultSet VARCHAR(255), in universe VARCHAR(255), in versioned BOOLEAN) BEGIN IF versioned AND universe = "entities" THEN SET @stmtComplementUnionStr = CONCAT( diff --git a/procedures/query/calcDifference.sql b/procedures/query/calcDifference.sql index c9788df0c4ea30e041441407c6f474a60cf01cfa..e0d11e2511709c9970a6592a8c8c162940ea5b0c 100644 --- a/procedures/query/calcDifference.sql +++ b/procedures/query/calcDifference.sql @@ -24,13 +24,13 @@ -DROP PROCEDURE IF EXISTS db_2_0.calcDifference; +DROP PROCEDURE IF EXISTS db_5_0.calcDifference; DELIMITER // /** * Delete rows from `resultSetTable` which have a matching ID (an version) in `diff`. */ -CREATE PROCEDURE db_2_0.calcDifference(in resultSetTable VARCHAR(255), in diff VARCHAR(255), in versioned BOOLEAN) +CREATE PROCEDURE db_5_0.calcDifference(in resultSetTable VARCHAR(255), in diff VARCHAR(255), in versioned BOOLEAN) BEGIN IF versioned THEN SET @diffStmtStr = CONCAT('DELETE FROM `', resultSetTable, '` WHERE EXISTS ( SELECT 1 FROM `', diff,'` AS diff WHERE diff.id=`',resultSetTable,'`.`id` AND diff._iversion=`', resultSetTable, '`.`_iversion`)'); diff --git a/procedures/query/calcIntersection.sql b/procedures/query/calcIntersection.sql index 4cc90095bed2ea1bf9f2fa2f3190c8b62a974b38..93755859964e46028218188e2a31267ce2d8b25f 100644 --- a/procedures/query/calcIntersection.sql +++ b/procedures/query/calcIntersection.sql @@ -22,13 +22,13 @@ */ -DROP PROCEDURE IF EXISTS db_2_0.calcIntersection; +DROP PROCEDURE IF EXISTS db_5_0.calcIntersection; DELIMITER // /** * Drop rows in `resultSetTable` which do not have a matching ID (and version) in `intersectWith`. */ -CREATE PROCEDURE db_2_0.calcIntersection(in resultSetTable VARCHAR(255), in intersectWith VARCHAR(255), in versioned BOOLEAN) +CREATE PROCEDURE db_5_0.calcIntersection(in resultSetTable VARCHAR(255), in intersectWith VARCHAR(255), in versioned BOOLEAN) BEGIN IF versioned THEN SET @diffStmtStr = CONCAT('DELETE FROM `', diff --git a/procedures/query/calcUnion.sql b/procedures/query/calcUnion.sql index 006fb11aaa4695630db5d796d7048f7c9ca7ee5e..34a8eb24e5a317c0e4ccfddc0b5c37b81223818e 100644 --- a/procedures/query/calcUnion.sql +++ b/procedures/query/calcUnion.sql @@ -23,13 +23,13 @@ -DROP PROCEDURE IF EXISTS db_2_0.calcUnion; +DROP PROCEDURE IF EXISTS db_5_0.calcUnion; DELIMITER // /** * Add the rows from `sourceSet` to `targetSet`. */ -CREATE PROCEDURE db_2_0.calcUnion(in targetSet VARCHAR(255), in sourceSet VARCHAR(255)) +CREATE PROCEDURE db_5_0.calcUnion(in targetSet VARCHAR(255), in sourceSet VARCHAR(255)) BEGIN SET @diffStmtStr = CONCAT('INSERT IGNORE INTO `', targetSet, '` SELECT * FROM `',sourceSet,'`'); PREPARE diffStmt FROM @diffStmtStr; diff --git a/procedures/query/cleanUpQuery.sql b/procedures/query/cleanUpQuery.sql index 7cf78a5951f306f373896cc3d854deeee16c206c..c5a77742b9f775ed6cf37a43ca395e4b202347cc 100644 --- a/procedures/query/cleanUpQuery.sql +++ b/procedures/query/cleanUpQuery.sql @@ -24,13 +24,13 @@ -DROP PROCEDURE IF EXISTS db_2_0.cleanUpQuery; +DROP PROCEDURE IF EXISTS db_5_0.cleanUpQuery; DELIMITER // /** * Drop temporary tables and warnings, existing warnings are returned in the result set. */ -CREATE PROCEDURE db_2_0.cleanUpQuery() +CREATE PROCEDURE db_5_0.cleanUpQuery() BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS warnings (warning TEXT NOT NULL); SELECT * from warnings; diff --git a/procedures/query/copyTable.sql b/procedures/query/copyTable.sql index c7ca46101d0235b471e5f01718898413a94a080b..3fae95dc7e52e0d1032fe54fd868c294c8a68782 100644 --- a/procedures/query/copyTable.sql +++ b/procedures/query/copyTable.sql @@ -22,10 +22,10 @@ */ -DROP PROCEDURE IF EXISTS db_2_0.copyTable; +DROP PROCEDURE IF EXISTS db_5_0.copyTable; DELIMITER // -CREATE PROCEDURE db_2_0.copyTable(in fromTable VARCHAR(255), in toTable VARCHAR(255)) +CREATE PROCEDURE db_5_0.copyTable(in fromTable VARCHAR(255), in toTable VARCHAR(255)) BEGIN SET @copyTableStmtStr = CONCAT('INSERT IGNORE INTO `', toTable, '` (id) SELECT id FROM `', fromTable, '`'); PREPARE copyTableStmt FROM @copyTableStmtStr; diff --git a/procedures/query/createTmpTable.sql b/procedures/query/createTmpTable.sql index 2c342964e68fc6522962da5c046f25350c5f26b5..e920f6e59be740104198665850081e33f79cf1db 100644 --- a/procedures/query/createTmpTable.sql +++ b/procedures/query/createTmpTable.sql @@ -21,10 +21,10 @@ * ** end header */ -DROP PROCEDURE IF EXISTS db_2_0.registerTempTableName; +DROP PROCEDURE IF EXISTS db_5_0.registerTempTableName; DELIMITER // -CREATE PROCEDURE db_2_0.registerTempTableName(out newTableName VARCHAR(255)) +CREATE PROCEDURE db_5_0.registerTempTableName(out newTableName VARCHAR(255)) BEGIN SET newTableName = md5(CONCAT(RAND(),CURRENT_TIMESTAMP())); SET @tempTableList = IF(@tempTableList IS NULL, @@ -35,7 +35,7 @@ END; // DELIMITER ; -DROP PROCEDURE IF EXISTS db_2_0.createTmpTable; +DROP PROCEDURE IF EXISTS db_5_0.createTmpTable; DELIMITER // /** @@ -44,7 +44,7 @@ DELIMITER // * If versioned: Creates a temporary table for query results with an `id` * column and an `_iversion` column. */ -CREATE PROCEDURE db_2_0.createTmpTable(out newTableName VARCHAR(255), in versioned BOOLEAN) +CREATE PROCEDURE db_5_0.createTmpTable(out newTableName VARCHAR(255), in versioned BOOLEAN) BEGIN call registerTempTableName(newTableName); @@ -71,10 +71,10 @@ DELIMITER ; * id2 - for entity ids (usually those entities which have the other id as property or value) * domain - for domain ids */ -DROP PROCEDURE IF EXISTS db_2_0.createTmpTable2; +DROP PROCEDURE IF EXISTS db_5_0.createTmpTable2; DELIMITER // -CREATE PROCEDURE db_2_0.createTmpTable2(out newTableName VARCHAR(255)) +CREATE PROCEDURE db_5_0.createTmpTable2(out newTableName VARCHAR(255)) BEGIN call registerTempTableName(newTableName); SET @createTableStmtStr = CONCAT('CREATE TEMPORARY TABLE `', newTableName, diff --git a/procedures/query/finishNegationFilter.sql b/procedures/query/finishNegationFilter.sql index 342131066fc55fe14922286f04b9353f398616d4..d2b1626ba0496a0b72a1e57c4af4dba1946e562a 100644 --- a/procedures/query/finishNegationFilter.sql +++ b/procedures/query/finishNegationFilter.sql @@ -21,10 +21,10 @@ * ** end header */ -DROP PROCEDURE IF EXISTS db_2_0.finishNegationFilter; +DROP PROCEDURE IF EXISTS db_5_0.finishNegationFilter; DELIMITER // -CREATE PROCEDURE db_2_0.finishNegationFilter(in resultSetTable VARCHAR(255), in diff VARCHAR(255)) +CREATE PROCEDURE db_5_0.finishNegationFilter(in resultSetTable VARCHAR(255), in diff VARCHAR(255)) BEGIN call calcDifference(resultSetTable, diff); END; diff --git a/procedures/query/finishSubProperty.sql b/procedures/query/finishSubProperty.sql index 73a9ee62c9204ae6a2a250fec25c6100a0ed44a4..85937f7a9de9db5f9b08c2af360310b1533f3cc7 100644 --- a/procedures/query/finishSubProperty.sql +++ b/procedures/query/finishSubProperty.sql @@ -21,10 +21,10 @@ * ** end header */ -DROP PROCEDURE IF EXISTS db_2_0.finishSubProperty; +DROP PROCEDURE IF EXISTS db_5_0.finishSubProperty; DELIMITER // -CREATE PROCEDURE db_2_0.finishSubProperty(in sourceSet VARCHAR(255),in targetSet VARCHAR(255), +CREATE PROCEDURE db_5_0.finishSubProperty(in sourceSet VARCHAR(255),in targetSet VARCHAR(255), in list VARCHAR(255), in versioned BOOLEAN) BEGIN DECLARE data VARCHAR(20000) DEFAULT CONCAT('`',list,'`'); diff --git a/procedures/query/getAggValueWhereClause.sql b/procedures/query/getAggValueWhereClause.sql index 1f9db97352df79aa34ede06041285a80ff9c4861..c0bcab227ffb809722932774f7c733ba46e19a84 100644 --- a/procedures/query/getAggValueWhereClause.sql +++ b/procedures/query/getAggValueWhereClause.sql @@ -21,10 +21,10 @@ * ** end header */ -DROP FUNCTION IF EXISTS db_2_0.getAggValueWhereClause; +DROP FUNCTION IF EXISTS db_5_0.getAggValueWhereClause; DELIMITER // -CREATE FUNCTION db_2_0.getAggValueWhereClause(entities VARCHAR(255), properties VARCHAR(255)) RETURNS VARCHAR(20000) DETERMINISTIC +CREATE FUNCTION db_5_0.getAggValueWhereClause(entities VARCHAR(255), properties VARCHAR(255)) RETURNS VARCHAR(20000) DETERMINISTIC BEGIN RETURN CONCAT(" EXISTS (SELECT 1 FROM `", entities, "` AS ent WHERE ent.id = subdata.entity_id LIMIT 1)", IF(properties IS NOT NULL AND properties != '', CONCAT(" AND EXISTS (SELECT 1 FROM `", properties, "` as props WHERE props.id = subdata.property_id LIMIT 1)"),'')); END; diff --git a/procedures/query/getChildren.sql b/procedures/query/getChildren.sql index 0ab6784fd9e0af95046b90aa62e13d69072a0922..0b2ec51b817f17669375125a9460102b68e6e057 100644 --- a/procedures/query/getChildren.sql +++ b/procedures/query/getChildren.sql @@ -21,14 +21,14 @@ * ** end header */ -Drop Procedure if exists db_2_0.getChildren; +Drop Procedure if exists db_5_0.getChildren; Delimiter // /** * Find and return all children of the IDs given in `tableName`. * * If the `versioned` parameter is `TRUE`, also all archived (non-HEAD) children are added. */ -Create Procedure db_2_0.getChildren(in tableName varchar(255), in versioned BOOLEAN) +Create Procedure db_5_0.getChildren(in tableName varchar(255), in versioned BOOLEAN) BEGIN DECLARE found_children INT UNSIGNED DEFAULT 0; diff --git a/procedures/query/getDateTimeWhereClause.sql b/procedures/query/getDateTimeWhereClause.sql index ea8155149e49f70f5661ffa10669ea25be40a937..018fceb58e8befc1c5bab8112a29ef77b279f098 100644 --- a/procedures/query/getDateTimeWhereClause.sql +++ b/procedures/query/getDateTimeWhereClause.sql @@ -21,10 +21,10 @@ * ** end header */ -DROP FUNCTION IF EXISTS db_2_0.getDateTimeWhereClause; +DROP FUNCTION IF EXISTS db_5_0.getDateTimeWhereClause; DELIMITER // -CREATE FUNCTION db_2_0.getDateTimeWhereClause(vDateTime VARCHAR(255), operator CHAR(4)) RETURNS VARCHAR(20000) DETERMINISTIC +CREATE FUNCTION db_5_0.getDateTimeWhereClause(vDateTime VARCHAR(255), operator CHAR(4)) RETURNS VARCHAR(20000) DETERMINISTIC BEGIN DECLARE sep_loc INTEGER DEFAULT LOCATE('--',vDateTime); DECLARE vDateTimeLow VARCHAR(255) DEFAULT IF(sep_loc != 0, SUBSTRING_INDEX(vDateTime, '--',1), vDateTime); @@ -45,10 +45,10 @@ DELIMITER ; -DROP FUNCTION IF EXISTS db_2_0.constructDateTimeWhereClauseForColumn; +DROP FUNCTION IF EXISTS db_5_0.constructDateTimeWhereClauseForColumn; DELIMITER // -CREATE FUNCTION db_2_0.constructDateTimeWhereClauseForColumn(seconds_col VARCHAR(255), nanos_col VARCHAR(255), vDateTimeSecLow VARCHAR(255), vDateTimeNSLow VARCHAR(255), vDateTimeSecUpp VARCHAR(255), vDateTimeNSUpp VARCHAR(255), operator CHAR(4)) RETURNS VARCHAR(20000) DETERMINISTIC +CREATE FUNCTION db_5_0.constructDateTimeWhereClauseForColumn(seconds_col VARCHAR(255), nanos_col VARCHAR(255), vDateTimeSecLow VARCHAR(255), vDateTimeNSLow VARCHAR(255), vDateTimeSecUpp VARCHAR(255), vDateTimeNSUpp VARCHAR(255), operator CHAR(4)) RETURNS VARCHAR(20000) DETERMINISTIC BEGIN DECLARE isInterval BOOLEAN DEFAULT vDateTimeSecUpp IS NOT NULL or vDateTimeNSUpp IS NOT NULL; @@ -107,10 +107,10 @@ DELIMITER ; -DROP FUNCTION IF EXISTS db_2_0.getDateWhereClause; +DROP FUNCTION IF EXISTS db_5_0.getDateWhereClause; DELIMITER // -CREATE FUNCTION db_2_0.getDateWhereClause(vDateTimeDotNotation VARCHAR(255), operator CHAR(4)) RETURNS VARCHAR(20000) DETERMINISTIC +CREATE FUNCTION db_5_0.getDateWhereClause(vDateTimeDotNotation VARCHAR(255), operator CHAR(4)) RETURNS VARCHAR(20000) DETERMINISTIC BEGIN DECLARE isInterval INTEGER DEFAULT LOCATE('--',vDateTimeDotNotation); -- ILB is short for Inclusive Lower Boundary diff --git a/procedures/query/getDoubleWhereClause.sql b/procedures/query/getDoubleWhereClause.sql index a9e730768a3d09f62f7f8ebaed3a136f920dff1e..92d05541e8667cce6cf70a79149be31af3148550 100644 --- a/procedures/query/getDoubleWhereClause.sql +++ b/procedures/query/getDoubleWhereClause.sql @@ -21,10 +21,10 @@ * ** end header */ -DROP FUNCTION IF EXISTS db_2_0.getDoubleWhereClause; +DROP FUNCTION IF EXISTS db_5_0.getDoubleWhereClause; DELIMITER // -CREATE FUNCTION db_2_0.getDoubleWhereClause(value DOUBLE, unit_sig BIGINT, valueStdUnit DECIMAL(65,30), stdUnit_sig BIGINT, o CHAR(4)) RETURNS VARCHAR(20000) DETERMINISTIC +CREATE FUNCTION db_5_0.getDoubleWhereClause(value DOUBLE, unit_sig BIGINT, valueStdUnit DECIMAL(65,30), stdUnit_sig BIGINT, o CHAR(4)) RETURNS VARCHAR(20000) DETERMINISTIC BEGIN RETURN IF(unit_sig IS NULL AND value IS NOT NULL, CONCAT('subdata.value ', o, ' \'', value, '\''), #-- without unit but value must not be NULL diff --git a/procedures/query/initBackReference.sql b/procedures/query/initBackReference.sql index 63fa9292a71688a7a53f8851bb5a375e1aa76fe0..c425dbcc6ec6c20e9b5cb2e73c0b6e1dedad1cf0 100644 --- a/procedures/query/initBackReference.sql +++ b/procedures/query/initBackReference.sql @@ -21,9 +21,9 @@ * ** end header */ -DROP PROCEDURE IF EXISTS db_2_0.initBackReference; +DROP PROCEDURE IF EXISTS db_5_0.initBackReference; DELIMITER // -CREATE PROCEDURE db_2_0.initBackReference(in pid INT UNSIGNED, in pname VARCHAR(255), in entity_id INT UNSIGNED, in ename VARCHAR(255)) +CREATE PROCEDURE db_5_0.initBackReference(in pid INT UNSIGNED, in pname VARCHAR(255), in entity_id INT UNSIGNED, in ename VARCHAR(255)) BEGIN DECLARE propertiesTable VARCHAR(255) DEFAULT NULL; DECLARE entitiesTable VARCHAR(255) DEFAULT NULL; diff --git a/procedures/query/initDisjunctionFilter.sql b/procedures/query/initDisjunctionFilter.sql index be7a0ebad9d3f9b278a4ea7de5418ade1b627f31..bf0a435bd3afdcc47e2a787831482ccdc0b38041 100644 --- a/procedures/query/initDisjunctionFilter.sql +++ b/procedures/query/initDisjunctionFilter.sql @@ -23,10 +23,10 @@ -DROP PROCEDURE IF EXISTS db_2_0.initEmptyTargetSet; +DROP PROCEDURE IF EXISTS db_5_0.initEmptyTargetSet; DELIMITER // -CREATE PROCEDURE db_2_0.initEmptyTargetSet(in targetSet VARCHAR(255), in versioned BOOLEAN) +CREATE PROCEDURE db_5_0.initEmptyTargetSet(in targetSet VARCHAR(255), in versioned BOOLEAN) BEGIN DECLARE newTableName VARCHAR(255) DEFAULT targetSet; IF targetSet IS NOT NULL THEN @@ -46,10 +46,10 @@ END; // DELIMITER ; -DROP PROCEDURE IF EXISTS db_2_0.initDisjunctionFilter; +DROP PROCEDURE IF EXISTS db_5_0.initDisjunctionFilter; DELIMITER // -CREATE PROCEDURE db_2_0.initDisjunctionFilter(in versioned BOOLEAN) +CREATE PROCEDURE db_5_0.initDisjunctionFilter(in versioned BOOLEAN) BEGIN call initEmptyTargetSet(NULL, versioned); END; diff --git a/procedures/query/initEntity.sql b/procedures/query/initEntity.sql index b96b30dfbc1110575bac7bf4eacf16e95fa65b83..65d03b818f68991acabd82890c1730572ecc822c 100644 --- a/procedures/query/initEntity.sql +++ b/procedures/query/initEntity.sql @@ -21,7 +21,7 @@ * ** end header */ -DROP PROCEDURE IF EXISTS db_2_0.initEntity; +DROP PROCEDURE IF EXISTS db_5_0.initEntity; DELIMITER // /** @@ -30,7 +30,7 @@ DELIMITER // * If `versioned` is `TRUE`, also add archived entities (for example if the name was changed in the * past). */ -CREATE PROCEDURE db_2_0.initEntity(in eid INT UNSIGNED, in ename VARCHAR(255), +CREATE PROCEDURE db_5_0.initEntity(in eid INT UNSIGNED, in ename VARCHAR(255), in enameLike VARCHAR(255), in enameRegexp VARCHAR(255), in resultset VARCHAR(255), in versioned BOOLEAN) initEntityLabel: BEGIN @@ -134,4 +134,4 @@ DELIMITER ; -DROP PROCEDURE IF EXISTS db_2_0.applyRole; +DROP PROCEDURE IF EXISTS db_5_0.applyRole; diff --git a/procedures/query/initPOV.sql b/procedures/query/initPOV.sql index 0d7dea3dd4b140e519a2a0c06ca9842980044ba2..52d6a26279c1d25cd605c3a1883db31bf6326150 100644 --- a/procedures/query/initPOV.sql +++ b/procedures/query/initPOV.sql @@ -23,9 +23,9 @@ DELIMITER // -DROP PROCEDURE IF EXISTS db_2_0.initPOVPropertiesTable// +DROP PROCEDURE IF EXISTS db_5_0.initPOVPropertiesTable// -CREATE PROCEDURE db_2_0.initPOVPropertiesTable(in pid INT UNSIGNED, in pname VARCHAR(255), in sourceSet VARCHAR(255)) +CREATE PROCEDURE db_5_0.initPOVPropertiesTable(in pid INT UNSIGNED, in pname VARCHAR(255), in sourceSet VARCHAR(255)) BEGIN DECLARE propertiesTable VARCHAR(255) DEFAULT NULL; /*table for property ids*/ DECLARE replTbl VARCHAR(255) DEFAULT NULL; @@ -89,9 +89,9 @@ END // -DROP PROCEDURE IF EXISTS db_2_0.initPOVRefidsTable // +DROP PROCEDURE IF EXISTS db_5_0.initPOVRefidsTable // -CREATE PROCEDURE db_2_0.initPOVRefidsTable(in vInt INT UNSIGNED, in vText VARCHAR(255)) +CREATE PROCEDURE db_5_0.initPOVRefidsTable(in vInt INT UNSIGNED, in vText VARCHAR(255)) BEGIN DECLARE refIdsTable VARCHAR(255) DEFAULT NULL; /*table for referenced entity ids*/ diff --git a/procedures/query/initQuery.sql b/procedures/query/initQuery.sql index 37653a36624a7995ca74eee7030b5f795ad8908e..8c010742c336bc4620ed8893c77f82ca8384733a 100644 --- a/procedures/query/initQuery.sql +++ b/procedures/query/initQuery.sql @@ -29,10 +29,10 @@ -DROP PROCEDURE IF EXISTS db_2_0.initQuery; +DROP PROCEDURE IF EXISTS db_5_0.initQuery; DELIMITER // -CREATE PROCEDURE db_2_0.initQuery(in versioned BOOLEAN) +CREATE PROCEDURE db_5_0.initQuery(in versioned BOOLEAN) BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS warnings (warning TEXT NOT NULL); diff --git a/procedures/query/initSubEntity.sql b/procedures/query/initSubEntity.sql index 3cb31aa2c9d7e8fcc4bf8de26bc726862044e1fc..a2f5ea67e495e4cc8cc52f0248389bc44792451f 100644 --- a/procedures/query/initSubEntity.sql +++ b/procedures/query/initSubEntity.sql @@ -22,11 +22,11 @@ */ -DROP PROCEDURE IF EXISTS db_2_0.initSubEntity; +DROP PROCEDURE IF EXISTS db_5_0.initSubEntity; DELIMITER // -CREATE PROCEDURE db_2_0.initSubEntity(in e_id INT UNSIGNED, in ename VARCHAR(255), in tableName VARCHAR(255)) +CREATE PROCEDURE db_5_0.initSubEntity(in e_id INT UNSIGNED, in ename VARCHAR(255), in tableName VARCHAR(255)) BEGIN DECLARE ecount INT DEFAULT 0; DECLARE op VARCHAR(255) DEFAULT '='; diff --git a/procedures/query/initSubProperty.sql b/procedures/query/initSubProperty.sql index b849d890bc6c5f611255c7014e83f62866006a0b..8e87d473eec31c14cf3d640d5a46fee1c02526dc 100644 --- a/procedures/query/initSubProperty.sql +++ b/procedures/query/initSubProperty.sql @@ -21,10 +21,10 @@ * ** end header */ -DROP PROCEDURE IF EXISTS db_2_0.initSubProperty; +DROP PROCEDURE IF EXISTS db_5_0.initSubProperty; DELIMITER // -CREATE PROCEDURE db_2_0.initSubProperty(in sourceSet VARCHAR(255), in propertiesTable VARCHAR(255), in refIdsTable VARCHAR(255)) +CREATE PROCEDURE db_5_0.initSubProperty(in sourceSet VARCHAR(255), in propertiesTable VARCHAR(255), in refIdsTable VARCHAR(255)) BEGIN DECLARE newTableName VARCHAR(255) DEFAULT NULL; call registerTempTableName(newTableName); diff --git a/procedures/query/intersectTable.sql b/procedures/query/intersectTable.sql index 333ee96aa53415108187a02725e4cbbf51225f07..7d2837268136e1f72eac721b114254a94ddb6689 100644 --- a/procedures/query/intersectTable.sql +++ b/procedures/query/intersectTable.sql @@ -22,10 +22,10 @@ */ -DROP PROCEDURE IF EXISTS db_2_0.intersectTable; +DROP PROCEDURE IF EXISTS db_5_0.intersectTable; DELIMITER // -CREATE PROCEDURE db_2_0.intersectTable(in resultSetTable VARCHAR(255), in diff VARCHAR(255)) +CREATE PROCEDURE db_5_0.intersectTable(in resultSetTable VARCHAR(255), in diff VARCHAR(255)) BEGIN SET @diffStmtStr = CONCAT('DELETE FROM `', resultSetTable, '` WHERE id NOT IN ( SELECT id FROM `', diff,'`)'); PREPARE diffStmt FROM @diffStmtStr; diff --git a/procedures/query/makeStmt.sql b/procedures/query/makeStmt.sql index f6d6ab743a7ee5ef10b383f5e88716d1c2dc0f40..8e54ef377d32e5f49c448db6a3bfa9e770b5adb2 100644 --- a/procedures/query/makeStmt.sql +++ b/procedures/query/makeStmt.sql @@ -20,7 +20,7 @@ * * ** end header */ -DROP FUNCTION IF EXISTS db_2_0.makeStmt; +DROP FUNCTION IF EXISTS db_5_0.makeStmt; DELIMITER // /** @@ -48,7 +48,7 @@ DELIMITER // * If `True` and if `sourceSet` is the `entities` table, the ID and version are copied directly from * `data` to `targetSet`, which must not be `NULL`. Property filtering is done as usual. */ -CREATE FUNCTION db_2_0.makeStmt(sourceSet VARCHAR(255), targetSet VARCHAR(255), data VARCHAR(20000), +CREATE FUNCTION db_5_0.makeStmt(sourceSet VARCHAR(255), targetSet VARCHAR(255), data VARCHAR(20000), properties VARCHAR(20000), versioned BOOLEAN) RETURNS VARCHAR(20000) NO SQL BEGIN diff --git a/procedures/query/raiseWarning.sql b/procedures/query/raiseWarning.sql index 1e50fd34556a9bba1da0a29f99945d42a7c8735d..63f12396af34122c41dd67eb790b006dce3d23f6 100644 --- a/procedures/query/raiseWarning.sql +++ b/procedures/query/raiseWarning.sql @@ -20,10 +20,10 @@ * * ** end header */ -DROP PROCEDURE IF EXISTS db_2_0.raiseWarning; +DROP PROCEDURE IF EXISTS db_5_0.raiseWarning; DELIMITER // -CREATE PROCEDURE db_2_0.raiseWarning(in str VARCHAR(20000)) +CREATE PROCEDURE db_5_0.raiseWarning(in str VARCHAR(20000)) BEGIN INSERT INTO warnings VALUES (str); END; diff --git a/procedures/query/unit_functions.sql b/procedures/query/unit_functions.sql index f62571b09f6b97ffa2b6b15c0a8246c041841b50..2d207e63f18a6291f520f334e84aa844da5ca20a 100644 --- a/procedures/query/unit_functions.sql +++ b/procedures/query/unit_functions.sql @@ -22,9 +22,9 @@ */ DELIMITER // -DROP FUNCTION IF EXISTS db_2_0.convert_unit// +DROP FUNCTION IF EXISTS db_5_0.convert_unit// -CREATE FUNCTION db_2_0.convert_unit(unit_sig BIGINT, value DECIMAL(65,30)) RETURNS DECIMAL(65,30) DETERMINISTIC +CREATE FUNCTION db_5_0.convert_unit(unit_sig BIGINT, value DECIMAL(65,30)) RETURNS DECIMAL(65,30) DETERMINISTIC #-- returns NULL IFF unit_sig IS NULL; BEGIN DECLARE ret DECIMAL(65,30) DEFAULT value; @@ -34,9 +34,9 @@ BEGIN END; // -DROP FUNCTION IF EXISTS db_2_0.standard_unit// +DROP FUNCTION IF EXISTS db_5_0.standard_unit// -CREATE FUNCTION db_2_0.standard_unit(unit_sig BIGINT) RETURNS BIGINT DETERMINISTIC +CREATE FUNCTION db_5_0.standard_unit(unit_sig BIGINT) RETURNS BIGINT DETERMINISTIC #-- returns NULL IFF the unit cannot be converted to any other unit (especially because it is a base unit or yet in its standard form). BEGIN DECLARE ret BIGINT DEFAULT unit_sig; diff --git a/procedures/registerSubdomain.sql b/procedures/registerSubdomain.sql index 70e8686bb1baf7b816da877c91ba100ae288366a..4cb18e46be422e6cc65db5b33913cf06b77c18d2 100644 --- a/procedures/registerSubdomain.sql +++ b/procedures/registerSubdomain.sql @@ -28,10 +28,10 @@ -DROP PROCEDURE IF EXISTS db_2_0.registerSubdomain; +DROP PROCEDURE IF EXISTS db_5_0.registerSubdomain; delimiter // -CREATE PROCEDURE db_2_0.registerSubdomain(in amount INT UNSIGNED) +CREATE PROCEDURE db_5_0.registerSubdomain(in amount INT UNSIGNED) BEGIN DECLARE ED INTEGER DEFAULT NULL; diff --git a/procedures/retrieveDatatype.sql b/procedures/retrieveDatatype.sql index 6ee4380ac20f094320014c2888d6cdc8ffc9576f..c0ed52c30ffd506d9f0a214d2b59fd4691c4c510 100644 --- a/procedures/retrieveDatatype.sql +++ b/procedures/retrieveDatatype.sql @@ -27,9 +27,9 @@ -DROP PROCEDURE IF EXISTS db_2_0.retrieveDatatype; +DROP PROCEDURE IF EXISTS db_5_0.retrieveDatatype; delimiter // -CREATE PROCEDURE db_2_0.retrieveDatatype(in DatatypeName VARCHAR(255)) +CREATE PROCEDURE db_5_0.retrieveDatatype(in DatatypeName VARCHAR(255)) BEGIN Select e.id INTO @DatatypeID from entities e where e.name=DatatypeName AND e.role='DATATYPE' LIMIT 1; diff --git a/procedures/retrieveEntity.sql b/procedures/retrieveEntity.sql index 4118cb3b5147c24580f73cc24bc7e1b84d4cfc16..42b283d1b9c9da08761900a45f439958ec9cc075 100644 --- a/procedures/retrieveEntity.sql +++ b/procedures/retrieveEntity.sql @@ -27,7 +27,7 @@ delimiter // -drop procedure if exists db_2_0.retrieveEntity // +drop procedure if exists db_5_0.retrieveEntity // /** * Select the content of an entity. @@ -48,7 +48,7 @@ drop procedure if exists db_2_0.retrieveEntity // * Tuple of (Datatype, Collection, EntityID, EntityName, EntityDesc, * EntityRole, FileSize, FilePath, FileHash, ACL, Version) */ -create procedure db_2_0.retrieveEntity( +create procedure db_5_0.retrieveEntity( in EntityID INT UNSIGNED, in Version VARBINARY(255)) retrieveEntityBody: BEGIN diff --git a/procedures/retrieveEntityOverrides.sql b/procedures/retrieveEntityOverrides.sql index 2f6b36da256fc4ece42daca4957d85ea463cfd2e..696447527b8c05f3b9aa57193a26c3d8fa48c874 100644 --- a/procedures/retrieveEntityOverrides.sql +++ b/procedures/retrieveEntityOverrides.sql @@ -23,10 +23,10 @@ * ** end header */ -DROP PROCEDURE IF EXISTS db_2_0.retrieveOverrides; +DROP PROCEDURE IF EXISTS db_5_0.retrieveOverrides; delimiter // -CREATE PROCEDURE db_2_0.retrieveOverrides( +CREATE PROCEDURE db_5_0.retrieveOverrides( in DomainID INT UNSIGNED, in EntityID INT UNSIGNED, in Version VARBINARY(255)) diff --git a/procedures/retrieveEntityParents.sql b/procedures/retrieveEntityParents.sql index 8303f872d5902a91e767df4a3b1e1461860e3fee..12b5c287881d2c10ee591986a654d974ac1feecc 100644 --- a/procedures/retrieveEntityParents.sql +++ b/procedures/retrieveEntityParents.sql @@ -24,7 +24,7 @@ */ -DROP PROCEDURE IF EXISTS db_2_0.retrieveEntityParents; +DROP PROCEDURE IF EXISTS db_5_0.retrieveEntityParents; DELIMITER // /* Retrieve the parents of an Entity. @@ -52,7 +52,7 @@ ParentRole : ACL : Access control list something */ -CREATE PROCEDURE db_2_0.retrieveEntityParents( +CREATE PROCEDURE db_5_0.retrieveEntityParents( in EntityID INT UNSIGNED, in Version VARBINARY(255)) retrieveEntityParentsBody: BEGIN diff --git a/procedures/retrieveEntityProperties.sql b/procedures/retrieveEntityProperties.sql index 3d8eeffad39544cba57c68a820d2479aa58a20b1..b8bc565d73cd75cbbb3726fc93e5826725aa1c0f 100644 --- a/procedures/retrieveEntityProperties.sql +++ b/procedures/retrieveEntityProperties.sql @@ -26,9 +26,9 @@ delimiter // -drop procedure if exists db_2_0.retrieveEntityProperties // +drop procedure if exists db_5_0.retrieveEntityProperties // -create procedure db_2_0.retrieveEntityProperties( +create procedure db_5_0.retrieveEntityProperties( in DomainID INT UNSIGNED, in EntityID INT UNSIGNED, in Version VARBINARY(255)) diff --git a/procedures/retrieveGroup.sql b/procedures/retrieveGroup.sql index 85861abbc83ebabfea0789855e80686e0d4df366..bd59c474cab2c9dd85979aad3eb0a710ae811e9f 100644 --- a/procedures/retrieveGroup.sql +++ b/procedures/retrieveGroup.sql @@ -21,9 +21,9 @@ * ** end header */ -Drop Procedure if exists db_2_0.retrieveGroup; +Drop Procedure if exists db_5_0.retrieveGroup; Delimiter // -Create Procedure db_2_0.retrieveGroup(in USERID INT UNSIGNED, in GROUPID INT UNSIGNED) +Create Procedure db_5_0.retrieveGroup(in USERID INT UNSIGNED, in GROUPID INT UNSIGNED) BEGIN diff --git a/procedures/retrieveSubentity.sql b/procedures/retrieveSubentity.sql index 64cf173d991b8ed907e52b8d92f580df3103d164..406d668ab776451216d54ff3e2de9f4eb294872a 100644 --- a/procedures/retrieveSubentity.sql +++ b/procedures/retrieveSubentity.sql @@ -21,9 +21,9 @@ * ** end header */ DELIMITER // -DROP PROCEDURE IF EXISTS db_2_0.retrieveSubEntity // +DROP PROCEDURE IF EXISTS db_5_0.retrieveSubEntity // /** -CREATE PROCEDURE db_2_0.retrieveSubEntity(in EntityID INT UNSIGNED, in DomainID INT UNSIGNED) +CREATE PROCEDURE db_5_0.retrieveSubEntity(in EntityID INT UNSIGNED, in DomainID INT UNSIGNED) BEGIN DECLARE FilePath VARCHAR(255) DEFAULT NULL; DECLARE FileSize VARCHAR(255) DEFAULT NULL; diff --git a/procedures/setPassword.sql b/procedures/setPassword.sql index 71cfc8ef18cae150d5c06bde922baf81ccb86e6c..33345d9625fadda9d1e182e7ea545e3b8fbf9e8a 100644 --- a/procedures/setPassword.sql +++ b/procedures/setPassword.sql @@ -22,10 +22,10 @@ */ -DROP PROCEDURE IF EXISTS db_2_0.setPassword; +DROP PROCEDURE IF EXISTS db_5_0.setPassword; delimiter // -CREATE PROCEDURE db_2_0.setPassword(in EntityID INT UNSIGNED, in NewPassword VARCHAR(255)) +CREATE PROCEDURE db_5_0.setPassword(in EntityID INT UNSIGNED, in NewPassword VARCHAR(255)) BEGIN diff --git a/procedures/showEntityAutoIncr.sql b/procedures/showEntityAutoIncr.sql index eb50e68031da7f9b9585797c8696859a7f76bd84..1d4609bdf903652a3b6dca59eb69e2c022376431 100644 --- a/procedures/showEntityAutoIncr.sql +++ b/procedures/showEntityAutoIncr.sql @@ -22,14 +22,14 @@ */ -DROP PROCEDURE IF EXISTS db_2_0.showEntityAutoIncr; +DROP PROCEDURE IF EXISTS db_5_0.showEntityAutoIncr; delimiter // -CREATE PROCEDURE db_2_0.showEntityAutoIncr() +CREATE PROCEDURE db_5_0.showEntityAutoIncr() BEGIN SELECT `AUTO_INCREMENT` FROM INFORMATION_SCHEMA.TABLES -WHERE TABLE_SCHEMA = 'db_2_0' +WHERE TABLE_SCHEMA = 'db_5_0' AND TABLE_NAME = 'entities'; diff --git a/procedures/updateEntity.sql b/procedures/updateEntity.sql index 226208e967f7d3063ad8fb7e922133ac5c28b8ee..f98e4795b344bbf0c4b68ac90a0848daf5e14188 100644 --- a/procedures/updateEntity.sql +++ b/procedures/updateEntity.sql @@ -23,7 +23,7 @@ * ** end header */ -DROP PROCEDURE IF EXISTS db_2_0.updateEntity; +DROP PROCEDURE IF EXISTS db_5_0.updateEntity; delimiter // /* @@ -33,7 +33,7 @@ delimiter // * * Selects the new version identifier for the entity. */ -CREATE PROCEDURE db_2_0.updateEntity( +CREATE PROCEDURE db_5_0.updateEntity( in EntityID INT UNSIGNED, in EntityName VARCHAR(255), in EntityDescription TEXT, diff --git a/utils/make_db b/utils/make_db index a9bac2f2ce79f71dca243b318989c9926435597a..c9fffc4589621e64a1877d0d2db1d744186b222e 100755 --- a/utils/make_db +++ b/utils/make_db @@ -30,7 +30,7 @@ set -e -INSTALL_SQL_FILE="db_2_0.sql" +INSTALL_SQL_FILE="db_5_0.sql" if [ -z "$UTILSPATH" ]; then UTILSPATH="$(realpath $(dirname $0))" @@ -87,7 +87,7 @@ function _install_unit_test_database () { if _db_exists "$DATABASE_NAME"; then echo "using $DATABASE_NAME" else - sed "s/db_2_0/$DATABASE_NAME/g" "$INSTALL_SQL_FILE" | $MYSQL_CMD $(get_mysql_args_nodb) + sed "s/db_5_0/$DATABASE_NAME/g" "$INSTALL_SQL_FILE" | $MYSQL_CMD $(get_mysql_args_nodb) # create test user grant @@ -129,7 +129,7 @@ name in your .config file " exit 0 fi - sed "s/db_2_0/$DATABASE_NAME/g" "$INSTALL_SQL_FILE" | $MYSQL_CMD $(get_mysql_args_nodb) + sed "s/db_5_0/$DATABASE_NAME/g" "$INSTALL_SQL_FILE" | $MYSQL_CMD $(get_mysql_args_nodb) } # Inserts the dump (arg 1) into the database diff --git a/utils/update_sql_procedures.sh b/utils/update_sql_procedures.sh index 06c07f95a2b6e33fc4ddc7baaccd453a64fdff54..b9a9e7fe21d1f47b4d7d235ce1a7ac040a060cf3 100755 --- a/utils/update_sql_procedures.sh +++ b/utils/update_sql_procedures.sh @@ -39,7 +39,7 @@ source $UTILSPATH/helpers.sh echo -n "updating procedures ... " temp_proc_sql=$(mktemp --suffix=.sql) -sed -e "s/db_2_0/$DATABASE_NAME/g" procedures/*.sql procedures/query/*.sql \ +sed -e "s/db_5_0/$DATABASE_NAME/g" procedures/*.sql procedures/query/*.sql \ > "$temp_proc_sql" mysql_execute_file "$temp_proc_sql" # We keep this for debugging purposes...