Cole-Greer commented on code in PR #3683: URL: https://github.com/apache/tinkerpop/pull/3683#discussion_r4107673015
########## 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: There is one other weird case with `DateTimeOffset` in .Net, the offset is specified in whole minutes, while Java and GraphBinary specify the offset as a number of seconds. It appears that datetimes with a sub-minute precision offset currently throw an `ArgumentException` when attempting to deserialize in .Net. We should document this for now, it's probably worth a JIRA to intercept this and truncate the seconds portion of the offset. -- 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]
