in presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/KeyValueSchemaHandler.java [71:91]
public Object deserialize(ByteBuf keyPayload, ByteBuf dataPayload, byte[] schemaVersion) {
Object keyObj;
Object valueObj;
ByteBuf keyByteBuf;
ByteBuf valueByteBuf;
if (Objects.equals(keyValueEncodingType, KeyValueEncodingType.INLINE)) {
dataPayload.resetReaderIndex();
int keyLength = dataPayload.readInt();
keyByteBuf = dataPayload.readSlice(keyLength);
int valueLength = dataPayload.readInt();
valueByteBuf = dataPayload.readSlice(valueLength);
} else {
keyByteBuf = keyPayload;
valueByteBuf = dataPayload;
}
keyObj = keySchemaHandler.deserialize(keyByteBuf, schemaVersion);
valueObj = valueSchemaHandler.deserialize(valueByteBuf, schemaVersion);
return new KeyValue<>(keyObj, valueObj);
}