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

Function SetupSchema

cpp/examples/parquet/low_level_api/reader_writer.h:31–70  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

29constexpr int FIXED_LENGTH = 10;
30
31static std::shared_ptr<GroupNode> SetupSchema() {
32 parquet::schema::NodeVector fields;
33 // Create a primitive node named 'boolean_field' with type:BOOLEAN,
34 // repetition:REQUIRED
35 fields.push_back(PrimitiveNode::Make("boolean_field", Repetition::REQUIRED,
36 Type::BOOLEAN, ConvertedType::NONE));
37
38 // Create a primitive node named 'int32_field' with type:INT32, repetition:REQUIRED,
39 // logical type:TIME_MILLIS
40 fields.push_back(PrimitiveNode::Make("int32_field", Repetition::REQUIRED, Type::INT32,
41 ConvertedType::TIME_MILLIS));
42
43 // Create a primitive node named 'int64_field' with type:INT64, repetition:REPEATED
44 fields.push_back(PrimitiveNode::Make("int64_field", Repetition::REPEATED, Type::INT64,
45 ConvertedType::NONE));
46
47 fields.push_back(PrimitiveNode::Make("int96_field", Repetition::REQUIRED, Type::INT96,
48 ConvertedType::NONE));
49
50 fields.push_back(PrimitiveNode::Make("float_field", Repetition::REQUIRED, Type::FLOAT,
51 ConvertedType::NONE));
52
53 fields.push_back(PrimitiveNode::Make("double_field", Repetition::REQUIRED, Type::DOUBLE,
54 ConvertedType::NONE));
55
56 // Create a primitive node named 'ba_field' with type:BYTE_ARRAY, repetition:OPTIONAL
57 fields.push_back(PrimitiveNode::Make("ba_field", Repetition::OPTIONAL, Type::BYTE_ARRAY,
58 ConvertedType::NONE));
59
60 // Create a primitive node named 'flba_field' with type:FIXED_LEN_BYTE_ARRAY,
61 // repetition:REQUIRED, field_length = FIXED_LENGTH
62 fields.push_back(PrimitiveNode::Make("flba_field", Repetition::REQUIRED,
63 Type::FIXED_LEN_BYTE_ARRAY, ConvertedType::NONE,
64 FIXED_LENGTH));
65
66 // Create a GroupNode named 'schema' using the primitive nodes defined above
67 // This GroupNode is the root node of the schema tree
68 return std::static_pointer_cast<GroupNode>(
69 GroupNode::Make("schema", Repetition::REQUIRED, fields));
70}

Callers 3

mainFunction · 0.70
mainFunction · 0.70
mainFunction · 0.70

Calls 2

push_backMethod · 0.80
MakeFunction · 0.50

Tested by

no test coverage detected