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

Function CollectColumnMetadata

r/src/table.cpp:197–217  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

195}
196
197cpp11::writable::list CollectColumnMetadata(SEXP lst, int num_fields) {
198 // Preallocate for the lambda to fill in
199 cpp11::writable::list metadata_columns(num_fields);
200
201 cpp11::writable::strings metadata_columns_names(num_fields);
202
203 auto extract_one_metadata = [&metadata_columns, &metadata_columns_names](
204 int j, SEXP x, std::string name) {
205 metadata_columns_names[j] = name;
206
207 // no metadata for arrow R6 objects
208 if (Rf_inherits(x, "ArrowObject")) {
209 return;
210 }
211 metadata_columns[j] = arrow_attributes(x, false);
212 };
213 arrow::r::TraverseDots(lst, num_fields, extract_one_metadata);
214
215 metadata_columns.names() = metadata_columns_names;
216 return metadata_columns;
217}
218
219arrow::Status AddMetadataFromDots(SEXP lst, int num_fields,
220 std::shared_ptr<arrow::Schema>& schema) {

Callers 1

AddMetadataFromDotsFunction · 0.85

Calls 2

arrow_attributesFunction · 0.85
TraverseDotsFunction · 0.85

Tested by

no test coverage detected