public Object deserialize()

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);
    }