MCPcopy Create free account
hub / github.com/apache/arrow / FromParquet

Method FromParquet

cpp/src/parquet/schema.cc:417–442  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

415// Node construction from Parquet metadata
416
417std::unique_ptr<Node> GroupNode::FromParquet(const void* opaque_element,
418 NodeVector fields) {
419 const format::SchemaElement* element =
420 static_cast<const format::SchemaElement*>(opaque_element);
421
422 int field_id = -1;
423 if (element->__isset.field_id) {
424 field_id = element->field_id;
425 }
426
427 std::unique_ptr<GroupNode> group_node;
428 if (element->__isset.logicalType) {
429 // updated writer with logical type present
430 group_node = std::unique_ptr<GroupNode>(
431 new GroupNode(element->name, LoadEnumSafe(&element->repetition_type), fields,
432 LogicalType::FromThrift(element->logicalType), field_id));
433 } else {
434 group_node = std::unique_ptr<GroupNode>(new GroupNode(
435 element->name, LoadEnumSafe(&element->repetition_type), fields,
436 (element->__isset.converted_type ? LoadEnumSafe(&element->converted_type)
437 : ConvertedType::NONE),
438 field_id));
439 }
440
441 return std::unique_ptr<Node>(group_node.release());
442}
443
444std::unique_ptr<Node> PrimitiveNode::FromParquet(const void* opaque_element) {
445 const format::SchemaElement* element =

Callers

nothing calls this directly

Calls 4

LoadEnumSafeFunction · 0.85
FromThriftFunction · 0.85
MakeFunction · 0.70
releaseMethod · 0.45

Tested by

no test coverage detected