Re: BUG #17213: Wrong result from a query involving Merge Semi Join and Memoize

David Rowley <dgrowleyml@gmail.com>

From: David Rowley <dgrowleyml@gmail.com>
To: elprans@gmail.com, PostgreSQL mailing lists <pgsql-bugs@lists.postgresql.org>
Date: 2021-10-05T00:14:47Z
Lists: pgsql-bugs
On Tue, 5 Oct 2021 at 12:22, PG Bug reporting form
<noreply@postgresql.org> wrote:
> It appears a combination of Merge Semi Join and Memoize in PostgreSQL 14
> produces incorrect results on a particular query.  The bug might be
> present
> in earlier versions, but I was only able to reproduce a particular plan
> under version 14.

Are you able to send the output of EXPLAIN (ANALYZE, SETTINGS) from
the problem query with SET enable_memoize = ON; ? My local setup here
does not produce the same plan as you're getting and that might be
because you have some non-standard cost settings.

It does look a bit like memoize is not properly taking into account
the fact that there's a subplan below the memoize node with parameters
from above the memoize node. Namely the i1.id in issue_id != i1.id.

David



Commits

  1. Flush Memoize cache when non-key parameters change, take 2

  2. Flush Memoize cache when non-key parameters change