From 7984c8746c935b1e0b54ca2626e9fb2950aaa5ee Mon Sep 17 00:00:00 2001
From: Timm Fitschen <timm.fitschen@ds.mpg.de>
Date: Mon, 19 Nov 2018 23:06:51 +0100
Subject: [PATCH] BUG: wrong order of inserts...

when a new property has another new entity as its data type.
---
 patches/patch20181119-2.1.0/patch.sh | 41 ++++++++++++++++++++++++++++
 procedures/insertEntity.sql          | 15 ++--------
 2 files changed, 44 insertions(+), 12 deletions(-)
 create mode 100755 patches/patch20181119-2.1.0/patch.sh

diff --git a/patches/patch20181119-2.1.0/patch.sh b/patches/patch20181119-2.1.0/patch.sh
new file mode 100755
index 0000000..e32a9da
--- /dev/null
+++ b/patches/patch20181119-2.1.0/patch.sh
@@ -0,0 +1,41 @@
+#!/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
+
diff --git a/procedures/insertEntity.sql b/procedures/insertEntity.sql
index 2a6b9a6..5b05d36 100644
--- a/procedures/insertEntity.sql
+++ b/procedures/insertEntity.sql
@@ -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;
-- 
GitLab