Skip to content

test: register #349 and #350 as ExecutedQueryTests candidates - #352

Open
CaffeinatedCoder wants to merge 1 commit into
mainfrom
test/349-350-bound-null-candidates
Open

CaffeinatedCoder wants to merge 1 commit into
mainfrom
test/349-350-bound-null-candidates

Conversation

@CaffeinatedCoder

Copy link
Copy Markdown
Owner

Refs #349
Refs #350
Closes #351

Problem

#349 and #350 were found by a consumer's differential probe (AuditOffice, 2026-10-23), not by an oracle here. Nothing in ExecutedQueryTests compared LowerBound() or UpperBound() with null inside a query, nothing ran a range predicate over a nullable range column, and no claim quoted the docs/efcore.md sentence #349 contradicts. So neither fix would be proven by the suite, and nothing would force the registry entries out when the fixes land. These are candidates, not fixes, which is why the PR refers to #349 and #350 rather than closing them; it closes its own tracking issue, #351.

Change

Tests

All runs were local against Docker on SDK 11.0.100-rc.2.26504.105, with ExecutedQueryTests run as a class.

Not covered here:

🤖 Generated with Claude Code

Two sweeps in ExecutedQueryTests now end in Candidates.Verdict, compared with
LINQ over the rows as loaded. BoundsComparedWithNull runs LowerBound() and
UpperBound() against null, HasValue, ?? in a filter and a projection, and a
filter on a projected bound over nine shapes in thirteen range columns; all 117
(operation, column) pairs disagree today, one candidate per operation under
#349. PredicatesOverANullableColumn runs the twelve predicates of #350 over a
nullable DateRange column holding NULL and every shape, one line per row, so
only the NULL row is quarantined; one candidate per operation under #350.

E70 quotes the bound-null sentence of docs/efcore.md, held by ExecutedQueryTests.

With argumentsPropagateNullability: [false] in BoundFunction applied locally,
the nine #349 candidates report candidate fixed and nothing else fails; the fix
is a separate PR.

Closes #351

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/ranges Range unions, variants and the shape engines package/efcore Affects CodoMetis.ValueRanges.EFCore.PostgreSQL package/efcore-nodatime Affects CodoMetis.ValueRanges.EFCore.PostgreSQL.NodaTime tests Adds or changes tests only (oracles, harnesses); no library code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Register #349 and #350 as candidates in ExecutedQueryTests, and claim the bound-null sentence of docs/efcore.md

1 participant