Re: Volatile functions under Memoize node

From: Andrei Lepikhov <lepihov(at)gmail(dot)com>
To: David Rowley <dgrowleyml(at)gmail(dot)com>
Cc: PostgreSQL mailing lists <pgsql-bugs(at)lists(dot)postgresql(dot)org>, Richard Guo <guofenglinux(at)gmail(dot)com>
Subject: Re: Volatile functions under Memoize node
Date: 2024-09-20 08:46:03
Message-ID: 6828898d-5fe1-4709-816e-5cf606974227@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On 20/9/2024 04:36, David Rowley wrote:
> On Fri, 20 Sept 2024 at 04:47, Andrei Lepikhov <lepihov(at)gmail(dot)com> wrote:
> I'm not sure if it's a good idea to penalise your case when we're not
> all that consistent to start with. Is this causing some sort of
> breakage?
I skimmed the code entries with such checks and found out that the
initial reason was to avoid index scans, with a reason that such a
routine should be applied to each tuple of the table.
The second reason - to postpone expression evaluation (9118d03) - is
also reasonable for me. It was introduced to be consistent with the
clause's syntactical level in the SQL.
It seems to follow the same idea as disabling subquery pull-ups: to
avoid multiple evaluations and change the syntactical level.
At the same time, Material doesn't care about volatility. So, what was
the idea behind the commit 990c365 you added?

--
regards, Andrei Lepikhov

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Yeddula, Madhusudhan reddy [CONTINGENT WORKER] 2024-09-20 10:03:03 RE: BUG #18569: Memory leak in Postgres Enterprise server
Previous Message Andrei Lepikhov 2024-09-20 03:25:49 Re: Volatile functions under Memoize node