Re: BUG #17774: Assert triggered on brin_minmax_multi.c
Dmitry Dolgov <9erthalion6@gmail.com>
From: Dmitry Dolgov <9erthalion6@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: John Naylor <john.naylor@enterprisedb.com>, tharakan@gmail.com, pgsql-bugs@lists.postgresql.org
Date: 2023-02-08T15:33:13Z
Lists: pgsql-bugs
> On Wed, Feb 08, 2023 at 10:03:01AM -0500, Tom Lane wrote: > Dmitry Dolgov <9erthalion6@gmail.com> writes: > > The negative delta might be only a consequence. From what I see it's > > called from build_distances, and the idea is to find the gaps between > > the max value of the current interval and the min value of the next one, > > so they should be ordered and delta should be always positive. > > I'd believe this argument more readily if the calculation weren't being > done in float arithmetic. Since it is, you're at the mercy of roundoff > error ... and that small negative delta could certainly pass for > roundoff error. > > Clamping the result to [0,1] would be a brighter plan than just asserting > that it's in-range. Hmm...yeah, good point. In both the reproducer I've posted and the backtrace from the thread the delta is indeed rather small.
Commits
-
Fix netmask handling in inet_minmax_multi_ops
- e8583126833a 16.0 landed
- 0c7726c2827e 15.3 landed
- 6a78a42fea0c 14.8 landed