| 131 | } |
| 132 | |
| 133 | Status VariantToNode( |
| 134 | const std::shared_ptr<::arrow::extension::VariantExtensionType>& type, |
| 135 | const std::string& name, bool nullable, int field_id, |
| 136 | const WriterProperties& properties, const ArrowWriterProperties& arrow_properties, |
| 137 | NodePtr* out) { |
| 138 | NodePtr metadata_node; |
| 139 | RETURN_NOT_OK(FieldToNode("metadata", type->metadata(), properties, arrow_properties, |
| 140 | &metadata_node)); |
| 141 | |
| 142 | NodePtr value_node; |
| 143 | RETURN_NOT_OK( |
| 144 | FieldToNode("value", type->value(), properties, arrow_properties, &value_node)); |
| 145 | |
| 146 | *out = GroupNode::Make(name, RepetitionFromNullable(nullable), |
| 147 | {std::move(metadata_node), std::move(value_node)}, |
| 148 | LogicalType::Variant(), field_id); |
| 149 | |
| 150 | return Status::OK(); |
| 151 | } |
| 152 | |
| 153 | Status StructToNode(const std::shared_ptr<::arrow::StructType>& type, |
| 154 | const std::string& name, bool nullable, int field_id, |
no test coverage detected