MCPcopy Create free account
hub / github.com/apache/arrow / IsSupportedParquetFile

Function IsSupportedParquetFile

cpp/src/arrow/dataset/file_parquet.cc:346–364  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

344}
345
346Result<bool> IsSupportedParquetFile(const ParquetFileFormat& format,
347 const FileSource& source) {
348 BEGIN_PARQUET_CATCH_EXCEPTIONS
349 try {
350 ARROW_ASSIGN_OR_RAISE(auto input, source.Open());
351 ARROW_ASSIGN_OR_RAISE(
352 auto parquet_scan_options,
353 GetFragmentScanOptions<ParquetFragmentScanOptions>(
354 kParquetTypeName, nullptr, format.default_fragment_scan_options));
355 auto reader = parquet::ParquetFileReader::Open(
356 std::move(input), MakeReaderProperties(format, parquet_scan_options.get()));
357 std::shared_ptr<parquet::FileMetaData> metadata = reader->metadata();
358 return metadata != nullptr && metadata->can_decompress();
359 } catch (const ::parquet::ParquetInvalidOrCorruptedFileException& e) {
360 ARROW_UNUSED(e);
361 return false;
362 }
363 END_PARQUET_CATCH_EXCEPTIONS
364}
365
366} // namespace
367

Callers 1

IsSupportedMethod · 0.85

Calls 4

MakeReaderPropertiesFunction · 0.85
can_decompressMethod · 0.80
getMethod · 0.45
metadataMethod · 0.45

Tested by

no test coverage detected