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

Function MakeRowTableFromColumn

cpp/src/arrow/compute/row/row_test.cc:31–62  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

29namespace {
30
31Result<RowTableImpl> MakeRowTableFromColumn(const std::shared_ptr<Array>& column,
32 int64_t num_rows, int row_alignment,
33 int string_alignment) {
34 DCHECK_GE(column->length(), num_rows);
35 MemoryPool* pool = default_memory_pool();
36
37 std::vector<KeyColumnArray> column_arrays;
38 std::vector<Datum> values{column};
39 ExecBatch batch(std::move(values), num_rows);
40 RETURN_NOT_OK(ColumnArraysFromExecBatch(batch, &column_arrays));
41
42 std::vector<KeyColumnMetadata> column_metadatas;
43 RETURN_NOT_OK(ColumnMetadatasFromExecBatch(batch, &column_metadatas));
44 RowTableMetadata table_metadata;
45 table_metadata.FromColumnMetadataVector(column_metadatas, row_alignment,
46 string_alignment);
47
48 RowTableImpl row_table;
49 RETURN_NOT_OK(row_table.Init(pool, table_metadata));
50
51 RowTableEncoder row_encoder;
52 row_encoder.Init(column_metadatas, row_alignment, string_alignment);
53 row_encoder.PrepareEncodeSelected(0, num_rows, column_arrays);
54
55 std::vector<uint16_t> row_ids(num_rows);
56 std::iota(row_ids.begin(), row_ids.end(), 0);
57
58 RETURN_NOT_OK(row_encoder.EncodeSelected(&row_table, static_cast<uint32_t>(num_rows),
59 row_ids.data()));
60
61 return row_table;
62}
63
64} // namespace
65

Callers 1

row_test.ccFile · 0.85

Calls 11

default_memory_poolFunction · 0.85
PrepareEncodeSelectedMethod · 0.80
EncodeSelectedMethod · 0.80
lengthMethod · 0.45
InitMethod · 0.45
beginMethod · 0.45
endMethod · 0.45
dataMethod · 0.45

Tested by

no test coverage detected