On Thu, Oct 8, 2026 at 12:33 PM shihao zhong <[email protected]> wrote:
> Since 0da29e4cb16 an anti join can use Memoize. Memoize compares its
> cache key with the collation of o.code, so 'P1' hits the cache entry
> of 'p1'. The clause compares under "C", where they differ.

The root cause here is that Memoize hashes and compares its cache key
using the collation of the outer expression rather than the input
collation of the join operator.  That code dates back to v14, and the
LEFT JOIN form of the same query gives wrong results on all supported
branches.

0da29e4cb16 doesn't change how Memoize builds its cache keys.  It only
allows one more join type to reach the same code, and the proposed fix
doesn't touch anything that commit added.  So I don't think this
belongs under Open Items for v19.

- Richard


Reply via email to