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 2018/11/02 15:51:54 UTC
[tinkerpop] branch TINKERPOP-2065 updated (bb85a69 -> 1dd12af)
This is an automated email from the ASF dual-hosted git repository.
spmallette pushed a change to branch TINKERPOP-2065
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git.
discard bb85a69 TINKERPOP-2065 iterate() now sends NoneStep
new 1dd12af TINKERPOP-2065 iterate() now sends NoneStep
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (bb85a69)
\
N -- N -- N refs/heads/TINKERPOP-2065 (1dd12af)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
The 1 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:
gremlin-python/glv/TraversalSource.template | 2 --
1 file changed, 2 deletions(-)
[tinkerpop] 01/01: TINKERPOP-2065 iterate() now sends NoneStep
Posted by sp...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
spmallette pushed a commit to branch TINKERPOP-2065
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git
commit 1dd12afb8f0497441ef5d5434e87adbb5cc4b038
Author: Stephen Mallette <sp...@genoprime.com>
AuthorDate: Fri Nov 2 11:46:00 2018 -0400
TINKERPOP-2065 iterate() now sends NoneStep
Fixed this for python, .NET and js. This means that results will no longer be sent back from the server to the client (i.e. no client side iteration).
---
CHANGELOG.asciidoc | 3 ++-
gremlin-dotnet/src/Gremlin.Net/Process/Traversal/DefaultTraversal.cs | 1 +
.../test/Gremlin.Net.UnitTest/Process/Traversal/TestTraversal.cs | 2 ++
gremlin-javascript/glv/TraversalSource.template | 1 +
.../src/main/javascript/gremlin-javascript/lib/process/traversal.js | 1 +
.../src/main/javascript/gremlin-javascript/test/unit/traversal-test.js | 3 ++-
gremlin-python/glv/TraversalSource.template | 1 +
gremlin-python/src/main/jython/gremlin_python/process/traversal.py | 3 +++
8 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index ac8cba8..a4b2331 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -26,7 +26,8 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
This release also includes changes from <<release-3-2-11, 3.2.11>>.
* Fixed `PersistedOutputRDD` to eager persist RDD by adding `count()` action calls.
-* gremlin-python: the graphson deserializer for g:Set should return a python set
+* Changed behavior of GraphSON deserializer in gremlin-python such that `g:Set` returns a Python `Set`.
+* Changed behavior of `iterate()` in Python, Javascript and .NET to send `none()` thus avoiding unnecessary results being returned.
[[release-3-3-4]]
=== TinkerPop 3.3.4 (Release Date: October 15, 2018)
diff --git a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/DefaultTraversal.cs b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/DefaultTraversal.cs
index 58c3428..1ffda51 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/DefaultTraversal.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/DefaultTraversal.cs
@@ -194,6 +194,7 @@ namespace Gremlin.Net.Process.Traversal
/// <returns>The fully drained traversal.</returns>
public ITraversal<S, E> Iterate()
{
+ Bytecode.AddStep("none");
while (MoveNext())
{
}
diff --git a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Process/Traversal/TestTraversal.cs b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Process/Traversal/TestTraversal.cs
index bf9b6d1..c1b87a0 100644
--- a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Process/Traversal/TestTraversal.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Process/Traversal/TestTraversal.cs
@@ -34,6 +34,7 @@ namespace Gremlin.Net.UnitTest.Process.Traversal
var traversers = new List<Traverser>(traverserObjs.Count);
traverserObjs.ForEach(o => traversers.Add(new Traverser(o)));
Traversers = traversers;
+ Bytecode = new Bytecode();
}
public TestTraversal(IReadOnlyList<object> traverserObjs, IReadOnlyList<long> traverserBulks)
@@ -41,6 +42,7 @@ namespace Gremlin.Net.UnitTest.Process.Traversal
var traversers = new List<Traverser>(traverserObjs.Count);
traversers.AddRange(traverserObjs.Select((t, i) => new Traverser(t, traverserBulks[i])));
Traversers = traversers;
+ Bytecode = new Bytecode();
}
public TestTraversal(IList<ITraversalStrategy> traversalStrategies)
diff --git a/gremlin-javascript/glv/TraversalSource.template b/gremlin-javascript/glv/TraversalSource.template
index 6965110..aaf98b5 100644
--- a/gremlin-javascript/glv/TraversalSource.template
+++ b/gremlin-javascript/glv/TraversalSource.template
@@ -62,6 +62,7 @@ class Traversal {
* @returns {Promise}
*/
iterate() {
+ this.bytecode.addStep('none');
return this._applyStrategies().then(() => {
let it;
while ((it = this._getNext()) && !it.done) {
diff --git a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/process/traversal.js b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/process/traversal.js
index d39ccf0..f5e6f1a 100644
--- a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/process/traversal.js
+++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/process/traversal.js
@@ -62,6 +62,7 @@ class Traversal {
* @returns {Promise}
*/
iterate() {
+ this.bytecode.addStep('none');
return this._applyStrategies().then(() => {
let it;
while ((it = this._getNext()) && !it.done) {
diff --git a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/traversal-test.js b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/traversal-test.js
index 233488a..af8672f 100644
--- a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/traversal-test.js
+++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/traversal-test.js
@@ -26,6 +26,7 @@ const assert = require('assert');
const expect = require('chai').expect;
const graph = require('../../lib/structure/graph');
const t = require('../../lib/process/traversal');
+const Bytecode = require('../../lib/process/bytecode');
const TraversalStrategies = require('../../lib/process/traversal-strategy').TraversalStrategies;
describe('Traversal', function () {
@@ -185,7 +186,7 @@ describe('Traversal', function () {
};
const strategies = new TraversalStrategies();
strategies.addStrategy(strategyMock);
- const traversal = new t.Traversal(null, strategies, null);
+ const traversal = new t.Traversal(null, strategies, new Bytecode());
return traversal.iterate().then(() => {
assert.strictEqual(applied, true);
});
diff --git a/gremlin-python/glv/TraversalSource.template b/gremlin-python/glv/TraversalSource.template
index a6ab9ad..703c69e 100644
--- a/gremlin-python/glv/TraversalSource.template
+++ b/gremlin-python/glv/TraversalSource.template
@@ -60,6 +60,7 @@ class Traversal(object):
return set(iter(self))
def iterate(self):
+ self.bytecode.add_step("none")
while True:
try: self.nextTraverser()
except StopIteration: return self
diff --git a/gremlin-python/src/main/jython/gremlin_python/process/traversal.py b/gremlin-python/src/main/jython/gremlin_python/process/traversal.py
index 1eb7aab..535a9a9 100644
--- a/gremlin-python/src/main/jython/gremlin_python/process/traversal.py
+++ b/gremlin-python/src/main/jython/gremlin_python/process/traversal.py
@@ -60,6 +60,9 @@ class Traversal(object):
return set(iter(self))
def iterate(self):
+ self.bytecode.add_step("none")
+
+ x = 0
while True:
try: self.nextTraverser()
except StopIteration: return self