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

Method EncodeBatch

cpp/src/arrow/acero/hash_join_dict.cc:534–553  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

532}
533
534Status HashJoinDictBuildMulti::EncodeBatch(
535 size_t thread_index, const SchemaProjectionMaps<HashJoinProjection>& proj_map,
536 const ExecBatch& batch, RowEncoder* encoder, ExecContext* ctx) const {
537 ExecBatch projected({}, batch.length);
538 int num_cols = proj_map.num_cols(HashJoinProjection::KEY);
539 projected.values.resize(num_cols);
540
541 auto to_input = proj_map.map(HashJoinProjection::KEY, HashJoinProjection::INPUT);
542 for (int icol = 0; icol < num_cols; ++icol) {
543 projected.values[icol] = batch.values[to_input.get(icol)];
544
545 if (needs_remap_[icol]) {
546 ARROW_ASSIGN_OR_RAISE(
547 projected.values[icol],
548 remap_imp_[icol].RemapInput(ctx, projected.values[icol], batch.length,
549 proj_map.data_type(HashJoinProjection::KEY, icol)));
550 }
551 }
552 return encoder->EncodeAndAppend(ExecSpan(projected));
553}
554
555Status HashJoinDictBuildMulti::PostDecode(
556 const SchemaProjectionMaps<HashJoinProjection>& proj_map,

Callers

nothing calls this directly

Calls 11

num_colsMethod · 0.80
resizeMethod · 0.80
mapMethod · 0.80
RemapInputMethod · 0.80
EncodeAndAppendMethod · 0.80
ARROW_ASSIGN_OR_RAISEFunction · 0.70
ExecSpanFunction · 0.50
OKFunction · 0.50
getMethod · 0.45
data_typeMethod · 0.45
ClearMethod · 0.45

Tested by

no test coverage detected