| 1095 | } |
| 1096 | |
| 1097 | Status OnRecordBatchMessageDecoded(std::unique_ptr<Message> message) { |
| 1098 | if (message->type() == MessageType::DICTIONARY_BATCH) { |
| 1099 | return ReadDictionary(*message); |
| 1100 | } else { |
| 1101 | CHECK_HAS_BODY(*message); |
| 1102 | ARROW_ASSIGN_OR_RAISE(auto reader, Buffer::GetReader(message->body())); |
| 1103 | IpcReadContext context(&dictionary_memo_, options_, swap_endian_); |
| 1104 | ARROW_ASSIGN_OR_RAISE( |
| 1105 | auto batch_with_metadata, |
| 1106 | ReadRecordBatchInternal(*message->metadata(), schema_, field_inclusion_mask_, |
| 1107 | context, reader.get())); |
| 1108 | ++stats_.num_record_batches; |
| 1109 | return listener_->OnRecordBatchWithMetadataDecoded(batch_with_metadata); |
| 1110 | } |
| 1111 | } |
| 1112 | |
| 1113 | // Read dictionary from dictionary batch |
| 1114 | Status ReadDictionary(const Message& message) { |
nothing calls this directly
no test coverage detected