| 99 | } |
| 100 | |
| 101 | arrow::Result<std::shared_ptr<Buffer>> BindParameters(FlightClient* client, |
| 102 | const FlightCallOptions& options, |
| 103 | const FlightDescriptor& descriptor, |
| 104 | RecordBatchReader* params) { |
| 105 | ARROW_ASSIGN_OR_RAISE(auto stream, |
| 106 | client->DoPut(options, descriptor, params->schema())); |
| 107 | while (true) { |
| 108 | ARROW_ASSIGN_OR_RAISE(auto batch, params->Next()); |
| 109 | if (!batch) break; |
| 110 | ARROW_RETURN_NOT_OK(stream.writer->WriteRecordBatch(*batch)); |
| 111 | } |
| 112 | ARROW_RETURN_NOT_OK(stream.writer->DoneWriting()); |
| 113 | std::shared_ptr<Buffer> metadata; |
| 114 | ARROW_RETURN_NOT_OK(stream.reader->ReadMetadata(&metadata)); |
| 115 | ARROW_RETURN_NOT_OK(stream.writer->Close()); |
| 116 | return metadata; |
| 117 | } |
| 118 | |
| 119 | } // namespace |
| 120 |
no test coverage detected