| 544 | // Schema logic |
| 545 | |
| 546 | ::arrow::Result<std::shared_ptr<ArrowType>> GetTypeForNode( |
| 547 | int column_index, const schema::PrimitiveNode& primitive_node, |
| 548 | SchemaTreeContext* ctx) { |
| 549 | ARROW_ASSIGN_OR_RAISE(std::shared_ptr<ArrowType> storage_type, |
| 550 | GetArrowType(primitive_node, ctx->properties, ctx->metadata)); |
| 551 | if (ctx->properties.read_dictionary(column_index) && |
| 552 | IsDictionaryReadSupported(*storage_type)) { |
| 553 | return ::arrow::dictionary(::arrow::int32(), storage_type); |
| 554 | } |
| 555 | return storage_type; |
| 556 | } |
| 557 | |
| 558 | Status NodeToSchemaField(const Node& node, LevelInfo current_levels, |
| 559 | SchemaTreeContext* ctx, const SchemaField* parent, |
no test coverage detected