You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by sp...@apache.org on 2021/12/16 00:41:38 UTC

[tinkerpop] 01/01: Merge pull request #1514 from apache/TINKERPOP-2635

This is an automated email from the ASF dual-hosted git repository.

spmallette pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git

commit 7037b007e37d403cb98571d87be7b16c0519b468
Merge: 36463d2 cf95caa
Author: stephen mallette <sp...@users.noreply.github.com>
AuthorDate: Wed Dec 15 19:40:00 2021 -0500

    Merge pull request #1514 from apache/TINKERPOP-2635
    
    TINKERPOP-2635 Better by() consistency

 CHANGELOG.asciidoc                                 |   4 +
 docs/src/dev/developer/for-committers.asciidoc     |   4 +
 docs/src/reference/the-traversal.asciidoc          |  97 ++++++
 docs/src/upgrade/release-3.6.x.asciidoc            | 386 ++++++++++++++++++++-
 .../tinkerpop/gremlin/console/Console.groovy       | 124 +++++--
 .../language/grammar/GremlinBaseVisitor.java       |  13 +
 .../language/grammar/TraversalMethodVisitor.java   |  17 +
 .../gremlin/process/traversal/Failure.java         | 101 ++++++
 .../tinkerpop/gremlin/process/traversal/Path.java  |   6 +-
 .../tinkerpop/gremlin/process/traversal/Step.java  |   2 +-
 .../process/traversal/TraversalStrategies.java     |   2 -
 .../gremlin/process/traversal/Traverser.java       |   9 +
 .../traversal/dsl/graph/GraphTraversal.java        |  54 ++-
 .../gremlin/process/traversal/dsl/graph/__.java    |  14 +
 .../traversal/step/filter/DedupGlobalStep.java     |  72 ++--
 .../traversal/step/filter/PathFilterStep.java      |  17 +-
 .../traversal/step/filter/SampleGlobalStep.java    |  20 +-
 .../traversal/step/filter/WherePredicateStep.java  |  34 +-
 .../process/traversal/step/map/GroupCountStep.java |   2 +-
 .../process/traversal/step/map/GroupStep.java      |  14 +-
 .../process/traversal/step/map/MathStep.java       |  29 +-
 .../traversal/step/map/OrderGlobalStep.java        |  15 +-
 .../process/traversal/step/map/OrderLocalStep.java | 104 ++++--
 .../process/traversal/step/map/PathStep.java       |  44 ++-
 .../process/traversal/step/map/ProjectStep.java    |   2 +-
 .../traversal/step/map/PropertyMapStep.java        |  13 +-
 .../process/traversal/step/map/SelectOneStep.java  |   7 +-
 .../process/traversal/step/map/SelectStep.java     |  12 +-
 .../process/traversal/step/map/TreeStep.java       |  12 +-
 .../step/sideEffect/AggregateGlobalStep.java       |   8 +-
 .../step/sideEffect/AggregateLocalStep.java        |   2 +-
 .../traversal/step/sideEffect/FailStep.java        |  87 +++++
 .../traversal/step/sideEffect/SackValueStep.java   |  18 +-
 .../optimization/ProductiveByStrategy.java         |  42 +--
 .../traverser/B_LP_NL_O_S_SE_SL_Traverser.java     |   5 +
 .../traverser/B_LP_O_S_SE_SL_Traverser.java        |   1 -
 .../traverser/B_NL_O_S_SE_SL_Traverser.java        |   1 -
 .../traversal/traverser/B_O_S_SE_SL_Traverser.java |   7 +
 .../traverser/LP_NL_O_OB_P_S_SE_SL_Traverser.java  |   6 +
 .../traverser/LP_NL_O_OB_S_SE_SL_Traverser.java    |   6 +
 .../traverser/LP_O_OB_S_SE_SL_Traverser.java       |   1 -
 .../traverser/NL_O_OB_S_SE_SL_Traverser.java       |   6 +
 .../traverser/O_OB_S_SE_SL_Traverser.java          |   9 +-
 .../process/traversal/util/TraversalProduct.java   |  55 +++
 .../process/traversal/util/TraversalUtil.java      | 133 ++++---
 .../gremlin/util/function/ChainedComparator.java   |   2 +
 .../gremlin/process/traversal/PathTest.java        |  20 ++
 .../traversal/lambda/ValueTraversalTest.java       |  10 +
 .../optimization/PathProcessorStrategyTest.java    |  19 +-
 .../optimization/ProductiveByStrategyTest.java     |   7 +-
 .../Process/Traversal/GraphTraversal.cs            |  27 ++
 .../src/Gremlin.Net/Process/Traversal/__.cs        |  16 +
 .../Gherkin/CommonSteps.cs                         |  67 +++-
 .../Gherkin/GherkinTestRunner.cs                   |   3 +-
 .../Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs |  48 +++
 .../apache/tinkerpop/gremlin/driver/Tokens.java    |  15 +
 .../gremlin/driver/message/ResponseStatusCode.java |  11 +
 .../ast/VarAsBindingASTTransformation.groovy       |   3 +
 .../lib/process/graph-traversal.js                 |  11 +
 .../test/cucumber/feature-steps.js                 |  16 +-
 .../gremlin-javascript/test/cucumber/gremlin.js    |  48 +++
 gremlin-language/src/main/antlr4/Gremlin.g4        |   6 +
 .../gremlin_python/process/graph_traversal.py      |  14 +
 .../src/main/python/radish/feature_steps.py        |  24 +-
 gremlin-python/src/main/python/radish/gremlin.py   |  48 +++
 .../gremlin/server/handler/AbstractSession.java    |  31 +-
 .../gremlin/server/op/AbstractEvalOpProcessor.java |  25 +-
 .../gremlin/server/op/AbstractOpProcessor.java     |   9 +-
 .../server/op/session/SessionOpProcessor.java      |  73 +++-
 .../server/op/traversal/TraversalOpProcessor.java  |  47 ++-
 .../gremlin/server/GremlinServerIntegrateTest.java |  16 +
 gremlin-test/features/filter/CyclicPath.feature    |  14 +
 gremlin-test/features/filter/Dedup.feature         |  53 ++-
 gremlin-test/features/filter/Sample.feature        |  15 +
 gremlin-test/features/filter/SimplePath.feature    |  17 +
 gremlin-test/features/filter/Where.feature         |  13 +-
 gremlin-test/features/map/Math.feature             |  28 ++
 gremlin-test/features/map/Max.feature              |  40 +++
 gremlin-test/features/map/Mean.feature             |  44 +++
 gremlin-test/features/map/Min.feature              |  40 +++
 gremlin-test/features/map/Order.feature            |  76 +++-
 gremlin-test/features/map/Path.feature             |  14 +
 gremlin-test/features/map/Project.feature          |  18 +
 gremlin-test/features/map/Select.feature           |  31 +-
 gremlin-test/features/map/Sum.feature              |  45 ++-
 gremlin-test/features/map/ValueMap.feature         |  18 +-
 gremlin-test/features/sideEffect/Aggregate.feature |  73 +++-
 gremlin-test/features/sideEffect/Fail.feature      |  46 +++
 gremlin-test/features/sideEffect/Group.feature     |  24 +-
 .../features/sideEffect/GroupCount.feature         |  24 +-
 gremlin-test/features/sideEffect/Sack.feature      |  14 +
 .../tinkerpop/gremlin/features/StepDefinition.java |  40 ++-
 .../process/traversal/step/filter/DedupTest.java   |   3 +-
 .../process/traversal/step/filter/WhereTest.java   |   4 +-
 .../process/traversal/step/map/MaxTest.java        |   2 -
 .../process/traversal/step/map/MeanTest.java       |   2 -
 .../process/traversal/step/map/MinTest.java        |   2 -
 .../process/traversal/step/map/OrderTest.java      |   2 +-
 .../process/traversal/step/map/PathTest.java       |   4 +-
 .../process/traversal/step/map/ProjectTest.java    |  37 +-
 .../process/traversal/step/map/SelectTest.java     |   2 +-
 .../process/traversal/step/map/SumTest.java        |   4 +-
 .../traversal/step/sideEffect/AggregateTest.java   |   4 +-
 .../traversal/step/sideEffect/GroupTest.java       |   2 +-
 .../traversal/step/sideEffect/TreeTest.java        |  25 ++
 105 files changed, 2613 insertions(+), 400 deletions(-)

diff --cc CHANGELOG.asciidoc
index 843473b,c4d5bff..4d96fbd
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@@ -35,9 -37,10 +37,11 @@@ limitations under the License
  * Prevented metrics computation unless the traversal is in a locked state.
  * Added syntax to Gremlin grammar to explicitly define `byte`, `short` and `BigInteger`.
  * Created a way to produce a corpus of Gremlin traversals via `FeatureReader` and `DocumentationReader` in `gremlin-language`.
 +* Changed mechanism for determining if `id` equality with `toString()` is used by validating that elements of the predicate collection are all `String` rather than enforcing homogenous collections in the process.
  * Exposed Gherkin tests as part of the provider test suite.
  * Packaged Gherkin tests and data as standalone package as a convenience distribution.
+ * Removed `ProductiveByStrategy` as a strategy that is applied by default.
+ * Changed `by()` modulator semantics to consistently filter.
  * Removed previously deprecated `application/vnd.gremlin-v1.0+gryo-lite` serialization format.
  * Removed previously deprecated `AuthenticationSettings.enableAuditLog`.
  * Removed previously deprecated `GroovyTranslator` from `gremlin-groovy` module.