[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:
