[
https://issues.apache.org/jira/browse/TINKERPOP-3237?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18068156#comment-18068156
]
ASF GitHub Bot commented on TINKERPOP-3237:
-------------------------------------------
DR1N0 commented on code in PR #3335:
URL: https://github.com/apache/tinkerpop/pull/3335#discussion_r2985308041
##########
gremlin-go/driver/serializer.go:
##########
@@ -46,6 +46,15 @@ type GraphBinarySerializer struct {
// CustomTypeReader user provided function to deserialize custom types
type CustomTypeReader func(data *[]byte, i *int) (interface{}, error)
+// CustomTypeWriter user provided function to serialize custom types
+type CustomTypeWriter func(value interface{}, buffer *bytes.Buffer) error
Review Comment:
good design, code updated
> Add Custom Type Writer/Serializer API for gremlin-go
> ----------------------------------------------------
>
> Key: TINKERPOP-3237
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3237
> Project: TinkerPop
> Issue Type: Improvement
> Components: go
> Affects Versions: 3.8.0
> Reporter: Haiyu Wang
> Priority: Major
> Fix For: 3.8.1
>
>
> ## Problem
>
> Currently, gremlin-go supports deserializing custom types via
> `RegisterCustomTypeReader()`, but lacks the corresponding functionality to
> serialize custom types when sending requests to the server. This creates an
> asymmetry where users can read custom types from server responses but cannot
> write them in requests.
> **The Java driver already has complete custom type support** through
> `CustomTypeSerializer` in `GraphBinaryWriter.java` and
> `GraphBinaryReader.java`. This gap prevents gremlin-go users from working
> with custom types in graph databases like JanusGraph, which use custom types
> such as `RelationIdentifier`, `Geoshape`, etc.
> ## Current State
> - **Java driver**: ✅ Custom Type Reader + ✅ Custom Type Writer
> - **gremlin-go**: ✅ Custom Type Reader + ❌ Custom Type Writer (incomplete)
> ## Proposed Solution
> Add a `RegisterCustomTypeWriter()` API that mirrors the existing
> `CustomTypeReader` pattern and implements the same GraphBinary custom type
> format used by the Java driver.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)