Repository navigation
Route B, step 3: literal corpus × entry point against PostgreSQL #123
Description
Problem
test/oracles/axes.md lists, under "Literals and JSON" → "Pairs no test varies", literal corpus × entry point against PostgreSQL on the same text. LiteralGrammarParityTests asks the server about three corpus families (quoted, escaped and whitespace bounds) through TryParse only. The rest of the corpus — inverted bounds, equal bounds per bracket pair, infinity spellings and case, 24:00:00, more than 28 significant digits, leading + and zeros, exponents, NaN, PostgreSQL's special inputs (epoch, now, today, …), trailing junk, nested quotes, backslash escapes, Unicode whitespace, "", empty in every case, multirange text — and every other entry point (Parse(string), Parse(span), JSON, TypeConverter, the EF SQL constant and JSON document) were never compared with the server. #114 and #115 are single cells of this product, found once and not kept.
Change
Route B, step 3 (#105): a probe class in test/CodoMetis.ValueRanges.EFCore.PostgreSQL.IntegrationTests over literal corpus × entry point × type. For each row the authority is SELECT $1::<type>::text on the server with the literal as a text parameter: both accept and read the same value, or both refuse. Every entry point must give the same answer. Round trips are batched so the sweep stays well under two minutes; without Docker it is Inconclusive, under CI=true a failure.
- Registered in
oracles.jsonwith a seed, named in theheldByof the claims it holds, the pair moved to "Varied by" inaxes.md. - Every disagreement is shrunk, confirmed against the server, filed (or registered against An inverted range literal parses as empty on every entry point; PostgreSQL rejects it #114, Decimal text beyond 28 significant digits is rounded silently when a literal or JSON array is read #115, GuidSet accepts whitespace inside an element that PostgreSQL's uuid_in rejects #78, Document that a stored timerange bound of 24:00:00 fails to load #108) and entered through
Candidates.Verdict. No fixes in this PR. - A paragraph each in
docs/oracles.mdanddocs/testing.md.
Activity
CaffeinatedCoder commentedon Oct 17, 2026
Implemented in #135: 48 types × 4,531 literals × 7 entry points + EF write-back, ~6 s. Findings filed as #126–#133; known cells registered against #114, #115, #78. Seed
empty-keyword-matched-as-prefix.patchis caught only by this class.