This is an automated email from the ASF dual-hosted git repository.
xiazcy pushed a change to branch steps-taking-traversal-poc
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git
from 89260d5ab3 Add support in GLVs for steps taking traversals
new 60ba191a86 use P.eq() semantics instead of P.with() for has(key,
traversal)
new fe7f83bd0c allow V()/E() start steps to take traversals by generating
a false traverser like mergeV/mergeE
new 80ca229e10 Add optimizations into has and P
new a974a8eb2c Add error throwing for mixed cases instead of silent failure
new cafd013d9e add compile time check & strategy verification to prevent
child traversal mutating steps
The 5 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.../grammar/TraversalSourceSpawnMethodVisitor.java | 22 +-
.../tinkerpop/gremlin/process/traversal/P.java | 99 ++++++--
.../tinkerpop/gremlin/process/traversal/TextP.java | 7 +
.../process/traversal/TraversalStrategies.java | 2 +
.../traversal/dsl/graph/GraphTraversal.java | 7 +
.../traversal/dsl/graph/GraphTraversalSource.java | 13 +-
.../process/traversal/step/filter/HasStep.java | 45 +++-
.../process/traversal/step/map/GraphStep.java | 15 +-
.../traversal/step/sideEffect/AddPropertyStep.java | 9 +
.../ChildTraversalVerificationStrategy.java | 90 +++++++
.../traversal/util/ChildTraversalContext.java | 42 ++++
.../traversal/util/ChildTraversalValidator.java | 111 +++++++++
.../gremlin/process/traversal/PTraversalTest.java | 56 +++--
.../ChildTraversalVerificationStrategyTest.java | 69 ++++++
.../util/ChildTraversalValidatorTest.java | 228 +++++++++++++++++
.../Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs | 16 ++
gremlin-go/driver/cucumber/gremlin.go | 16 ++
.../gremlin-javascript/test/cucumber/gremlin.js | 16 ++
gremlin-language/src/main/antlr4/Gremlin.g4 | 2 +
.../src/main/python/tests/feature/gremlin.py | 16 ++
.../gremlin/language/translator/translations.json | 272 +++++++++++++++++++++
.../filter/ChildTraversalVerification.feature | 202 +++++++++++++++
.../test/features/filter/HasTraversal.feature | 6 +-
.../gremlin/test/features/map/VETraversal.feature | 10 +-
24 files changed, 1291 insertions(+), 80 deletions(-)
create mode 100644
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/verification/ChildTraversalVerificationStrategy.java
create mode 100644
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/ChildTraversalContext.java
create mode 100644
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/ChildTraversalValidator.java
create mode 100644
gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/verification/ChildTraversalVerificationStrategyTest.java
create mode 100644
gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/util/ChildTraversalValidatorTest.java
create mode 100644
gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/filter/ChildTraversalVerification.feature