You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Vyacheslav Koptilin (Jira)" <ji...@apache.org> on 2021/12/07 12:25:00 UTC

[jira] [Updated] (IGNITE-15978) Support binary HANLDEs by BinaryObjectBuilder

     [ https://issues.apache.org/jira/browse/IGNITE-15978?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Vyacheslav Koptilin updated IGNITE-15978:
-----------------------------------------
    Fix Version/s: 2.13

> Support binary HANLDEs by BinaryObjectBuilder
> ---------------------------------------------
>
>                 Key: IGNITE-15978
>                 URL: https://issues.apache.org/jira/browse/IGNITE-15978
>             Project: Ignite
>          Issue Type: Improvement
>          Components: sql
>            Reporter: Vladimir Ermakov
>            Assignee: Vladimir Ermakov
>            Priority: Major
>             Fix For: 2.13
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> We have to support binary HANLDEs by BinaryObjectBuilder.
> Now, the binary object is created by marshaling the java object may contain filed that is represented by the HANDLE (reference) to the other member of the upper object.e.g.
>  
> {code:java}
> class MyClass {
>    List<Value> lst0;
>    List<Value> lst1;
> }
> MyClass var = new MyClass();
> var.lst0 = ...;
> var.lst1 = lst0; // Will be serialized as the HANDLE with offset that refers to the lst0 {code}
> But the same layout of the binary object cannot be built by BinaryObjectBuilder.e.g.:
> {code:java}
> BinaryObjectBuilder bob = builder("MyClass");
> List<Value> lst = ...;
> bob.setField("lst0", lst);
> bob.setField("lst1", lst);
> BinaryObject bo = bob.build(); // Binary object will not contain HANDLE. The collections will be marshaled independently, {code}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)