You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@atlas.apache.org by ap...@apache.org on 2018/03/01 17:50:59 UTC

[2/2] atlas git commit: ATLAS-2468: Basic search issue with numeric NEQ within OR clause

ATLAS-2468: Basic search issue with numeric NEQ within OR clause


Project: http://git-wip-us.apache.org/repos/asf/atlas/repo
Commit: http://git-wip-us.apache.org/repos/asf/atlas/commit/ff605a20
Tree: http://git-wip-us.apache.org/repos/asf/atlas/tree/ff605a20
Diff: http://git-wip-us.apache.org/repos/asf/atlas/diff/ff605a20

Branch: refs/heads/master
Commit: ff605a20ac61ec987b6f8cfcf3ec2224620faa2b
Parents: 860258d
Author: apoorvnaik <ap...@apache.org>
Authored: Wed Feb 28 21:53:12 2018 -0800
Committer: apoorvnaik <ap...@apache.org>
Committed: Thu Mar 1 06:47:57 2018 -0800

----------------------------------------------------------------------
 .../apache/atlas/discovery/SearchProcessor.java | 12 ++++++--
 .../json/search-parameters/entity-filters.json  | 32 ++++++++++++++++++++
 2 files changed, 42 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/atlas/blob/ff605a20/repository/src/main/java/org/apache/atlas/discovery/SearchProcessor.java
----------------------------------------------------------------------
diff --git a/repository/src/main/java/org/apache/atlas/discovery/SearchProcessor.java b/repository/src/main/java/org/apache/atlas/discovery/SearchProcessor.java
index d8389bb..29fffa7 100644
--- a/repository/src/main/java/org/apache/atlas/discovery/SearchProcessor.java
+++ b/repository/src/main/java/org/apache/atlas/discovery/SearchProcessor.java
@@ -46,7 +46,15 @@ import org.slf4j.LoggerFactory;
 
 import java.math.BigDecimal;
 import java.math.BigInteger;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
 import java.util.regex.Pattern;
 
 import static org.apache.atlas.util.SearchPredicateUtil.*;
@@ -87,7 +95,7 @@ public abstract class SearchProcessor {
         OPERATOR_MAP.put(SearchParameters.Operator.EQ, INDEX_SEARCH_PREFIX + "\"%s\": %s");
         OPERATOR_PREDICATE_MAP.put(SearchParameters.Operator.EQ, getEQPredicateGenerator());
 
-        OPERATOR_MAP.put(SearchParameters.Operator.NEQ, "-" + INDEX_SEARCH_PREFIX + "\"%s\": %s");
+        OPERATOR_MAP.put(SearchParameters.Operator.NEQ, "(*:* -" + INDEX_SEARCH_PREFIX + "\"%s\": %s)");
         OPERATOR_PREDICATE_MAP.put(SearchParameters.Operator.NEQ, getNEQPredicateGenerator());
 
         OPERATOR_MAP.put(SearchParameters.Operator.IN, INDEX_SEARCH_PREFIX + "\"%s\": (%s)"); // this should be a list of quoted strings

http://git-wip-us.apache.org/repos/asf/atlas/blob/ff605a20/webapp/src/test/resources/json/search-parameters/entity-filters.json
----------------------------------------------------------------------
diff --git a/webapp/src/test/resources/json/search-parameters/entity-filters.json b/webapp/src/test/resources/json/search-parameters/entity-filters.json
index b18311f..f4b2efe 100644
--- a/webapp/src/test/resources/json/search-parameters/entity-filters.json
+++ b/webapp/src/test/resources/json/search-parameters/entity-filters.json
@@ -308,5 +308,37 @@
       ]
     },
     "expectedCount": 3
+  },
+  {
+    "testDescription": "hive_table contains testtable or retentionSize != 0",
+    "searchParameters": {
+      "typeName": "hive_table",
+      "excludeDeletedEntities": true,
+      "classification": "",
+      "query": "",
+      "limit": 25,
+      "offset": 0,
+      "entityFilters": {
+        "condition" : "OR",
+        "criterion" : [
+          {
+            "attributeName": "name",
+            "operator": "contains",
+            "attributeValue": "testtable"
+          },
+          {
+            "attributeName": "retention",
+            "operator": "neq",
+            "attributeValue": "0"
+          }
+        ]
+
+      },
+      "tagFilters": null,
+      "attributes": [
+        ""
+      ]
+    },
+    "expectedCount": 3
   }
 ]
\ No newline at end of file