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 <[email protected]> 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.
