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
