|
1 | 1 | Release Notes |
2 | 2 | --- |
3 | 3 |
|
| 4 | +## [0.72.0](https://github.com/substrait-io/substrait/compare/v0.71.0...v0.72.0) (2025-05-04) |
| 5 | + |
| 6 | +### ⚠ BREAKING CHANGES |
| 7 | + |
| 8 | +* direct output order of semi/anti/mark joins no longer |
| 9 | +includes invalid side (i.e., right of lefty joins, and left of righty |
| 10 | +joins). |
| 11 | +* single join raises runtime error if there more than one |
| 12 | +matching rows to adhere to the original proposed usage (unnesting scalar |
| 13 | +subqueries). |
| 14 | + |
| 15 | +# Problems |
| 16 | + |
| 17 | +1. Semi-joins and anti-joins are one-sided and fields from the other |
| 18 | +side of joins are not valid. The `Direct Output Order` in the document |
| 19 | +is okay for other types of joins but not in one-side joins. |
| 20 | +2. Single joins are proposed to be used unnesting scalar subqueries |
| 21 | +where exactly 1 row is expected. The current documentation citing the |
| 22 | +paper and behavior although relaxed the behavior so that the |
| 23 | +implementation can silently produce wrong result. |
| 24 | + |
| 25 | +# What this PR do? |
| 26 | + |
| 27 | +1. Clarify the direct output order by explicitly stating the semi, anti, |
| 28 | +and mark joins. Introducing `Input Order` (the previous `Direct Output |
| 29 | +Order`) so that all the properties referencing `Input Order` to reduce |
| 30 | +ambiguity. |
| 31 | +2. Single joins expecting at most one row for each join key. Otherwise, |
| 32 | +runtime error. This behavior can be extended in the future if such |
| 33 | +generalization is justified with correct use cases. |
| 34 | + |
| 35 | +### Features |
| 36 | + |
| 37 | +* add description field to types definition in schema ([#811](https://github.com/substrait-io/substrait/issues/811)) ([a4e3a82](https://github.com/substrait-io/substrait/commit/a4e3a82c54a153100ac6c3c9f88add78dc8cd3a8)) |
| 38 | +* clarify behavior and direct output order of joins ([#803](https://github.com/substrait-io/substrait/issues/803)) ([fe3f1c6](https://github.com/substrait-io/substrait/commit/fe3f1c673ebdb54107dd384073de5a5816d94a44)) |
| 39 | + |
4 | 40 | ## [0.71.0](https://github.com/substrait-io/substrait/compare/v0.70.0...v0.71.0) (2025-04-20) |
5 | 41 |
|
6 | 42 | ### ⚠ BREAKING CHANGES |
|
0 commit comments