[ https://issues.apache.org/jira/browse/ATLAS-1369?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15743520#comment-15743520 ]
Jeffrey Hagelberg edited comment on ATLAS-1369 at 12/12/16 11:40 PM: --------------------------------------------------------------------- It's looking like this is all I'll be able to do for this today. Please let me know if you have any questions. This is pretty complicated code :-( was (Author: jnhagelb): I'll spent a bit more time today see if I can get at least the basic and/or expansion working for TP 2. Maybe we can disable the things that will require more investigation for now. > Optimize Gremlin created by DSL Translator > ------------------------------------------ > > Key: ATLAS-1369 > URL: https://issues.apache.org/jira/browse/ATLAS-1369 > Project: Atlas > Issue Type: Improvement > Reporter: Jeffrey Hagelberg > Assignee: Jeffrey Hagelberg > Attachments: rb54680.patch > > > The way the queries are generated now, in many cases the indices are not used > when executing queries. The main problem is that gremlin cannot currently > use the graph indices to optimize the lookup for "has" expressions within an > "and" or an "or". This JIRA introduces a GremlinQueryOptimizer that attempts > to extract "has" expressions out of "and" expressions and turn "or" > expressions into unions. > The code being submitted has only been tested with TP 3 at this point. There > are some issues that need to be fixed before this can be used with TP 2: > - FunctionGenerator - generates functions that take GraphTraversal as an > argument. That should be changed to GreminPipeline when using TP 2. The > return type should probably come from a new method in GremlinExpressionFactory > - loop support - for TP2, we will need to add logic to make sure that the > loop call is not separated from the alias it references > - alias handling - the alias safe/restore logic in > ExpandOrsOptimization.getBaseResultExpression() may be need to adjusted for > TP2 > - possibly other issues, TBD -- This message was sent by Atlassian JIRA (v6.3.4#6332)