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

Method DecodeVaryingLengthBuffers

cpp/src/arrow/compute/row/encode_internal.cc:124–145  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

122}
123
124void RowTableEncoder::DecodeVaryingLengthBuffers(
125 int64_t start_row_input, int64_t start_row_output, int64_t num_rows,
126 const RowTableImpl& rows, std::vector<KeyColumnArray>* cols, int64_t hardware_flags,
127 util::TempVectorStack* temp_stack) {
128 // Prepare column array vectors
129 PrepareKeyColumnArrays(start_row_output, num_rows, *cols);
130
131 LightContext ctx;
132 ctx.hardware_flags = hardware_flags;
133 ctx.stack = temp_stack;
134
135 bool is_row_fixed_length = row_metadata_.is_fixed_length;
136 if (!is_row_fixed_length) {
137 for (size_t i = 0; i < batch_varbinary_cols_.size(); ++i) {
138 // Memcpy varbinary fields into precomputed in the previous step
139 // positions in the output row buffer.
140 EncoderVarBinary::Decode(static_cast<uint32_t>(start_row_input),
141 static_cast<uint32_t>(num_rows), static_cast<uint32_t>(i),
142 rows, &batch_varbinary_cols_[i], &ctx);
143 }
144 }
145}
146
147void RowTableEncoder::PrepareEncodeSelected(int64_t start_row, int64_t num_rows,
148 const std::vector<KeyColumnArray>& cols) {

Callers 1

GetUniquesMethod · 0.80

Calls 2

DecodeFunction · 0.70
sizeMethod · 0.45

Tested by

no test coverage detected