| From: | Andrei Lepikhov <a(dot)lepikhov(at)postgrespro(dot)ru> |
|---|---|
| To: | Tender Wang <tndrwang(at)gmail(dot)com> |
| Cc: | Richard Guo <guofenglinux(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, David Rowley <dgrowleyml(at)gmail(dot)com> |
| Subject: | Re: "type with xxxx does not exist" when doing ExecMemoize() |
| Date: | 2024-02-28 07:25:04 |
| Message-ID: | abb6240f-4fa9-47a0-8b4d-89573ad957fc@postgrespro.ru |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-bugs pgsql-hackers |
On 28/2/2024 13:53, Tender Wang wrote:
> The attached patch is a new version based on v3(not including Andrei's
> the test case). There is no need to call datumCopy when
> isnull is true.
>
> I have not added a new runtime memoryContext so far. Continue to use
> mstate->tableContext, I'm not sure the memory used of probeslot will
> affect mstate->mem_limit.
> Maybe adding a new memoryContext is better. I think I should spend a
> little time to learn nodeMemoize.c more deeply.
I am curious about your reasons to stay with tableContext. In terms of
memory allocation, Richard's approach looks better.
Also, You don't need to initialize tts_values[i] at all if tts_isnull[i]
set to true.
--
regards,
Andrei Lepikhov
Postgres Professional
| From | Date | Subject | |
|---|---|---|---|
| Next Message | PG Bug reporting form | 2024-02-28 07:53:30 | BUG #18369: logical decoding core on AssertTXNLsnOrder() |
| Previous Message | Tender Wang | 2024-02-28 06:53:54 | Re: "type with xxxx does not exist" when doing ExecMemoize() |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Bertrand Drouvot | 2024-02-28 08:03:38 | Re: Synchronizing slots from primary to standby |
| Previous Message | Bertrand Drouvot | 2024-02-28 07:01:32 | Re: Synchronizing slots from primary to standby |