GitHub user okram opened a pull request:
TINKERPOP-1470: InlineFilterStrategy should try and P.or() has() children in OrSteps.
Added `InlineFilterStrategy` support for:
to be rewritten as:
While doing this, I found a bug in `ConnectiveP` around nesting predicates that should be inlined. I added upgrade notes about `ConnectiveP` as well as about hidden step labels (forgot to add this from a previous ticket).
Also, I added this ticket as future work: https://issues.apache.org/jira/browse/TINKERPOP-1482
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/apache/tinkerpop
Alternatively you can review and apply these changes as the patch at:
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #445
Author: Marko A. Rodriguez <firstname.lastname@example.org>
Added support for or(has,has) to be has(x.or) in InlineFilterStrategy. While doing this, I found a bug in ConnectiveP steps where nested equivalents were not being inlined. That bug has been fixed. Added test cases to PTest to demonstrate proper inlining and nesting of ConnectivePs. I left two TODOs. One regarding match()-pulls that are labeled (interfering with FilterRankStrategy) and one regarding, has.has being turned into has(x.and). The reason why the latter isn't done now as it may greatly mess up providers who just rely on eq() for index lookups and are not smart enough to look into and()/or() predicates.