Closed Jasmine-ge closed 2 months ago
need revisit the interfaces:
/// only write column data
void Column::flushToSerializer()
{
serializeBinaryBulkPrefix();
serializeBinaryBulk();
serializeBinaryBulkSuffix();
}
/// only read column data
Object[] DataType::readFromDeserializer()
{
deserializeBinaryBulkPrefix();
deserializeBinaryBulk();
deserializeBinaryBulkSuffix();
}
/// write a column
serializer.writeUTF8StringBinary(column.name);
serializer.writeUTF8StringBinary(column.type.name());
column.flushToSerializer(serializer, true);
/// read a column:
String name = deserializer.readUTF8StringBinary();
String type = deserializer.readUTF8StringBinary();
IDataType dataType = DataTypeFactory.get(type, serverContext);
Object[] arr = dataType.readFromDeserializer(rowCnt, deserializer);
column = ColumnFactory.createColumn(name, dataType, arr);
Fix some of the existed problems of nested low_cardinality types. close #50