On Sun, Aug 2, 2026 at 8:04 PM Kirill Reshke <[email protected]> wrote: > On Sun, 2 Aug 2026 at 20:30, Alexander Korotkov <[email protected]> wrote: > > On Sun, Aug 2, 2026 at 9:55 AM Andrey Borodin <[email protected]> wrote: > > > > > > > On 2 Aug 2026, at 12:03, Peter Geoghegan <[email protected]> wrote: > > > > > > > > I think that you forgot to attach the patch with the actual fix? > > > > > > Oops. Sorry. > > > > Peter, thank you for catching this. Andrey, thank you for the patch. > > Yes, multirange_gist_consistent() re-uses consistent functions from > > range opclass. And range_gist_consistent_leaf_multirange() generate > > false negatives when applied to union range of multirange. I've > > rechecked, and it appears to be the only case among the predicates. > > > > Regarding this contained-by case, I think we can build more precise > > test function. If we have multiranges q and k, and union() produces > > union range from multirange. > > > > q @> r doesn't mean q @> union(r) > > But if q @> r then union(q) @> union(r) > > > > Hi! > I reviewed v3. > > multirange_contains_union_range function comment contains typo at 'give' > > 'Every multiranges contains an infinite number of empty multiranges, > even an empty one.' also contain typos
Thank you, fixed. > Return statement can be : > return range_cmp_bounds(rangetyp, &lower1, &lower2) <= 0 && > range_cmp_bounds(rangetyp, &upper1, &upper2) >= 0; > > But I don't insist. Better for my taste. Corrected as you proposed. ------ Regards, Alexander Korotkov Supabase
v4-0001-Fix-GiST-contained-by-scans-of-multiranges.patch
Description: Binary data
