Cole-Greer commented on code in PR #3683:
URL: https://github.com/apache/tinkerpop/pull/3683#discussion_r4107571174


##########
docs/src/reference/gremlin-variants.asciidoc:
##########
@@ -3183,21 +3183,36 @@ anchor:gremlin-net-limitations[]
 [[gremlin-dotnet-limitations]]
 === Limitations
 
+Several Gremlin types have a wider domain than their closest C# counterparts. 
When the server returns a value
+that falls outside the C# range, the outcome depends on the type. In most 
cases Gremlin.Net raises an exception
+as it deserializes the response, so the error surfaces on the client at the 
point the result is read. The one
+exception is a character outside the Basic Multilingual Plane, which is 
reconstructed incorrectly without any
+error.
+
 * The `subgraph()`-step returns a detached `Graph` data container exposing
 `Vertices: IDictionary<object, Vertex>` and `Edges: IDictionary<object, 
Edge>`. The result is not a live `Graph`
 instance: mutating the collections has no effect on the source graph, and it 
cannot be passed to
 `traversal().with(...)`. To re-query subgraph elements against the original 
graph, extract their `Id` and use
 `g.V(id)` / `g.E(id)` on the original `GraphTraversalSource`.
-* `DateTimeOffset` cannot represent the extreme values of Gremlin's 
`OffsetDateTime` maximum and minimum,
-so offset date-time values at those boundaries will fail to deserialize.
-* Gremlin's `Duration` type has a much larger range than C#'s `TimeSpan`, so 
extreme duration values (such as
-`Duration.FOREVER`) that exceed `TimeSpan.MaxValue` or `TimeSpan.MinValue` 
will fail to deserialize.
+* C#'s `DateTimeOffset` accepts offsets only in the range `-14:00` to `+14:00` 
and years from 1 to 9999, while

Review Comment:
   Both the DateTime and Duration entries here cover the range limitation 
accurately, but there is also a precision limitation when converting from 
gremlin types to dotnet. Gremlin uses nanosecond precision for both types, 
while dotnet is limited to 100ns "ticks". These types are truncated upon 
deserialization (`00.123456789s` -> `00.1234567s`)



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to