Skip to content

Commit

Permalink
[yt provider] Fix column group calculation for YtCopy (#11435)
Browse files Browse the repository at this point in the history
  • Loading branch information
rvu1024 authored Nov 10, 2024
1 parent 838cda7 commit a7178b2
Showing 1 changed file with 12 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2882,11 +2882,18 @@ class TYtPhysicalFinalizingTransformer : public TSyncTransformerBase {
for (size_t outIndex = 0; outIndex < usage.UsedByMerges.size(); ++outIndex) {
for (auto merge: usage.UsedByMerges[outIndex]) {
const TColumnUsage& mergeUsage = colUsages.at(merge);
usage.FullUsage[outIndex] = usage.FullUsage[outIndex] || mergeUsage.FullUsage.at(0);
usage.PublishUsage[outIndex].insert(mergeUsage.PublishUsage.at(0).cbegin(), mergeUsage.PublishUsage.at(0).cend());
auto& cu = usage.ColumnUsage[outIndex];
for (const auto& p: mergeUsage.ColumnUsage.at(0)) {
cu[p.first].insert(p.second.cbegin(), p.second.cend());
if (TYtCopy::Match(merge)) {
usage.FullUsage[outIndex] = mergeUsage.FullUsage.at(0);
usage.PublishUsage[outIndex] = mergeUsage.PublishUsage.at(0);
usage.ColumnUsage[outIndex] = mergeUsage.ColumnUsage.at(0);
break; // Don't process others. YtCopy enforces exact the same column groups
} else {
usage.FullUsage[outIndex] = usage.FullUsage[outIndex] || mergeUsage.FullUsage.at(0);
usage.PublishUsage[outIndex].insert(mergeUsage.PublishUsage.at(0).cbegin(), mergeUsage.PublishUsage.at(0).cend());
auto& cu = usage.ColumnUsage[outIndex];
for (const auto& p: mergeUsage.ColumnUsage.at(0)) {
cu[p.first].insert(p.second.cbegin(), p.second.cend());
}
}
}
}
Expand Down

0 comments on commit a7178b2

Please sign in to comment.