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

Method OpenAsync

cpp/src/parquet/file_reader.cc:797–822  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

795}
796
797Future<std::unique_ptr<ParquetFileReader::Contents>>
798ParquetFileReader::Contents::OpenAsync(std::shared_ptr<ArrowInputFile> source,
799 const ReaderProperties& props,
800 std::shared_ptr<FileMetaData> metadata) {
801 BEGIN_PARQUET_CATCH_EXCEPTIONS
802 std::unique_ptr<ParquetFileReader::Contents> result(
803 new SerializedFile(std::move(source), props));
804 SerializedFile* file = static_cast<SerializedFile*>(result.get());
805 if (metadata == nullptr) {
806 // TODO(ARROW-12259): workaround since we have Future<(move-only type)>
807 struct {
808 Result<std::unique_ptr<ParquetFileReader::Contents>> operator()() {
809 return std::move(result);
810 }
811
812 std::unique_ptr<ParquetFileReader::Contents> result;
813 } Continuation;
814 Continuation.result = std::move(result);
815 return file->ParseMetaDataAsync().Then(std::move(Continuation));
816 } else {
817 file->set_metadata(std::move(metadata));
818 return Future<std::unique_ptr<ParquetFileReader::Contents>>::MakeFinished(
819 std::move(result));
820 }
821 END_PARQUET_CATCH_EXCEPTIONS
822}
823
824std::unique_ptr<ParquetFileReader> ParquetFileReader::Open(
825 std::shared_ptr<::arrow::io::RandomAccessFile> source, const ReaderProperties& props,

Callers

nothing calls this directly

Calls 11

ThenMethod · 0.80
ParseMetaDataAsyncMethod · 0.80
set_metadataMethod · 0.80
MoveValueUnsafeMethod · 0.80
MakeFunction · 0.70
getMethod · 0.45
AddCallbackMethod · 0.45
okMethod · 0.45
MarkFinishedMethod · 0.45
statusMethod · 0.45
OpenMethod · 0.45

Tested by

no test coverage detected