Thread: BUG #18746: /src/backend/parser/parse_utilcmd.c

BUG #18746: /src/backend/parser/parse_utilcmd.c

From
PG Bug reporting form
Date:
The following bug has been logged on the website:

Bug reference:      18746
Logged by:          Daniel Elishakov
Email address:      dan-eli@mail.ru
PostgreSQL version: 16.4
Operating system:   ubuntu 20.04
Description:

Dynamic memory, referenced by 'colname', is allocated at ruleutils.c:3587 by
calling function 'deparse_expression' at parse_utilcmd.c:4061 and lost at
parse_utilcmd.c:4100.


Re: BUG #18746: /src/backend/parser/parse_utilcmd.c

From
Alvaro Herrera
Date:
On 2024-Dec-09, PG Bug reporting form wrote:

> Dynamic memory, referenced by 'colname', is allocated at ruleutils.c:3587 by
> calling function 'deparse_expression' at parse_utilcmd.c:4061 and lost at
> parse_utilcmd.c:4100.

I think this refers to transformPartitionBound() which calls
deparse_expression().  I don't think a memory leak here is very
interesting, because this is DDL code which should be called in a
short-lived memory context, so it's freed soon afterwards.  (I bet you
could find thousands of cases of similar situations elsewhere in the DDL
code.)

Indeed, transformPartitionBound is only called by DefineRelation (used
to create a table or similar) or transformPartitionCmd, which is called
for ALTER TABLE ... ATTACH/DETACH PARTITION.

-- 
Álvaro Herrera         PostgreSQL Developer  —  https://www.EnterpriseDB.com/
"The problem with the future is that it keeps turning into the present"
(Hobbes)