Support zero-column operands in cross_join - #23235
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (3)
🚧 Files skipped from review as they are similar to previous changes (3)
📝 WalkthroughSummary by CodeRabbit
WalkthroughCross joins now support zero-column operands while preserving the product of input row counts. Native code validates output-size overflow and passes explicit row counts to table construction. Python cross merges preserve row counts through an explicit index. ChangesCross Join Zero-Column Support
Estimated code review effort: 3 (Moderate) | ~20 minutes Possibly related PRs
Suggested labels: Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
mhaseeb123
left a comment
There was a problem hiding this comment.
Approving C++. Thanks for the contribution
|
/merge |
#23340) If a cudf-polars query raises an exception during execution, it is possible that it can leave a dangling collective that then tears down one process. This is racy because it depends on tasks being cancelled in Python and then dropping C++ objects in a particular order. The one test in the cudf-polars tests suite that could do this is fixed on main, so backport the relevant changes (#23235), and un-xfail the test. Authors: - Lawrence Mitchell (https://github.com/wence-) - Mads R. B. Kristensen (https://github.com/madsbk) Approvers: - Richard (Rick) Zamora (https://github.com/rjzamora) - Matthew Murray (https://github.com/Matt711) - Bradley Dice (https://github.com/bdice) - Vyas Ramasubramani (https://github.com/vyasr) URL: #23340
NVIDIA#23340) If a cudf-polars query raises an exception during execution, it is possible that it can leave a dangling collective that then tears down one process. This is racy because it depends on tasks being cancelled in Python and then dropping C++ objects in a particular order. The one test in the cudf-polars tests suite that could do this is fixed on main, so backport the relevant changes (NVIDIA#23235), and un-xfail the test. Authors: - Lawrence Mitchell (https://github.com/wence-) - Mads R. B. Kristensen (https://github.com/madsbk) Approvers: - Richard (Rick) Zamora (https://github.com/rjzamora) - Matthew Murray (https://github.com/Matt711) - Bradley Dice (https://github.com/bdice) - Vyas Ramasubramani (https://github.com/vyasr) URL: NVIDIA#23340
Description
Previously,
cross_jointhrew"Left table is empty"or"Right table is empty"when either operand had zero columns. Zero-column operands with non-zero row counts are now valid. The result hasleft.num_rows() * right.num_rows()rows andleft.num_columns() + right.num_columns()columns.