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

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

commit 17be1a73f9eb3debb29f0363312c11ac0ae7e752
Merge: a55ed7173b 0ac0710e52
Author: xiazcy <[email protected]>
AuthorDate: Thu Oct 30 15:36:53 2025 -0700

    Merge branch '3.8-dev'

 CHANGELOG.asciidoc                                 |  3 +++
 docs/src/upgrade/release-3.8.x.asciidoc            | 13 ++++++-----
 .../translator/PythonTranslateVisitor.java         |  6 ++++-
 .../language/translator/GremlinTranslatorTest.java |  6 ++---
 .../src/Gremlin.Net/Structure/Element.cs           |  4 ++--
 .../Structure/IO/GraphSON/EdgeDeserializer.cs      |  3 ++-
 .../Structure/IO/GraphSON/VertexDeserializer.cs    |  3 ++-
 .../IO/GraphSON/VertexPropertyDeserializer.cs      |  2 +-
 .../DriverRemoteConnection/GraphTraversalTests.cs  | 26 +++++++++-------------
 .../Structure/IO/GraphSON/GraphSONReaderTests.cs   |  5 +++++
 gremlin-python/build/generate.groovy               |  2 +-
 gremlin-python/docker-compose.yml                  | 10 ++++-----
 .../src/main/python/gremlin_python/statics.py      | 16 ++++++++++++-
 .../gremlin_python/structure/io/graphsonV4.py      |  4 ++--
 .../src/main/python/radish/feature_steps.py        |  6 +++--
 gremlin-python/src/main/python/radish/gremlin.py   | 18 +++++++--------
 .../python/tests/structure/io/test_graphsonV4.py   |  4 ++--
 .../src/main/python/tests/test_statics.py          | 10 ++++-----
 18 files changed, 84 insertions(+), 57 deletions(-)

diff --cc 
gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/language/translator/GremlinTranslatorTest.java
index c42df77556,f1859c7a97..f08355d1a2
--- 
a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/language/translator/GremlinTranslatorTest.java
+++ 
b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/language/translator/GremlinTranslatorTest.java
@@@ -329,28 -328,28 +329,28 @@@ public class GremlinTranslatorTest 
                              "g.with(string0, bigdecimal0)",
                              "g.With(\"x\", (decimal) 1.0)",
                              "g.With(\"x\", 
