[OLINGO-891] Use nested concat instead of concat with 3 parameters in JPA Where 
clauses

Signed-off-by: Michael Bolz <[email protected]>


Project: http://git-wip-us.apache.org/repos/asf/olingo-odata2/repo
Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata2/commit/8c0d1521
Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata2/tree/8c0d1521
Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata2/diff/8c0d1521

Branch: refs/heads/OLINGO-882_EnableContainerManagedPersistence
Commit: 8c0d15219993ad9a34c25723907934d33c1d84ed
Parents: 891d3dd
Author: Jan Penninkhof <[email protected]>
Authored: Tue Feb 23 01:59:24 2016 +0100
Committer: Michael Bolz <[email protected]>
Committed: Wed Feb 24 09:29:13 2016 +0100

----------------------------------------------------------------------
 .../olingo/odata2/jpa/processor/core/ODataExpressionParser.java  | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/8c0d1521/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/ODataExpressionParser.java
----------------------------------------------------------------------
diff --git 
a/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/ODataExpressionParser.java
 
b/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/ODataExpressionParser.java
index e733337..1479b10 100644
--- 
a/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/ODataExpressionParser.java
+++ 
b/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/ODataExpressionParser.java
@@ -210,9 +210,9 @@ public class ODataExpressionParser {
       case SUBSTRINGOF:
         if (methodFlag.get() != null && methodFlag.get() == 1) {
           methodFlag.set(null);
-          return String.format("(CASE WHEN (%s LIKE CONCAT('%%',%s,'%%')) THEN 
TRUE ELSE FALSE END)", second, first);
+          return String.format("(CASE WHEN (%s LIKE 
CONCAT('%%',CONCAT(%s,'%%'))) THEN TRUE ELSE FALSE END)", second, first);
         } else {
-          return String.format("(CASE WHEN (%s LIKE CONCAT('%%',%s,'%%')) THEN 
TRUE ELSE FALSE END) = true", second,
+          return String.format("(CASE WHEN (%s LIKE 
CONCAT('%%',CONCAT(%s,'%%'))) THEN TRUE ELSE FALSE END) = true", second,
               first);
         }
       case TOLOWER:

Reply via email to