[ 
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)

Reply via email to