This is an automated email from the ASF dual-hosted git repository. pinal pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/atlas.git
The following commit(s) were added to refs/heads/master by this push: new 392f8b4a3 ATLAS-4685: Advanced Search : Not Equals operator doesn't work for String type 392f8b4a3 is described below commit 392f8b4a38bcb18a684f21127594afa74e10ee47 Author: Pinal Shah <pinal.s...@freestoneinfotech.com> AuthorDate: Mon Oct 10 11:35:19 2022 +0530 ATLAS-4685: Advanced Search : Not Equals operator doesn't work for String type Signed-off-by: Pinal Shah <pinal.s...@freestoneinfotech.com> --- .../src/main/java/org/apache/atlas/query/GremlinQueryComposer.java | 5 +++-- repository/src/test/java/org/apache/atlas/query/DSLQueriesTest.java | 4 ++-- .../test/java/org/apache/atlas/query/GremlinQueryComposerTest.java | 2 +- .../src/test/java/org/apache/atlas/query/TraversalComposerTest.java | 2 ++ 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/repository/src/main/java/org/apache/atlas/query/GremlinQueryComposer.java b/repository/src/main/java/org/apache/atlas/query/GremlinQueryComposer.java index bc3930250..2cf3532db 100644 --- a/repository/src/main/java/org/apache/atlas/query/GremlinQueryComposer.java +++ b/repository/src/main/java/org/apache/atlas/query/GremlinQueryComposer.java @@ -238,9 +238,10 @@ public class GremlinQueryComposer { } else if (op == SearchParameters.Operator.IN) { add(GremlinClause.HAS_OPERATOR, getPropertyForClause(lhsI), "within", rhs); } else if (op == SearchParameters.Operator.NEQ && rhsIsNotDateOrNumOrBool) { - String propertyName = getPropertyForClause(lhsI); + String propertyName = getPropertyForClause(lhsI); + Object normalizedRhs = getNormalizedAttrVal(lhsI, IdentifierHelper.removeQuotes(rhs)); - add(GremlinClause.HAS_NOT_OPERATOR, propertyName, rhs, propertyName); + add(GremlinClause.HAS_NOT_OPERATOR, propertyName, normalizedRhs.toString(), propertyName); } else { Object normalizedRhs = getNormalizedAttrVal(lhsI, IdentifierHelper.removeQuotes(rhs)); 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 1d3e245c5..99bdc94bc 100644 --- a/repository/src/test/java/org/apache/atlas/query/DSLQueriesTest.java +++ b/repository/src/test/java/org/apache/atlas/query/DSLQueriesTest.java @@ -458,9 +458,9 @@ public class DSLQueriesTest extends BasicTestSetup { {"hive_db as d where owner = ['John ETL', 'Jane BI']", 2}, {"hive_db as d where owner = ['John ETL', 'Jane BI'] limit 10", 2}, {"hive_db as d where owner = ['John ETL', 'Jane BI'] limit 10 offset 1", 1}, - {"hive_db where description != 'Random'", 3}, + {"hive_db where description != '/apps/warehouse/logging'", 2}, {"hive_db where (owner = \"John ETL\" and description != Random)", 1}, - {"hive_db where (owner = \"Tim ETL\" and description != Random)", 1}, + {"hive_table where description != ''", 8}, {"hive_db where (name='Reporting' or ((name='Logging' and owner = 'Jane BI') and (name='Logging' and owner = 'John ETL')))", 1} }; } diff --git a/repository/src/test/java/org/apache/atlas/query/GremlinQueryComposerTest.java b/repository/src/test/java/org/apache/atlas/query/GremlinQueryComposerTest.java index 4002a32b1..c5076cea4 100644 --- a/repository/src/test/java/org/apache/atlas/query/GremlinQueryComposerTest.java +++ b/repository/src/test/java/org/apache/atlas/query/GremlinQueryComposerTest.java @@ -409,7 +409,7 @@ public class GremlinQueryComposerTest { @Test public void whereClauseWithNEQCondition() { verify("Table where owner != 'random'", - "g.V().has('__typeName', 'Table').or(__.has('Table.owner', neq('random')), __.hasNot('Table.owner')).dedup().limit(25).toList()"); + "g.V().has('__typeName', 'Table').or(__.has('Table.owner', neq(random)), __.hasNot('Table.owner')).dedup().limit(25).toList()"); } @Test diff --git a/repository/src/test/java/org/apache/atlas/query/TraversalComposerTest.java b/repository/src/test/java/org/apache/atlas/query/TraversalComposerTest.java index 359ac7045..5950d5562 100644 --- a/repository/src/test/java/org/apache/atlas/query/TraversalComposerTest.java +++ b/repository/src/test/java/org/apache/atlas/query/TraversalComposerTest.java @@ -70,6 +70,8 @@ public class TraversalComposerTest extends BaseDSLComposer { verify("hive_column where name = 'test_limit' limit 2 offset 4", "[JanusGraphStep([],[__typeName.eq(hive_column), hive_column.name.eq(test_limit)]), DedupGlobalStep(null,null), DedupGlobalStep(null,null), RangeGlobalStep(4,6)]"); + verify("hive_db where owner != 'hdfs'", + "[JanusGraphStep([],[__typeName.eq(hive_db)]), OrStep([[HasStep([hive_db.owner.neq(hdfs)])], [NotStep([JanusGraphPropertiesStep([hive_db.owner],property)])]]), DedupGlobalStep(null,null), RangeGlobalStep(0,25)]"); } private void verify(String dsl, String expected) {