[ 
https://issues.apache.org/jira/browse/ATLAS-3520?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Madhan Neethiraj updated ATLAS-3520:
------------------------------------
    Fix Version/s: 3.0.0
                   2.1.0

> Regression: DSL query with "like" clause with "_" and "AND" returns 
> unexpected entities.
> ----------------------------------------------------------------------------------------
>
>                 Key: ATLAS-3520
>                 URL: https://issues.apache.org/jira/browse/ATLAS-3520
>             Project: Atlas
>          Issue Type: Bug
>            Reporter: Nikhil Bonte
>            Assignee: Ashutosh Mestry
>            Priority: Major
>             Fix For: 2.1.0, 3.0.0
>
>         Attachments: ATLAS-3520-DSL-Query-special-processing-for-_.patch
>
>
> *Problem*
> Dataset:
> Created a hive_table with name "sample_01" under hive_db having name as 
> "default".
> Query: 
> {code:java}
> hive_table db.name="default" and qualifiedName like "*sample_01*"
> {code}
> It is expected that above query should return 1 hive_table entity having 
> qualifiedName = default.sample_01@cluster, but it doesn't return any entity.
>   
> Other queries like following work and return expected results:
> {code:java}
> hive_table where db.name = "default" (only first part of query)
> hive_table qualifiedName like "*sample_01*"  (only second part of query)
> hive_table where db.name = "default" and name like "sample_01" (updating only 
> second part of query)
> hive_table db.name="default" and qualifiedName = "default.sample_01@cluster" 
> (using "=" instead of "like" with full qualifiedName)
> {code}
>  
> *Additional Information*
> For the type of queries mentioned above, 
> _org.janusgraph.core.attribute.Text.textContainsRegex_ is used to perform 
> comparison. This method within _JanusGraph_ is done in 2 steps:
>  * Tokenize the incoming stream.
>  * Perform regex match on the tokens from the step above.
> The tokenization routine aggregates by treating '_' as a delimiter. Thereby 
> failing to match a string containing '_'.
> *Solution*
> Within _GreamlinQueryComposer_, detect presence of '_' within the value and 
> resort to using _textRegex_ to match.
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to