diff --git a/CHANGELOG.md b/CHANGELOG.md index a43efa25fabe104d2d63f3ca4f094bd91c8b1bfa..bcd95e5b0cf9f61f01f23c5b30888bb0c8d6404a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [Unreleased] ## +## [Unreleased (5.x.x)] ## ### Added ### @@ -15,6 +15,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Removed ### +* `getRules` procedure and the `rules` table. The jobs rules are being + configured in the server repository now. + ### Fixed ### ### Security ### diff --git a/doc/table_structure.md b/doc/table_structure.md index 798404bc8c0ac19c7acfa64833082effedc9f0cd..dc0c1054c1991e9e09d666d92641fd58f9fd464f 100644 --- a/doc/table_structure.md +++ b/doc/table_structure.md @@ -150,7 +150,6 @@ Older (i.e. not current) data, from previous versions of an entity which were st - permissions - query_template_def :: User-defined query templates? - roles :: possible user roles -- rules :: SQL action/verification hooks? - stats :: benchmarking? - transaction_log :: benchmarking? - units_lin_con :: fraction and unit conversion? diff --git a/patches/patch20210621-5.0.0/drop_rules_table.sql b/patches/patch20210621-5.0.0/drop_rules_table.sql new file mode 100644 index 0000000000000000000000000000000000000000..48b7f04c9d3335900bf6434b8edafda5e263b295 --- /dev/null +++ b/patches/patch20210621-5.0.0/drop_rules_table.sql @@ -0,0 +1,2 @@ +-- Table is no longer needed, jobs rules are now handled by the server alone. +DROP TABLE IF EXISTS rules; diff --git a/patches/patch20210621-5.0.0/patch.sh b/patches/patch20210621-5.0.0/patch.sh new file mode 100755 index 0000000000000000000000000000000000000000..cdf0f8ed12be672210c854792b7484faa72278f5 --- /dev/null +++ b/patches/patch20210621-5.0.0/patch.sh @@ -0,0 +1,41 @@ +#!/bin/bash +# +# This file is a part of the CaosDB Project. +# +# Copyright (C) 2021 IndiScale GmbH <info@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/>. +# + +# Update mysql schema to version v5.0.0 +# Drop the 'rules' table. + +NEW_VERSION="v5.0.0" +OLD_VERSION="v4.0.0" + +if [ -z "$UTILSPATH" ]; then + UTILSPATH="../utils" +fi + +. $UTILSPATH/patch_header.sh $* + +check_version $OLD_VERSION + +mysql_execute_file $PATCH_DIR/drop_rules_table.sql + +update_version $NEW_VERSION + +success + diff --git a/procedures/getRules.sql b/procedures/getRules.sql deleted file mode 100644 index 3265e1750a48d216d646b3c0888c58cb05f7d2e0..0000000000000000000000000000000000000000 --- a/procedures/getRules.sql +++ /dev/null @@ -1,45 +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 - */ -/* -Domain, Entity, Transaction, Criterion, Modus -*/ - - - - -DROP PROCEDURE IF EXISTS db_2_0.getRules; -delimiter // -CREATE PROCEDURE db_2_0.getRules(in DomainID INT UNSIGNED, in EntityID INT UNSIGNED, in TransType VARCHAR(255)) -BEGIN - - - - -SELECT rules.transaction, rules.criterion, rules.modus from rules where if(DomainID is null, rules.domain_id=0,rules.domain_id=DomainID) AND if(EntityID is null, rules.entity_id=0,rules.entity_id=EntityID) AND if(TransType is null,true=true,rules.transaction=TransType); - - - - -END; -// -delimiter ; diff --git a/rules.sql b/rules.sql deleted file mode 100644 index 017fe16c46f9165bf17920570694792bc53dafd9..0000000000000000000000000000000000000000 --- a/rules.sql +++ /dev/null @@ -1,156 +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 - */ - -#-- ************ -#-- define rules -#-- ************ - - -DELETE FROM rules; - -#-- general rules -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,0,'INSERT','CheckPropValid','MUST'); -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,0,'INSERT','CheckParValid','MUST'); -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,0,'INSERT','CheckParOblPropPresent','SHOULD'); -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,0,'INSERT','CheckValueParsable','MUST'); - -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,0,'UPDATE','CheckPropValid','MUST'); -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,0,'UPDATE','CheckParValid','MUST'); -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,0,'UPDATE','CheckParOblPropPresent','SHOULD'); -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,0,'UPDATE','CheckValueParsable','MUST'); - -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,0,'DELETE','CheckReferenceDependencyExistent','MUST'); -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,0,'DELETE','CheckChildDependencyExistent','MUST'); - - -#-- role specific rules -#-- recordtype rules -#-- INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,1,'INSERT','CheckDescPresent','MUST'); -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,1,'INSERT','CheckNamePresent','MUST'); -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,1,'INSERT','CheckPropPresent','SHOULD'); -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,1,'INSERT','SetImpToRecByDefault','MUST'); - -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,1,'UPDATE','CheckNamePresent','MUST'); -#-- INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,1,'UPDATE','CheckDescPresent','MUST'); -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,1,'UPDATE','CheckPropPresent','SHOULD'); -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,1,'UPDATE','SetImpToRecByDefault','MUST'); - -#-- record rules -#-- INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,2,'INSERT','CheckDescPresent','SHOULD'); -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,2,'INSERT','CheckNamePresent','SHOULD'); -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,2,'INSERT','CheckPropPresent','SHOULD'); -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,2,'INSERT','CheckParPresent','MUST'); -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,2,'INSERT','SetImpToFix','MUST'); - -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,2,'UPDATE','CheckNamePresent','SHOULD'); -#-- INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,2,'UPDATE','CheckDescPresent','MUST'); -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,2,'UPDATE','CheckPropPresent','SHOULD'); -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,2,'UPDATE','CheckParPresent','MUST'); -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,2,'UPDATE','SetImpToFix','MUST'); - -#-- file rules -#-- INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,3,'INSERT','CheckDescPresent','SHOULD'); -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,3,'INSERT','CheckNamePresent','SHOULD'); -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,3,'INSERT','MatchFileProp','MUST'); -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,3,'INSERT','CheckTargetPathValid','MUST'); -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,3,'INSERT','SetImpToFix','MUST'); - -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,3,'UPDATE','CheckNamePresent','SHOULD'); -#-- INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,3,'UPDATE','CheckDescPresent','SHOULD'); -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,3,'UPDATE','MatchFileProp','MUST'); -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,3,'UPDATE','CheckTargetPathValid','MUST'); -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,3,'UPDATE','SetImpToFix','MUST'); - -#-- property rules -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,4,'INSERT','CheckDatatypePresent','MUST'); -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,4,'UPDATE','CheckDatatypePresent','MUST'); -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,4,'INSERT','CheckNamePresent','MUST'); -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,4,'UPDATE','CheckNamePresent','MUST'); -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,4,'INSERT','SetImpToFix','MUST'); -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,4,'UPDATE','SetImpToFix','MUST'); - -#-- query template rules -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,8,'UPDATE','CheckQueryTemplate','MUST'); -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,8,'INSERT','CheckQueryTemplate','MUST'); - -#-- data type specific rules -#-- reference rules -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,11,'INSERT','CheckRefidPresent','SHOULD'); -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,11,'INSERT','CheckRefidValid','MUST'); -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,11,'INSERT','CheckRefidIsaParRefid','SHOULD'); -#-- INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,11,'INSERT','CheckDescPresent','MUST'); - -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,11,'UPDATE','CheckRefidPresent','SHOULD'); -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,11,'UPDATE','CheckRefidValid','MUST'); -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,11,'UPDATE','CheckRefidIsaParRefid','SHOULD'); -#-- INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,11,'UPDATE','CheckDescPresent','MUST'); - -#-- integer rules -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,12,'INSERT','CheckUnitPresent','SHOULD'); -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,12,'INSERT','ParseUnit','SHOULD'); -#-- INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,12,'INSERT','CheckDescPresent','MUST'); - -#-- INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,12,'UPDATE','CheckDescPresent','MUST'); -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,12,'UPDATE','CheckUnitPresent','SHOULD'); -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,12,'UPDATE','ParseUnit','SHOULD'); - -#-- double rules -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,13,'INSERT','CheckUnitPresent','SHOULD'); -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,13,'INSERT','ParseUnit','SHOULD'); -#-- INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,13,'INSERT','CheckDescPresent','MUST'); - -#-- INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,13,'UPDATE','CheckDescPresent','MUST'); -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,13,'UPDATE','CheckUnitPresent','SHOULD'); -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,13,'UPDATE','ParseUnit','SHOULD'); - -#-- text rules -#-- INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,14,'INSERT','CheckDescPresent','MUST'); - -#-- INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,14,'UPDATE','CheckDescPresent','MUST'); - -#-- datetime rules -#-- INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,15,'INSERT','CheckDescPresent','MUST'); - -#-- INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,15,'UPDATE','CheckDescPresent','MUST'); - -#-- timespan rules -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,16,'INSERT','CheckUnitPresent','SHOULD'); -#-- INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,16,'INSERT','CheckDescPresent','MUST'); - -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,16,'UPDATE','CheckUnitPresent','SHOULD'); -#-- INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,16,'UPDATE','CheckDescPresent','MUST'); - -#-- filereference rules -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,17,'INSERT','CheckRefidValid','MUST'); -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,17,'INSERT','CheckRefidIsaParRefid','MUST'); -#-- INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,17,'INSERT','CheckDescPresent','MUST'); - -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,17,'UPDATE','CheckRefidValid','MUST'); -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,17,'UPDATE','CheckRefidIsaParRefid','MUST'); -#-- INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,17,'UPDATE','CheckDescPresent','MUST'); - -#-- SQLite files -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,50,'UPDATE','CheckRefidValid','MUST'); -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,50,'UPDATE','CheckRefidIsaParRefid','SHOULD'); -#-- INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,50,'UPDATE','CheckDescPresent','SHOULD'); -INSERT INTO rules (domain_id, entity_id, transaction, criterion, modus) VALUES (0,50,'UPDATE','SQLiteTransaction','MUST'); diff --git a/tests/test_autotap.sql b/tests/test_autotap.sql index 6345bf004944747489a7879b4180c75d3020f351..e19963bd9839075671468a4b035eb9f996dc8272 100644 --- a/tests/test_autotap.sql +++ b/tests/test_autotap.sql @@ -1811,79 +1811,6 @@ SELECT tap.has_constraint('_caosdb_schema_unit_tests','roles','PRIMARY',''); SELECT tap.constraint_type_is('_caosdb_schema_unit_tests','roles','PRIMARY','PRIMARY KEY',''); SELECT tap.col_is_pk('_caosdb_schema_unit_tests','roles','`name`',''); --- *************************************************************** --- TABLE _caosdb_schema_unit_tests.rules --- *************************************************************** - -SELECT tap.has_table('_caosdb_schema_unit_tests','rules',''); -SELECT tap.table_collation_is('_caosdb_schema_unit_tests','rules','utf8_unicode_ci',''); -SELECT tap.table_engine_is('_caosdb_schema_unit_tests','rules','InnoDB',''); - --- COLUMNS -SELECT tap.columns_are('_caosdb_schema_unit_tests','rules','`domain_id`,`entity_id`,`transaction`,`criterion`,`modus`',''); - --- COLUMN rules.domain_id - -SELECT tap.has_column('_caosdb_schema_unit_tests','rules','domain_id',''); -SELECT tap.col_column_type_is('_caosdb_schema_unit_tests','rules','domain_id','int(10) unsigned',''); -SELECT tap.col_extra_is('_caosdb_schema_unit_tests','rules','domain_id','',''); -SELECT tap.col_default_is('_caosdb_schema_unit_tests','rules','domain_id',NULL,''); -SELECT tap.col_charset_is('_caosdb_schema_unit_tests','rules','domain_id',NULL,''); -SELECT tap.col_collation_is('_caosdb_schema_unit_tests','rules','domain_id',NULL,''); - --- COLUMN rules.entity_id - -SELECT tap.has_column('_caosdb_schema_unit_tests','rules','entity_id',''); -SELECT tap.col_column_type_is('_caosdb_schema_unit_tests','rules','entity_id','int(10) unsigned',''); -SELECT tap.col_extra_is('_caosdb_schema_unit_tests','rules','entity_id','',''); -SELECT tap.col_default_is('_caosdb_schema_unit_tests','rules','entity_id',NULL,''); -SELECT tap.col_charset_is('_caosdb_schema_unit_tests','rules','entity_id',NULL,''); -SELECT tap.col_collation_is('_caosdb_schema_unit_tests','rules','entity_id',NULL,''); - --- COLUMN rules.transaction - -SELECT tap.has_column('_caosdb_schema_unit_tests','rules','transaction',''); -SELECT tap.col_column_type_is('_caosdb_schema_unit_tests','rules','transaction','enum(\'INSERT\',\'RETRIEVE\',\'UPDATE\',\'DELETE\')',''); -SELECT tap.col_extra_is('_caosdb_schema_unit_tests','rules','transaction','',''); -SELECT tap.col_default_is('_caosdb_schema_unit_tests','rules','transaction',NULL,''); -SELECT tap.col_charset_is('_caosdb_schema_unit_tests','rules','transaction','utf8',''); -SELECT tap.col_collation_is('_caosdb_schema_unit_tests','rules','transaction','utf8_unicode_ci',''); - --- COLUMN rules.criterion - -SELECT tap.has_column('_caosdb_schema_unit_tests','rules','criterion',''); -SELECT tap.col_column_type_is('_caosdb_schema_unit_tests','rules','criterion','varchar(255)',''); -SELECT tap.col_extra_is('_caosdb_schema_unit_tests','rules','criterion','',''); -SELECT tap.col_default_is('_caosdb_schema_unit_tests','rules','criterion',NULL,''); -SELECT tap.col_charset_is('_caosdb_schema_unit_tests','rules','criterion','utf8',''); -SELECT tap.col_collation_is('_caosdb_schema_unit_tests','rules','criterion','utf8_unicode_ci',''); - --- COLUMN rules.modus - -SELECT tap.has_column('_caosdb_schema_unit_tests','rules','modus',''); -SELECT tap.col_column_type_is('_caosdb_schema_unit_tests','rules','modus','enum(\'MUST\',\'SHOULD\',\'SHOULDNT\',\'MUSTNOT\')',''); -SELECT tap.col_extra_is('_caosdb_schema_unit_tests','rules','modus','',''); -SELECT tap.col_default_is('_caosdb_schema_unit_tests','rules','modus',NULL,''); -SELECT tap.col_charset_is('_caosdb_schema_unit_tests','rules','modus','utf8',''); -SELECT tap.col_collation_is('_caosdb_schema_unit_tests','rules','modus','utf8_unicode_ci',''); - --- CONSTRAINTS -SELECT tap.constraints_are('_caosdb_schema_unit_tests','rules','`rule_domain_id_entity`,`rule_entity_id_entity`',''); - --- CONSTRAINT rules.rule_domain_id_entity - -SELECT tap.has_constraint('_caosdb_schema_unit_tests','rules','rule_domain_id_entity',''); -SELECT tap.constraint_type_is('_caosdb_schema_unit_tests','rules','rule_domain_id_entity','FOREIGN KEY',''); -SELECT tap.fk_on_delete('_caosdb_schema_unit_tests','rules','rule_domain_id_entity','RESTRICT',''); -SELECT tap.fk_on_update('_caosdb_schema_unit_tests','rules','rule_domain_id_entity','RESTRICT',''); - --- CONSTRAINT rules.rule_entity_id_entity - -SELECT tap.has_constraint('_caosdb_schema_unit_tests','rules','rule_entity_id_entity',''); -SELECT tap.constraint_type_is('_caosdb_schema_unit_tests','rules','rule_entity_id_entity','FOREIGN KEY',''); -SELECT tap.fk_on_delete('_caosdb_schema_unit_tests','rules','rule_entity_id_entity','RESTRICT',''); -SELECT tap.fk_on_update('_caosdb_schema_unit_tests','rules','rule_entity_id_entity','RESTRICT',''); - -- *************************************************************** -- TABLE _caosdb_schema_unit_tests.stats -- *************************************************************** @@ -2645,13 +2572,6 @@ SELECT tap.procedure_is_deterministic('_caosdb_schema_unit_tests','getRole','NO' SELECT tap.procedure_security_type_is('_caosdb_schema_unit_tests','getRole','DEFINER',''); SELECT tap.procedure_sql_data_access_is('_caosdb_schema_unit_tests','getRole','CONTAINS SQL',''); --- PROCEDURES _caosdb_schema_unit_tests.getRules - -SELECT tap.has_procedure('_caosdb_schema_unit_tests','getRules',''); -SELECT tap.procedure_is_deterministic('_caosdb_schema_unit_tests','getRules','NO',''); -SELECT tap.procedure_security_type_is('_caosdb_schema_unit_tests','getRules','DEFINER',''); -SELECT tap.procedure_sql_data_access_is('_caosdb_schema_unit_tests','getRules','CONTAINS SQL',''); - -- PROCEDURES _caosdb_schema_unit_tests.initAutoIncrement SELECT tap.has_procedure('_caosdb_schema_unit_tests','initAutoIncrement',''); diff --git a/utils/update_sql_procedures.sh b/utils/update_sql_procedures.sh index cbb58fef1ee1e767571a14436ca1db25271a6266..06c07f95a2b6e33fc4ddc7baaccd453a64fdff54 100755 --- a/utils/update_sql_procedures.sh +++ b/utils/update_sql_procedures.sh @@ -37,18 +37,8 @@ fi source $UTILSPATH/load_settings.sh source $UTILSPATH/helpers.sh -echo -n "Updating rules ... " - -temp_rules_sql=$(tempfile --suffix=.sql) -sed s/db_2_0/$DATABASE_NAME/g rules.sql > "$temp_rules_sql" -mysql_execute_file "$temp_rules_sql" -# We keep this for debugging purposes... -# rm "$temp_rules_sql" - -echo "[OK]" - echo -n "updating procedures ... " -temp_proc_sql=$(tempfile --suffix=.sql) +temp_proc_sql=$(mktemp --suffix=.sql) sed -e "s/db_2_0/$DATABASE_NAME/g" procedures/*.sql procedures/query/*.sql \ > "$temp_proc_sql" mysql_execute_file "$temp_proc_sql"