From: | Tender Wang <tndrwang(at)gmail(dot)com> |
---|---|
To: | Andrei Lepikhov <a(dot)lepikhov(at)postgrespro(dot)ru> |
Cc: | pgsql-bugs(at)lists(dot)postgresql(dot)org |
Subject: | Re: "type with xxxx does not exist" when doing ExecMemoize() |
Date: | 2024-02-26 08:14:39 |
Message-ID: | CAHewXNkSWMwGb_81wK3WCVx8-W-pOHC_AhiF=AeiRdG7sva4CQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs pgsql-hackers |
Andrei Lepikhov <a(dot)lepikhov(at)postgrespro(dot)ru> 于2024年2月26日周一 10:57写道:
> On 25/2/2024 20:32, Tender Wang wrote:
> > I think in prepare_probe_slot(), should called datumCopy as the attached
> > patch does.
> >
> > Any thoughts? Thanks.
> Thanks for the report.
> I think it is better to invent a Runtime Memory Context; likewise, it is
> already designed in IndexScan and derivatives. Here, you just allocate
> the value in some upper memory context.
>
> Also, I'm curious why such a trivial error hasn't been found for a long
> time
>
I analyze this issue again. I found that the forms of qual in
Memoize.sql(regress) are all like this:
table1.c0 OP table2.c0
If table2.c0 is the param value, the probeslot->tts_values[i] just store
the pointer. The memorycontext of this pointer is
ExecutorContext not ExprContext, Reset ExprContext doesn't change the data
of probeslot->tts_values[i].
So such a trivial error hasn't been found before.
--
> regards,
> Andrei Lepikhov
> Postgres Professional
>
>
--
Tender Wang
OpenPie: https://en.openpie.com/
From | Date | Subject | |
---|---|---|---|
Next Message | Laurenz Albe | 2024-02-26 09:19:09 | Re: systemd[1]: postgresql-16.service: Killing process 25992 (postgres) with signal SIGKILL. |
Previous Message | Andrei Lepikhov | 2024-02-26 07:54:21 | Re: "type with xxxx does not exist" when doing ExecMemoize() |
From | Date | Subject | |
---|---|---|---|
Next Message | Ashutosh Bapat | 2024-02-26 08:15:08 | Re: RFC: Logging plan of the running query |
Previous Message | Michael Paquier | 2024-02-26 08:10:45 | Re: Sequence Access Methods, round two |