[
https://issues.apache.org/jira/browse/IGNITE-15784?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrey Mashenkov updated IGNITE-15784:
--------------------------------------
Fix Version/s: 3.0.0-alpha4
> Support mapping a field of arbitrary type to a byte[] column.
> -------------------------------------------------------------
>
> Key: IGNITE-15784
> URL: https://issues.apache.org/jira/browse/IGNITE-15784
> Project: Ignite
> Issue Type: Improvement
> Components: sql
> Reporter: Andrey Mashenkov
> Assignee: Andrey Mashenkov
> Priority: Major
> Labels: ignite-3
> Fix For: 3.0.0-alpha4
>
> Time Spent: 40m
> Remaining Estimate: 0h
>
> h3. Motivation.
> A user may want to store an arbitrary user object in serialized form.
> To achieve this a user has to implement a custom serializer for the objects
> and use it explicitly, and
> use additional classes with byte[] fields or byte[] fields in his classes for
> the correct column mapping.
> The most simple way is to use Java serialization, but this approach is
> platform-dependent.
> h3. Description.
> We can provide support mapping for an object of arbitrary type to the BYTES
> column via adding transparent object serialization to bytes (and back) for
> that case.
> We may introduce an interceptor component that will transform an object
> before writing/after reading.
> And as a first step, implement a simple transformer that uses Java
> serialization for PoC purposes.
> As further tickets, we can extend this solution to
> * convert field of arbitrary type to any column type.
> * replace Java serialization with the cross-platform format and store an
> object along with its schema. (MessagePack or smth like???)
> * add JSON/BSON format support.
> * provide a public API to support any custom format. (in this case, we may
> want to validate interceptor in-out data types against the column type)
--
This message was sent by Atlassian Jira
(v8.20.1#820001)