@Override
    public Map<String, DataType> listReadableMetadata() {
        final Map<String, DataType> allMetadataMap = new LinkedHashMap<>();

        // add value format metadata with prefix
        decodingFormatForReadingMetadata
                .listReadableMetadata()
                .forEach((key, value) -> allMetadataMap.put(FORMAT_METADATA_PREFIX + key, value));
        // add connector metadata
        Stream.of(PulsarReadableMetadata.ReadableMetadata.values())
                .forEachOrdered(m -> allMetadataMap.putIfAbsent(m.key, m.dataType));

        return allMetadataMap;
    }
According to convention, the order of the final row must be PHYSICAL + FORMAT METADATA +
CONNECTOR METADATA where the format metadata has the highest precedence.

@return
inlong-sort/sort-flink/sort-flink-v1.15/sort-connectors/pulsar/src/main/java/org/apache/inlong/sort/pulsar/table/PulsarTableSource.java