| 613 | const auto kFlatNamespaceIsDirectoryMetadataKey = "is_directory"; |
| 614 | |
| 615 | bool MetadataIndicatesIsDirectory(const Storage::Metadata& metadata) { |
| 616 | // Inspired by |
| 617 | // https://github.com/Azure/azure-sdk-for-cpp/blob/12407e8bfcb9bc1aa43b253c1d0ec93bf795ae3b/sdk/storage/azure-storage-files-datalake/src/datalake_utilities.cpp#L86-L91 |
| 618 | auto hierarchical_directory_metadata = |
| 619 | metadata.find(kHierarchicalNamespaceIsDirectoryMetadataKey); |
| 620 | if (hierarchical_directory_metadata != metadata.end()) { |
| 621 | return hierarchical_directory_metadata->second == "true"; |
| 622 | } |
| 623 | auto flat_directory_metadata = metadata.find(kFlatNamespaceIsDirectoryMetadataKey); |
| 624 | return flat_directory_metadata != metadata.end() && |
| 625 | flat_directory_metadata->second == "true"; |
| 626 | } |
| 627 | |
| 628 | template <typename ArrowType> |
| 629 | std::string FormatValue(typename TypeTraits<ArrowType>::CType value) { |