You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
10.x: value set Union and Remove over a NULL operand project a value instead of NULL (port of #360) #395
The same defect as #360, on release/10.x. A value set Union (array_cat) and Remove (array_remove) are declared NULL exactly when an operand is NULL, but neither function is strict. So a projection returns the other operand where a filter (… == null) selects the row: r.MaybeTags.Union(o) projects {z} for a NULL MaybeTags, and r.Tags.Remove(r.Label) projects Tags unchanged for a NULL Label. Filters agree with rule (c); only projections differ.
Measured 2026-10-24 on release/10.x (9af5842), PostgreSQL 16, on EF Core 10.0.0 and on 10.0.13 with Npgsql 10.0.3: identical on both, and identical to main.
Change
Cherry-pick the #360 fix with -x once it is on main, with a regression test of its own (the composition sweeps that cover it on main are not on this line). Remove the known-difference entry from docs/efcore.md#what-runs-where that 10.2.0 adds (#397).
Release
silent: one row under ### Changed answers in the 10.x minor it ships in. Fixed only on release/10.x, so close it by hand.
#360 is fixed on main (PR #443, merged). The port is PR #445 against release/10.x: the same translator change, with ValueSetNullOperandParityTests as this line's regression test (it fails with the fix reverted), a ### Changed answers row under [10.3.0], a new ## Changed answers in 10.3.0 migration section, and the 10.2.0 known-difference entry removed. Full 10.x integration suite passes on PostgreSQL 16 (302). Close this by hand once #445 merges.
Activity
CaffeinatedCoder commentedon Oct 25, 2026
Scheduled for 10.3.0 (#408), on condition that the
mainfix lands first. Otherwise it moves to the next 10.x minor.CaffeinatedCoder commentedon Oct 25, 2026
#360 is fixed on
main(PR #443, merged). The port is PR #445 againstrelease/10.x: the same translator change, withValueSetNullOperandParityTestsas this line's regression test (it fails with the fix reverted), a### Changed answersrow under[10.3.0], a new## Changed answers in 10.3.0migration section, and the 10.2.0 known-difference entry removed. Full 10.x integration suite passes on PostgreSQL 16 (302). Close this by hand once #445 merges.Merge pull request #445 from CaffeinatedCoder/fix/395-value-set-null-…
CaffeinatedCoder commentedon Oct 25, 2026
Fixed on
release/10.xby PR #445 (merged as 930475a), shipping in 10.3.0. Closed by hand, sinceCloses #nacts only onmain.