| 170 | } |
| 171 | |
| 172 | Status ColumnMetadatasFromExecBatch(const ExecBatch& batch, |
| 173 | std::vector<KeyColumnMetadata>* column_metadatas) { |
| 174 | int num_columns = static_cast<int>(batch.values.size()); |
| 175 | column_metadatas->resize(num_columns); |
| 176 | for (int i = 0; i < num_columns; ++i) { |
| 177 | const Datum& data = batch.values[i]; |
| 178 | ARROW_DCHECK(data.is_array()); |
| 179 | const std::shared_ptr<ArrayData>& array_data = data.array(); |
| 180 | ARROW_ASSIGN_OR_RAISE((*column_metadatas)[i], |
| 181 | ColumnMetadataFromDataType(array_data->type)); |
| 182 | } |
| 183 | return Status::OK(); |
| 184 | } |
| 185 | |
| 186 | Status ColumnArraysFromExecBatch(const ExecBatch& batch, int64_t start_row, |
| 187 | int64_t num_rows, |