| 1821 | } |
| 1822 | |
| 1823 | std::shared_ptr<Scalar> MakeUnionScalar(const SparseUnionType& type, int8_t type_code, |
| 1824 | std::shared_ptr<Scalar> field_value, |
| 1825 | int field_index) { |
| 1826 | ScalarVector field_values; |
| 1827 | for (int i = 0; i < type.num_fields(); ++i) { |
| 1828 | if (i == field_index) { |
| 1829 | field_values.emplace_back(std::move(field_value)); |
| 1830 | } else { |
| 1831 | field_values.emplace_back(MakeNullScalar(type.field(i)->type())); |
| 1832 | } |
| 1833 | } |
| 1834 | return std::make_shared<SparseUnionScalar>(std::move(field_values), type_code, |
| 1835 | type.GetSharedPtr()); |
| 1836 | } |
| 1837 | |
| 1838 | std::shared_ptr<Scalar> MakeUnionScalar(const SparseUnionType& type, |
| 1839 | std::shared_ptr<Scalar> field_value, |
no test coverage detected