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

Method OpenAsync

cpp/src/parquet/file_reader.cc:793–818  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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