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