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]
