Skip to content
Snippets Groups Projects
Unverified Commit 7984c874 authored by Timm Fitschen's avatar Timm Fitschen
Browse files

BUG: wrong order of inserts...

when a new property has another new entity as its data type.
parent 31988643
No related branches found
No related tags found
No related merge requests found
#!/bin/bash
#
# ** 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
#
# new insertEntity procedure
# Update mysql schema to version v2.1.0
NEW_VERSION="v2.1.0"
OLD_VERSION="v2.0.31"
if [ -z "$UTILSPATH" ]; then
UTILSPATH="../utils"
fi
. $UTILSPATH/patch_header.sh $*
check_version $OLD_VERSION
update_version $NEW_VERSION
success
......@@ -24,25 +24,16 @@
DROP PROCEDURE IF EXISTS db_2_0.insertEntity;
delimiter //
CREATE PROCEDURE db_2_0.insertEntity(in EntityName VARCHAR(255), in EntityDesc TEXT, in EntityRole VARCHAR(255), in Datatype VARCHAR(255), in Collection VARCHAR(255), in ACL VARBINARY(65525))
CREATE PROCEDURE db_2_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;
DECLARE NewACLID INT UNSIGNED DEFAULT NULL;
call entityACL(NewACLID, ACL);
call entityACL(NewACLID, ACL);
INSERT INTO entities (name, description, role, acl) VALUES (EntityName, EntityDesc, EntityRole, NewACLID);
SET NewEntityID = LAST_INSERT_ID();
IF Datatype IS NOT NULL THEN
INSERT INTO data_type (domain_id, entity_id, property_id, datatype) SELECT 0, 0, NewEntityID, ( SELECT id from entities where name = Datatype LIMIT 1);
END IF;
IF Collection IS NOT NULL THEN
INSERT INTO collection_type (domain_id, entity_id, property_id, collection) SELECT 0, 0, NewEntityID, Collection;
END IF;
Select NewEntityID as EntityID;
END;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment