From 0441b0e0201c0e18881a44d24a3c9370ffbeee9a Mon Sep 17 00:00:00 2001
From: Viktor Kovtun <viktor.kovtun@id.ethz.ch>
Date: Mon, 22 Jun 2020 11:54:43 +0200
Subject: [PATCH] SSDM-9369 Added escaping of "'" with "''" when
 StringContainsExactlyValue criterion is used. Otherwise using "'" would lead
 to an exception.

---
 .../v3/search/translator/GlobalSearchCriteriaTranslator.java    | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/search/translator/GlobalSearchCriteriaTranslator.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/search/translator/GlobalSearchCriteriaTranslator.java
index 6bc2333648c..a6381f88799 100644
--- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/search/translator/GlobalSearchCriteriaTranslator.java
+++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/search/translator/GlobalSearchCriteriaTranslator.java
@@ -532,7 +532,7 @@ public class GlobalSearchCriteriaTranslator
     private static String toTsQueryText(final AbstractStringValue stringValue)
     {
         return (StringContainsExactlyValue.class.isAssignableFrom(stringValue.getClass()))
-                ? '\'' + stringValue.getValue() + '\''
+                ? '\'' + stringValue.getValue().replaceAll("'", "''") + '\''
                 : stringValue.getValue().replaceAll("['&|:!()<>]", " ").trim().replaceAll("\\s+", " | ");
     }
 
-- 
GitLab