Skip to content

10.x: read a YearMonthRange upper bound in a query as the first day of its month (port of #506) #511

Closed

Description

@CaffeinatedCoder

Problem

On main, PR #509 makes a query read a YearMonthRange upper bound as the first day of its month (#506). On release/10.x, UpperBound() and Clamp still read the last day. So in a filter, UpperBound() == month is false and > month is true for a range ending in that month.

Change

Cherry-pick PR #509's commits with -x into a PR against release/10.x: CoarseUpperBound and its YearMonth registration, CoarseUpper, the ClampDomainParityTests comparisons, YearMonthBoundParityTests, the infinity-disabled test, the translation asserts, the oracle, both seeds and claim E88.

  • 10.x specifics: the changelog row goes under ### Changed answers in [10.4.0] (root and EF Core NodaTime), linking this issue and #changed-answers-in-1040. docs/migration.md gets Check YearMonthRange upper bounds compared in queries under ## Changed answers in 10.4.0. pr-hygiene.sh requires both for a silent PR into a minor.

Done when

On release/10.x, the tests pass on the EF Core 10.0.0 floor and on CI's newest-patch leg, they fail with the fix reverted, and both seeds are caught.

Release

### Changed answers in 10.4.0. Fixed only on release/10.x, so close it by hand.

Activity

  1. added this to the 10.4.0 milestone on Oct 26, 2026
  2. added
    bugSomething isn't working
    silentAnswers wrongly without throwing — fixes go in the next major, never deferred
    area/rangesRange unions, variants and the shape engines
    area/range-setRangeSet and multirange algebra
    package/efcoreAffects CodoMetis.ValueRanges.EFCore.PostgreSQL
    on Oct 26, 2026
  3. added a commit that references this issue on Oct 26, 2026
  4. CaffeinatedCoder commented on Oct 26, 2026

    @CaffeinatedCoder
    OwnerAuthor

    Fixed on release/10.x by #515 (merged as 43809c2). Closed by hand because Closes only acts on main.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/range-setRangeSet and multirange algebraarea/rangesRange unions, variants and the shape enginesbugSomething isn't workingpackage/efcoreAffects CodoMetis.ValueRanges.EFCore.PostgreSQLpackage/efcore-nodatimeAffects CodoMetis.ValueRanges.EFCore.PostgreSQL.NodaTimeseverity/mediumInconsistency or failure in a narrow scenariosilentAnswers wrongly without throwing — fixes go in the next major, never deferred

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions