Repository navigation
docs: what-runs-where omits Equals, RangeSet.Count, the indexers, Values, Parse/ToString and the NodaTime conversions (found by #384) #399
Copy link
Copy link
Closed
Labels
area/range-setRangeSet and multirange algebraRangeSet and multirange algebraarea/rangesRange unions, variants and the shape enginesRange unions, variants and the shape enginesarea/value-setsValue set families and wrapper aritiesValue set families and wrapper aritiesdocumentationImprovements or additions to documentationImprovements or additions to documentationpackage/efcoreAffects CodoMetis.ValueRanges.EFCore.PostgreSQLAffects CodoMetis.ValueRanges.EFCore.PostgreSQLpackage/efcore-nodatimeAffects CodoMetis.ValueRanges.EFCore.PostgreSQL.NodaTimeAffects CodoMetis.ValueRanges.EFCore.PostgreSQL.NodaTime
Milestone
Description
Problem
docs/efcore.md#what-runs-where says its two tables "are the whole picture". The translation-support inventory (#384, PR #386) found public query members in neither table. Each one runs where the inventory says, and the answers are right; the docs just don't say where they run. Measured on main (EF Core 11 RC2) and on release/10.x (EF Core 10.0.0 and 10.0.13), PostgreSQL 16, with identical results:
- Runs as SQL, not listed:
Equals(T)andEquals(object)on ranges,RangeSetand value sets. EF Core translates them as=, which the table documents only for==/!=. - Runs in memory only, not listed:
RangeSet.Count(the number of disjoint ranges), theRangeSetindexer, a value set'sValues,GetEnumerator,From,Parse,ToString,GetHashCode, and the NodaTime conversionsToDateInterval,ToInterval,ToInstantRange,ToLocalDateRangeandToYearMonthRange.RangeLowerBoundComparer.Compareis the exception: it runs as SQL wrongly (RangeLowerBoundComparer.Compare runs as SQL in the range order: EF Core rewrites any Compare(a, b) to the natural comparison #385), and 10.2.0 documents it under known differences (10.x: docs: name the two known differences 10.2.0 ships with — value set Union/Remove over NULL (#360) and RangeLowerBoundComparer in a query (#385) #397). - The calendar factories (
Month,Quarter,Year,IsoWeekwith a column argument) are "not translated yet". Correction 2026-10-25: Translate the calendar factories when they read a column #191 does track them, so the row was right and the inventory should classify themplannedwith Translate the calendar factories when they read a column #191. The row keeps "yet" and now links Translate the calendar factories when they read a column #191.
Change
- Add the members above to the two tables (or a "Good to know" line for the ones a query has no reason to call, such as
GetHashCodeandGetEnumerator). - For the calendar factories, keep "not translated yet" and link Translate the calendar factories when they read a column #191.
mainfirst, then a cherry-pick torelease/10.x.translation-support.json's reasons that say "not in docs/efcore.md#what-runs-where" follow the new text.
Release
Docs only. A Docs: row under ### Fixed in the release it ships in.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
area/range-setRangeSet and multirange algebraRangeSet and multirange algebraarea/rangesRange unions, variants and the shape enginesRange unions, variants and the shape enginesarea/value-setsValue set families and wrapper aritiesValue set families and wrapper aritiesdocumentationImprovements or additions to documentationImprovements or additions to documentationpackage/efcoreAffects CodoMetis.ValueRanges.EFCore.PostgreSQLAffects CodoMetis.ValueRanges.EFCore.PostgreSQLpackage/efcore-nodatimeAffects CodoMetis.ValueRanges.EFCore.PostgreSQL.NodaTimeAffects CodoMetis.ValueRanges.EFCore.PostgreSQL.NodaTime
Activity
docs: keep the calendar factories "not translated yet", linking #191 (#…
docs: keep the calendar factories "not translated yet", linking #191 (#…
docs: resolve the merge of #399's calendar fix, committed with confli…
docs: resolve the merge of #399's calendar fix, committed with confli…
Merge pull request #400 from CaffeinatedCoder/docs/399-what-runs-where
Merge pull request #401 from CaffeinatedCoder/docs/399-what-runs-wher…
test: follow #399 and #402 in the translation-support reasons, and pl…