gremlingo.ParseBigDecimal(\"1.0\"))",
 -                            "g.with('x', 1.0g)",
 +                            "g.with('x', 1.0)",
                              "g.with(\"x\", new BigDecimal(\"1.0\"))",
                              "g.with_(\"x\", 1.0)",
-                             "g.with_('x', 1.0)"},
+                             "g.with_('x', bigdecimal(1.0))"},
                      {"g.with('x', -1.0m)",
                              null,
                              "g.with(string0, bigdecimal0)",
                              "g.With(\"x\", (decimal) -1.0)",
                              "g.With(\"x\", 
gremlingo.ParseBigDecimal(\"-1.0\"))",
 -                            "g.with('x', -1.0g)",
 +                            "g.with('x', -1.0)",
                              "g.with(\"x\", new BigDecimal(\"-1.0\"))",
                              "g.with_(\"x\", -1.0)",
-                             "g.with_('x', -1.0)"},
+                             "g.with_('x', bigdecimal(-1.0))"},
                      {"g.with('x', -1.0M)",
                              "g.with('x', -1.0m)",
                              "g.with(string0, bigdecimal0)",
                              "g.With(\"x\", (decimal) -1.0)",
                              "g.With(\"x\", 
gremlingo.ParseBigDecimal(\"-1.0\"))",
 -                            "g.with('x', -1.0g)",
 +                            "g.with('x', -1.0)",
                              "g.with(\"x\", new BigDecimal(\"-1.0\"))",
                              "g.with_(\"x\", -1.0)",
-                             "g.with_('x', -1.0)"},
+                             "g.with_('x', bigdecimal(-1.0))"},
                      {"g.with('x', 1b)",
                              null,
                              "g.with(string0, byte0)",
diff --cc gremlin-python/docker-compose.yml
index 28bb770e89,9879ae8a0c..7c367138eb
--- a/gremlin-python/docker-compose.yml
+++ b/gremlin-python/docker-compose.yml
@@@ -47,24 -50,29 +47,24 @@@ services
      volumes:
        - ${BUILD_DIR:-./src/main/python}:/python_app
        - 
../gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features:/python_app/gremlin-test/features
 +      - 
../gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary:/python_app/gremlin-test/graphbinary
 +      - 
../gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/structure/io/graphson:/python_app/gremlin-test/graphson
        - ../docker/gremlin-test-server:/python_app/gremlin-test-server
 -      - 
../gremlin-tools/gremlin-socket-server/conf:/python_app/gremlin-socket-server/conf/
 -
      environment:
        - DEBIAN_FRONTEND=noninteractive
 -      - KRB5_CONFIG=./gremlin-test-server/krb5.conf
 -      - KRB5CCNAME=./test-tkt.cc
 -      - GREMLIN_SERVER_URL=ws://gremlin-server-test-python:{}/gremlin
 -      - 
GREMLIN_SERVER_BASIC_AUTH_URL=wss://gremlin-server-test-python:{}/gremlin
 -      - GREMLIN_SERVER_URL_HTTP=http://gremlin-server-test-python:{}/
 -      - 
GREMLIN_SERVER_BASIC_AUTH_URL_HTTP=https://gremlin-server-test-python:{}/
 -      - KRB_HOSTNAME=${KRB_HOSTNAME:-gremlin-server-test}
 -      - GREMLIN_SOCKET_SERVER_URL=ws://gremlin-socket-server-python:{}/gremlin
 -      - 
GREMLIN_SOCKET_SERVER_CONFIG_PATH=/python_app/gremlin-socket-server/conf/test-ws-gremlin.yaml
 +      - GREMLIN_SERVER_URL=http://gremlin-server-test-python:{}/gremlin
 +      - 
GREMLIN_SERVER_BASIC_AUTH_URL=https://gremlin-server-test-python:{}/gremlin
 +      - IO_TEST_DIRECTORY=/python_app/gremlin-test/graphbinary/
 +      - IO_TEST_DIRECTORY_GRAPHSON=/python_app/gremlin-test/graphson/
      working_dir: /python_app
      command: >
 -      bash -c "apt-get update && apt-get -y install libkrb5-dev krb5-user
 -      && echo 'password' | kinit stephen
 -      && klist
 -      && pip install .[test,kerberos]
 +      bash -c "pip install .[test,kerberos]
        && pytest
-       && radish -f dots -e -t -b ./radish ./gremlin-test --tags='not 
DataBigDecimal' --user-data='serializer=application/vnd.graphbinary-v4.0' 
--user-data='bulked=true'
-       && radish -f dots -e -t -b ./radish ./gremlin-test --tags='not 
DataBigDecimal' --user-data='serializer=application/vnd.graphbinary-v4.0' 
--user-data='parameterize=true'
-       && radish -f dots -e -t -b ./radish ./gremlin-test --tags='not 
DataBigDecimal' --user-data='serializer=application/vnd.graphbinary-v4.0'
-       && radish -f dots -e -t -b ./radish ./gremlin-test --tags='not 
DataBigDecimal' --user-data='serializer=application/vnd.gremlin-v4.0+json' 
--user-data='parameterize=true'
-       && radish -f dots -e -t -b ./radish ./gremlin-test --tags='not 
DataBigDecimal' --user-data='serializer=application/vnd.gremlin-v4.0+json';
 -      && radish -f dots -e -t -b ./radish ./gremlin-test 
--user-data='serializer=application/vnd.gremlin-v3.0+json'
 -      && radish -f dots -e -t -b ./radish ./gremlin-test 
--user-data='serializer=application/vnd.graphbinary-v1.0';
++      && radish -f dots -e -t -b ./radish ./gremlin-test 
--user-data='serializer=application/vnd.graphbinary-v4.0' 
--user-data='bulked=true'
++      && radish -f dots -e -t -b ./radish ./gremlin-test 
--user-data='serializer=application/vnd.graphbinary-v4.0' 
--user-data='parameterize=true'
++      && radish -f dots -e -t -b ./radish ./gremlin-test 
--user-data='serializer=application/vnd.graphbinary-v4.0'
++      && radish -f dots -e -t -b ./radish ./gremlin-test 
--user-data='serializer=application/vnd.gremlin-v4.0+json' 
--user-data='parameterize=true'
++      && radish -f dots -e -t -b ./radish ./gremlin-test 
--user-data='serializer=application/vnd.gremlin-v4.0+json';
        EXIT_CODE=$$?; chown -R `stat -c "%u:%g" .` .; exit $$EXIT_CODE"
      depends_on:
        gremlin-server-test-python:
diff --cc 
gremlin-python/src/main/python/gremlin_python/structure/io/graphsonV4.py
index 2962692aac,99ed150dae..44fcf966c1
--- a/gremlin-python/src/main/python/gremlin_python/structure/io/graphsonV4.py
+++ b/gremlin-python/src/main/python/gremlin_python/structure/io/graphsonV4.py
@@@ -29,8 -29,9 +29,8 @@@ from aenum import Enu
  from isodate import parse_duration, duration_isoformat
  
  from gremlin_python import statics
- from gremlin_python.statics import FloatType, BigDecimal, ShortType, IntType, 
LongType, TypeType, DictType, ListType, SetType, SingleByte, SingleChar, 
to_bigdecimal
 -from gremlin_python.statics import FloatType, FunctionType, ShortType, 
IntType, LongType, TypeType, DictType, ListType, \
 -    SetType, SingleByte, ByteBufferType, SingleChar, BigDecimal, bigdecimal
 -from gremlin_python.process.traversal import Binding, Bytecode, Direction, P, 
TextP, Traversal, Traverser, TraversalStrategy, T
++from gremlin_python.statics import FloatType, BigDecimal, ShortType, IntType, 
LongType, TypeType, DictType, ListType, SetType, SingleByte, SingleChar, 
bigdecimal
 +from gremlin_python.process.traversal import Direction, P, TextP, Traversal, 
Traverser, TraversalStrategy, T
  from gremlin_python.structure.graph import Edge, Property, Vertex, 
VertexProperty, Path
  from gremlin_python.structure.io.util import HashableDict, SymbolUtil
  
diff --cc gremlin-python/src/main/python/tests/structure/io/test_graphsonV4.py
index c7e19b870d,e882f5ca67..634b5657fc
--- a/gremlin-python/src/main/python/tests/structure/io/test_graphsonV4.py
+++ b/gremlin-python/src/main/python/tests/structure/io/test_graphsonV4.py
@@@ -151,10 -160,10 +151,10 @@@ class TestGraphSONReader
              "@value": 123456789987654321123456789987654321
          }))
          assert isinstance(x, BigDecimal)
