Haiyu Wang created TINKERPOP-3237:
-------------------------------------

             Summary: 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
             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