43 std::shared_ptr<Table> inTable;
46 using BackendColumnType =
typename decltype(inTable->column(0))::element_type;
47 if (mBuffer->size() == 0) {
48 std::vector<std::shared_ptr<arrow::Field>> dummyFields{};
49 std::vector<std::shared_ptr<BackendColumnType>> dummyColumns{};
50 auto dummySchema = std::make_shared<arrow::Schema>(dummyFields);
51 return arrow::Table::Make(dummySchema, dummyColumns);
55 std::shared_ptr<io::InputStream> bufferReader = std::make_shared<io::BufferReader>(mBuffer);
57 auto readerResult = ipc::RecordBatchStreamReader::Open(bufferReader);
58 std::vector<std::shared_ptr<RecordBatch>> batches;
59 auto batchReader = readerResult.ValueOrDie();
61 std::shared_ptr<RecordBatch> batch;
62 auto next = batchReader->ReadNext(&batch);
63 if (batch.get() ==
nullptr) {
66 batches.push_back(batch);
69 auto tableResult = Table::FromRecordBatches(batches);
71 return tableResult.ValueOrDie();