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

Function SchemaToFlatbuffer

cpp/src/arrow/ipc/metadata_internal.cc:959–978  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

957}
958
959Status SchemaToFlatbuffer(FBB& fbb, const Schema& schema,
960 const DictionaryFieldMapper& mapper,
961 flatbuffers::Offset<flatbuf::Schema>* out) {
962 std::vector<FieldOffset> field_offsets;
963 FieldPosition pos;
964 for (int i = 0; i < schema.num_fields(); ++i) {
965 FieldOffset offset;
966 FieldToFlatbufferVisitor field_visitor(fbb, mapper, pos.child(i));
967 RETURN_NOT_OK(field_visitor.GetResult(schema.field(i), &offset));
968 field_offsets.push_back(offset);
969 }
970
971 auto fb_offsets = fbb.CreateVector(field_offsets);
972 auto fb_endianness = schema.endianness() == Endianness::Little
973 ? flatbuf::Endianness::Endianness_Little
974 : flatbuf::Endianness::Endianness_Big;
975 *out = flatbuf::CreateSchema(fbb, fb_endianness, fb_offsets,
976 SerializeCustomMetadata(fbb, schema.metadata()));
977 return Status::OK();
978}
979
980Result<std::shared_ptr<Buffer>> WriteFBMessage(
981 FBB& fbb, flatbuf::MessageHeader header_type, flatbuffers::Offset<void> header,

Callers 2

WriteSchemaMessageFunction · 0.85
WriteFileFooterFunction · 0.85

Calls 10

CreateSchemaFunction · 0.85
SerializeCustomMetadataFunction · 0.85
childMethod · 0.80
push_backMethod · 0.80
OKFunction · 0.50
num_fieldsMethod · 0.45
GetResultMethod · 0.45
fieldMethod · 0.45
endiannessMethod · 0.45
metadataMethod · 0.45

Tested by

no test coverage detected