lingbin opened a new pull request #2422: Add copy_object() method for HLL 
columns when loading
URL: https://github.com/apache/incubator-doris/pull/2422
 
 
   #2341 
   
   Currently, special treatment is used for HLL types (and OBJECT types).
   When loading data, because there is no need to serialize HLL content
   (the upper layer has already done), we directly save the pointer
   of `HyperLogLog` object in `Slice->data` (at the corresponding `Cell`
   in each `Row`) and make `Slice->size` to be 0. This logic is different
   from when reading the HLL column.  When reading, we need to deserialize
   the HLL object from the `Slice` object. This causes us to have different
   implementations of `copy_row()` when loading and reading.
   
   In the optimization(commit: 177fec8917304e399aa7f3facc4cc4804e72ce8b),
   the logic of `copy_row()` was added before a row can be added into the
   `MemTable`, but the current `copy_row()` treats the `HLL column Cell`
   as a normal Slice object(i.e. will memcpy its data according its size).
   
   So this change adds a `copy_object()` method to `TypeInfo`, which is
   used to copy the HLL column during loading data.
   
   Note: The `row-copy` method should be unified in the future. At that
   time, we can delete the `copy_object()` method.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to