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]
