From 810efcf40312f9952d2cbbf3352e346baa0d9b86 Mon Sep 17 00:00:00 2001
From: Timm Fitschen <timm.fitschen@ds.mpg.de>
Date: Wed, 27 Mar 2019 11:08:11 +0100
Subject: [PATCH] BUG: like queries in mariadb

---
 patches/patch20190327-2.1.1/patch.sh        | 43 +++++++++++++++++++++
 procedures/query/getDateTimeWhereClause.sql |  6 +--
 procedures/query/getDoubleWhereClause.sql   |  2 +-
 3 files changed, 47 insertions(+), 4 deletions(-)
 create mode 100755 patches/patch20190327-2.1.1/patch.sh

diff --git a/patches/patch20190327-2.1.1/patch.sh b/patches/patch20190327-2.1.1/patch.sh
new file mode 100755
index 0000000..7c28455
--- /dev/null
+++ b/patches/patch20190327-2.1.1/patch.sh
@@ -0,0 +1,43 @@
+#!/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, new anonymous role
+# Update mysql schema to version v2.1.0
+NEW_VERSION="v2.1.1"
+OLD_VERSION="v2.1.0"
+
+if [ -z "$UTILSPATH" ]; then
+ UTILSPATH="../utils"
+fi
+
+. $UTILSPATH/patch_header.sh $*
+
+
+check_version $OLD_VERSION
+
+# just update procedures
+
+update_version $NEW_VERSION
+
+success
+
diff --git a/procedures/query/getDateTimeWhereClause.sql b/procedures/query/getDateTimeWhereClause.sql
index 8e19f17..55f65ea 100644
--- a/procedures/query/getDateTimeWhereClause.sql
+++ b/procedures/query/getDateTimeWhereClause.sql
@@ -24,7 +24,7 @@
 DROP FUNCTION IF EXISTS db_2_0.getDateTimeWhereClause;
 DELIMITER //
 
-CREATE FUNCTION db_2_0.getDateTimeWhereClause(vDateTime VARCHAR(255), operator CHAR(2)) RETURNS VARCHAR(20000) DETERMINISTIC
+CREATE FUNCTION db_2_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);
@@ -48,7 +48,7 @@ DELIMITER ;
 DROP FUNCTION IF EXISTS db_2_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(2)) RETURNS VARCHAR(20000) DETERMINISTIC
+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
 BEGIN
 
 	DECLARE isInterval BOOLEAN DEFAULT vDateTimeSecUpp IS NOT NULL or vDateTimeNSUpp IS NOT NULL; 
@@ -103,7 +103,7 @@ DELIMITER ;
 DROP FUNCTION IF EXISTS db_2_0.getDateWhereClause;
 DELIMITER //
 
-CREATE FUNCTION db_2_0.getDateWhereClause(vDateTimeDotNotation VARCHAR(255), operator CHAR(2)) RETURNS VARCHAR(20000) DETERMINISTIC
+CREATE FUNCTION db_2_0.getDateWhereClause(vDateTimeDotNotation VARCHAR(255), operator CHAR(4)) RETURNS VARCHAR(20000) DETERMINISTIC
 BEGIN
 	DECLARE isInterval INTEGER DEFAULT LOCATE('--',vDateTimeDotNotation);
 	DECLARE vILB VARCHAR(255) DEFAULT IF(isInterval != 0, SUBSTRING_INDEX(vDateTimeDotNotation, '--', 1), vDateTimeDotNotation);
diff --git a/procedures/query/getDoubleWhereClause.sql b/procedures/query/getDoubleWhereClause.sql
index 4a8ae75..0bf443d 100644
--- a/procedures/query/getDoubleWhereClause.sql
+++ b/procedures/query/getDoubleWhereClause.sql
@@ -24,7 +24,7 @@
 DROP FUNCTION IF EXISTS db_2_0.getDoubleWhereClause;
 
 DELIMITER //
-CREATE FUNCTION db_2_0.getDoubleWhereClause(value DOUBLE, unit_sig BIGINT, valueStdUnit DECIMAL(65,30), stdUnit_sig BIGINT, o CHAR(3)) RETURNS VARCHAR(20000) DETERMINISTIC
+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
 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
-- 
GitLab