| From: | Andrew Dunstan <andrew(at)dunslane(dot)net> |
|---|---|
| To: | Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, Ewan Young <kdbase(dot)hack(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
| Subject: | Re: [PATCH] seg: preserve the upper boundary's certainty indicator in seg_out() |
| Date: | 2026-06-12 18:58:52 |
| Message-ID: | 5ccbdbde-6467-4a10-bf4d-0be73a05ce8d@dunslane.net |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On 2026-06-11 Th 5:45 AM, Heikki Linnakangas wrote:
> On 11/06/2026 10:03, Ewan Young wrote:
>> Certainty indicators are documented to be preserved on output (they are
>> ignored by the operators, but kept as a comment), so this breaks the
>> input/output round-trip for the affected values.
>
> As a side note, while ignoring the boundaries makes sense for
> comparison operators, seg_union() and seg_intersect() need to do with
> them. That's not documented anywhere, and their current behavior seems
> pretty arbitrary. We haven't actually documented those functions at
> all, I think they were added just for the GiST support and calling
> them directly from SQL was an afterthought.
>
>> The attached patch fixes the one-character typo and adds regression
>> tests that place each indicator on both boundaries of an interval, so
>> the upper-boundary case is now covered. make installcheck passes with
>> the fix and fails without it.
>
> Applied to master and all stable branches, thanks!
This is upsetting cross version upgrade tests, I assume since we didn't
backport it to branches older than 14.
Not sure what the best solution is. Drop the table, or at least the
offending row?
cheers
andrew
--
Andrew Dunstan
EDB: https://www.enterprisedb.com
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tom Lane | 2026-06-12 19:02:42 | Re: [PATCH] seg: preserve the upper boundary's certainty indicator in seg_out() |
| Previous Message | Masahiko Sawada | 2026-06-12 18:19:31 | mxid_score can become Infinity in pg_stat_autovacuum_scores |