-         assert to_bigdecimal(123456789987654321123456789987654321).value == 
x.value
 -        assert bigdecimal('123456789987654321123456789987654321') == x
++        assert bigdecimal(123456789987654321123456789987654321).value == 
x.value
          ##
          x = self.graphson_reader.read_object(json.dumps({
 -            "@type": "gx:BigInteger",
 +            "@type": "g:BigInteger",
              "@value": 31
          }))
          assert isinstance(x, long)
@@@ -391,9 -430,9 +391,9 @@@ class TestGraphSONWriter
          assert {"@type": "g:Double", "@value": "NaN"} == 
json.loads(self.graphson_writer.write_object(float('nan')))
          assert {"@type": "g:Double", "@value": "Infinity"} == 
json.loads(self.graphson_writer.write_object(float('inf')))
          assert {"@type": "g:Double", "@value": "-Infinity"} == 
json.loads(self.graphson_writer.write_object(float('-inf')))
-         assert {"@type": "g:BigDecimal", "@value": 
"123.456789987654321123456789987654321"} == 
json.loads(self.graphson_writer.write_object(to_bigdecimal("123.456789987654321123456789987654321")))
 -        assert {"@type": "gx:BigDecimal", "@value": 
"123456789987654321123456789987654321"} == 
json.loads(self.graphson_writer.write_object(bigdecimal('123456789987654321123456789987654321')))
 -        assert {"@type": "gx:BigInteger", "@value": 
"123456789987654321123456789987654321"} == 
json.loads(self.graphson_writer.write_object(long(123456789987654321123456789987654321)))
 -        assert {"@type": "gx:BigInteger", "@value": 
"123456789987654321123456789987654321"} == 
json.loads(self.graphson_writer.write_object(123456789987654321123456789987654321))
++        assert {"@type": "g:BigDecimal", "@value": 
"123.456789987654321123456789987654321"} == 
json.loads(self.graphson_writer.write_object(bigdecimal("123.456789987654321123456789987654321")))
 +        assert {"@type": "g:BigInteger", "@value": 
"123456789987654321123456789987654321"} == 
json.loads(self.graphson_writer.write_object(long(123456789987654321123456789987654321)))
 +        assert {"@type": "g:BigInteger", "@value": 
"123456789987654321123456789987654321"} == 
json.loads(self.graphson_writer.write_object(123456789987654321123456789987654321))
          assert """true""" == self.graphson_writer.write_object(True)
  
      def test_enum(self):

Reply via email to