[ 
https://issues.apache.org/jira/browse/ATLAS-3520?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17121403#comment-17121403
 ] 

ASF subversion and git services commented on ATLAS-3520:
--------------------------------------------------------

Commit 04537593853d5f8c1eae4f0c7253646a82199478 in atlas's branch 
refs/heads/branch-2.0 from Ashutosh Mestry
[ https://gitbox.apache.org/repos/asf?p=atlas.git;h=0453759 ]

ATLAS-3520: DSL Query special processing for '_'.

(cherry picked from commit 7be3a6f7499970dbb026cbe1bd92e04c1865ebf0)


> 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
>         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