0.72.0 (2025-05-04)
⚠ BREAKING CHANGES
- direct output order of semi/anti/mark joins no longer
includes invalid side (i.e., right of lefty joins, and left of righty
joins). - single join raises runtime error if there more than one
matching rows to adhere to the original proposed usage (unnesting scalar
subqueries).
Problems
- Semi-joins and anti-joins are one-sided and fields from the other
side of joins are not valid. TheDirect Output Orderin the document
is okay for other types of joins but not in one-side joins. - Single joins are proposed to be used unnesting scalar subqueries
where exactly 1 row is expected. The current documentation citing the
paper and behavior although relaxed the behavior so that the
implementation can silently produce wrong result.
What this PR do?
- Clarify the direct output order by explicitly stating the semi, anti,
and mark joins. IntroducingInput Order(the previousDirect Output Order) so that all the properties referencingInput Orderto reduce
ambiguity. - Single joins expecting at most one row for each join key. Otherwise,
runtime error. This behavior can be extended in the future if such
generalization is justified with correct use cases.