This is an automated email from the ASF dual-hosted git repository.

amestry pushed a commit to branch branch-2.0
in repository https://gitbox.apache.org/repos/asf/atlas.git

commit 656287589c635c6f6e7be3408a5d8049e5e6ea07
Author: nikhilbonte <[email protected]>
AuthorDate: Tue Nov 5 15:28:51 2019 +0530

    ATLAS-3504-DSL-query-with-like-clause-returns-unexpected-results-v1.patch
    
    Signed-off-by: Ashutosh Mestry <[email protected]>
---
 .../src/main/java/org/janusgraph/diskstorage/solr/Solr6Index.java | 7 +++++++
 .../src/test/java/org/apache/atlas/query/DSLQueriesTest.java      | 8 ++++++++
 2 files changed, 15 insertions(+)

diff --git 
a/graphdb/janus/src/main/java/org/janusgraph/diskstorage/solr/Solr6Index.java 
b/graphdb/janus/src/main/java/org/janusgraph/diskstorage/solr/Solr6Index.java
index a272ab9..d0d7fd7 100644
--- 
a/graphdb/janus/src/main/java/org/janusgraph/diskstorage/solr/Solr6Index.java
+++ 
b/graphdb/janus/src/main/java/org/janusgraph/diskstorage/solr/Solr6Index.java
@@ -24,6 +24,8 @@ import java.io.IOException;
 import java.io.StringReader;
 import java.io.UncheckedIOException;
 import java.lang.reflect.Constructor;
+import java.math.BigDecimal;
+import java.math.BigInteger;
 import java.text.DateFormat;
 import java.text.SimpleDateFormat;
 import java.time.Instant;
@@ -1077,6 +1079,10 @@ public class Solr6Index implements IndexProvider {
         } else if (AttributeUtil.isDecimal(dataType)) {
             if (dataType.equals(Float.class)) postfix = "_f";
             else postfix = "_d";
+        } else if (dataType.equals(BigInteger.class)) {
+            postfix = "_bi";
+        } else if (dataType.equals(BigDecimal.class)) {
+            postfix = "_bd";
         } else if (dataType.equals(Geoshape.class)) {
             postfix = "_g";
         } else if (dataType.equals(Date.class) || 
dataType.equals(Instant.class)) {
@@ -1086,6 +1092,7 @@ public class Solr6Index implements IndexProvider {
         } else if (dataType.equals(UUID.class)) {
             postfix = "_uuid";
         } else throw new IllegalArgumentException("Unsupported data type 
["+dataType+"] for field: " + key);
+
         if (keyInfo.getCardinality() == Cardinality.SET || 
keyInfo.getCardinality() == Cardinality.LIST) {
             postfix += "s";
         }
diff --git 
a/repository/src/test/java/org/apache/atlas/query/DSLQueriesTest.java 
b/repository/src/test/java/org/apache/atlas/query/DSLQueriesTest.java
index 36ec3d2..724ae9f 100644
--- a/repository/src/test/java/org/apache/atlas/query/DSLQueriesTest.java
+++ b/repository/src/test/java/org/apache/atlas/query/DSLQueriesTest.java
@@ -134,6 +134,14 @@ public class DSLQueriesTest extends BasicTestSetup {
     @DataProvider(name = "comparisonQueriesProvider")
     private Object[][] comparisonQueriesProvider() {
         return new Object[][] {
+                {"Person where (name = \"Julius\" )", 1},
+                {"Person where (name like \"Jul*\" )", 1},
+                {"Person where (name like \"J*\" )", 3},
+                {"Person where (name like \"*us\" )", 1},
+                {"Person where (name like \"*uli*\" )", 1},
+                {"Person where (name like \"Julius\" )", 1},
+                {"Person where (name like \"Jul\" )", 0},
+
                 {"Person where (birthday < \"1950-01-01T02:35:58.440Z\" )", 0},
                 {"Person where (birthday > \"1975-01-01T02:35:58.440Z\" )", 2},
                 {"Person where (birthday >= \"1975-01-01T02:35:58.440Z\" )", 
2},

Reply via email to