[HACKERS] fix side-effect in get_qual_for_list() - Mailing list pgsql-hackers

From Jeevan Ladhe
Subject [HACKERS] fix side-effect in get_qual_for_list()
Date
Msg-id CAOgcT0MAcYoMs93W80iTUf_dP36=1mZQzeUk+nnwY_-qWDrCfw@mail.gmail.com
Whole thread Raw
Responses Re: [HACKERS] fix side-effect in get_qual_for_list()  (Ashutosh Bapat <ashutosh.bapat@enterprisedb.com>)
List pgsql-hackers
Hi,

While working on one of the crash reported on default partition for list
partitioning table[1] I found some strange behavior in get_qual_for_list() while
I tried to call it from the new code I wrote for default partition.

After debugging, I noticed that the function get_qual_for_list() is implicitly
manipulating the (PartitionBoundSpec) spec->listdatums list. AFAICU, this
manipulation is needed just to construct a list of datums to be passed to
ArrayExpr, and this should be done without manipulating the original list.
The function name is get_qual_for_list(), which implies that this function
returns something and does not modify anything.

I have made this change in attached patch, as I think this is useful for future
developments, as there may be a need in future to call get_qual_for_list() from
other places, and the caller might not expect that PartitionBoundSpec gets
modified.

PFA.


Regards,
Jeevan Ladhe
Attachment

pgsql-hackers by date:

Previous
From: Vik Fearing
Date:
Subject: [HACKERS] Renaming a table to an array's autogenerated name
Next
From: "Regina Obe"
Date:
Subject: [HACKERS] PostgreSQL 10 changes in exclusion constraints - did something change?