Is this an oversight in reparameterizing Memoize path?

From: Richard Guo <guofenglinux(at)gmail(dot)com>
To: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Is this an oversight in reparameterizing Memoize path?
Date: 2022-12-02 14:29:47
Message-ID: CAMbWs4_R=ORpz=Lkn2q3ebPC5EuWyfZF+tmfCPVLBVK5W39mHA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

When reviewing other patch I noticed there might be an oversight for
MemoizePath in reparameterize_path. In reparameterize_path we are
supposed to increase the path's parameterization to required_outer.
However, AFAICS for MemoizePath we just re-create the same path thus its
parameterization does not get increased.

I'm not sure if this has consequences in practice. Just from reading
the codes, it seems this may cause assertion failure after the call of
reparameterize_path.

Assert(bms_equal(PATH_REQ_OUTER(path), required_outer));

Thanks
Richard

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andrew Dunstan 2022-12-02 14:34:24 Re: Error-safe user functions
Previous Message Tom Lane 2022-12-02 14:18:57 Re: pg_dump: Remove "blob" terminology