| 997 | } |
| 998 | |
| 999 | std::shared_ptr<Array> RandomArrayGenerator::SparseUnion(const ArrayVector& fields, |
| 1000 | int64_t size, int64_t alignment, |
| 1001 | MemoryPool* memory_pool) { |
| 1002 | DCHECK_GT(fields.size(), 0); |
| 1003 | // Trivial type codes map |
| 1004 | std::vector<UnionArray::type_code_t> type_codes(fields.size()); |
| 1005 | std::iota(type_codes.begin(), type_codes.end(), 0); |
| 1006 | |
| 1007 | // Generate array of type ids |
| 1008 | auto type_ids = Int8(size, 0, static_cast<int8_t>(fields.size() - 1), |
| 1009 | /*null_probability=*/0, alignment, memory_pool); |
| 1010 | return *SparseUnionArray::Make(*type_ids, fields, type_codes); |
| 1011 | } |
| 1012 | |
| 1013 | std::shared_ptr<Array> RandomArrayGenerator::DenseUnion(const ArrayVector& fields, |
| 1014 | int64_t size, int64_t alignment, |
no test coverage detected