Re: BUG #17066: Cache lookup failed when null (unknown) is passed as anycompatiblemultirange
Alexander Korotkov <aekorotkov@gmail.com>
From: Alexander Korotkov <aekorotkov@gmail.com>
To: Alexander Lakhin <exclusion@gmail.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Alvaro Herrera <alvherre@2ndquadrant.com>, Neil Chen <carpenter.nail.cz@gmail.com>, PostgreSQL mailing lists <pgsql-bugs@lists.postgresql.org>, Paul A Jungwirth <pj@illuminatedcomputing.com>
Date: 2021-06-26T23:29:06Z
Lists: pgsql-bugs
Attachments
- 0001-Fixes-for-multirange-selectivity-estimation-.patch (application/octet-stream) patch 0001
On Sat, Jun 26, 2021 at 12:02 AM Alexander Korotkov <aekorotkov@gmail.com> wrote: > On Fri, Jun 25, 2021 at 7:00 AM Alexander Lakhin <exclusion@gmail.com> wrote: > > Hello, > > 24.06.2021 02:35, Tom Lane wrote: > > > Alexander Korotkov <aekorotkov@gmail.com> writes: > > >> I really appreciate a hint here. > > > I think I'm to blame for most of that code originally, so I'll take > > > a look soon. Been up to my neck in other stuff recently. > > I'm not sure whether it related to the initial issue, but there is > > another anomaly with the multirange types. (May be I should report it as > > a distinct bug?) The query: > > create table test_multirange(mr int4multirange); > > select count(*) from test_multirange where mr << int4range(100,100); > > produces: > > ERROR: unexpected operator 4396 > > > > while > > select count(*) from test_multirange where mr << int4range(100,500); > > returns a result (as the multirangetypes test shows). > > Yep, that's a distinct bug. It seems that I've added some missing > operators, but forgot to add some selectivity estimates for them. > > I'll come with a fix soon. The patch is attached. It fixes some switches in calc_multirangesel() and calc_multirangesel(). Additionally, it improves regression test coverage for matching empty range/multirange. I'm going to push it if no objection. ------ Regards, Alexander Korotkov
Commits
-
Fix bugs in polymorphic-argument resolution for multiranges.
- b7ea0e8c41f1 14.0 landed
- 336ea6e6ff11 15.0 landed
-
Fixes for multirange selectivity estimation
- 322e82b77ef4 14.0 landed
- 178ec460db0a 15.0 landed