Re: BUG #18885: ERROR: corrupt MVNDistinct entry - 2

Tomas Vondra <tomas@vondra.me>

From: Tomas Vondra <tomas@vondra.me>
To: David Rowley <dgrowleyml@gmail.com>
Cc: Andrei Lepikhov <lepihov@gmail.com>, tharakan@gmail.com, pgsql-bugs@lists.postgresql.org, PG Bug reporting form <noreply@postgresql.org>, Alexander Korotkov <aekorotkov@gmail.com>
Date: 2025-04-21T09:41:19Z
Lists: pgsql-bugs

On 4/16/25 06:11, David Rowley wrote:
> On Wed, 16 Apr 2025 at 01:16, Tomas Vondra <tomas@vondra.me> wrote:
>> In any case, such rework seems out of scope for PG18 - it's much more
>> than a fix for the bug.
> 
> This is the reason I stopped short of adjusting the code in the patch
> I proposed in [1].  Speaking of which, do you have any views on that?
> It seems much more likely that someone would have caught the issue
> being reported here when writing the patch or during review if there
> was some sort of documentation to mention the function can't handle
> duplicate GroupVarInfos.
> 
> I'll look at that patch again in the next few days with aims to push
> it unless someone has something to say about it.
> 

Yeah, you're right the estimate_multivariate_ndistinct() comments should
have mentioned that the GroupVarInfos are expected to be unique ... and
perhaps there could have been some assert to check that.


regards

-- 
Tomas Vondra




Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Properly prepare varinfos in estimate_multivariate_bucketsize()

  2. Improve comments for estimate_multivariate_ndistinct()

  3. Use extended stats for precise estimation of bucket size in hash join

  4. Ignore nullingrels when looking up statistics