aboutsummaryrefslogtreecommitdiff
path: root/src/test/modules/test_regex/test_regex.c
diff options
context:
space:
mode:
authorAmit Langote <amitlan@postgresql.org>2024-10-03 11:59:09 +0900
committerAmit Langote <amitlan@postgresql.org>2024-10-03 11:59:09 +0900
commitbabb3993dbe9c805c1d29fa275a5e8f4c2b40922 (patch)
tree42560e472851726b6c64fa44bea5989cd7f289b5 /src/test/modules/test_regex/test_regex.c
parente2bab2d792044b55dd092bf1c2be0d570ccb9401 (diff)
downloadpostgresql-babb3993dbe9c805c1d29fa275a5e8f4c2b40922.tar.gz
postgresql-babb3993dbe9c805c1d29fa275a5e8f4c2b40922.zip
Fix expression list handling in ATExecAttachPartition()
This commit addresses two issues related to the manipulation of the partition constraint expression list in ATExecAttachPartition(). First, the current use of list_concat() to combine the partition's constraint (retrieved via get_qual_from_partbound()) with the parent table’s partition constraint can lead to memory safety issues. After calling list_concat(), the original constraint (partBoundConstraint) might no longer be safe to access, as list_concat() may free or modify it. Second, there's a logical error in constructing the constraint for validating against the default partition. The current approach incorrectly includes a negated version of the parent table's partition constraint, which is redundant, as it always evaluates to false for rows in the default partition. To resolve these issues, list_concat() is replaced with list_concat_copy(), ensuring that partBoundConstraint remains unchanged and can be safely reused when constructing the validation constraint for the default partition. This fix is not applied to back-branches, as there is no live bug and the issue has not caused any reported problems in practice. Nitin Jadhav posted a patch to address the memory safety issue, but I decided to follow Alvaro Herrera's suggestion from the initial discussion, as it allows us to fix both the memory safety and logical issues. Reported-by: Andres Freund <andres@anarazel.de> Reported-by: Nitin Jadhav <nitinjadhavpostgres@gmail.com> Reviewed-by: Junwang Zhao <zhjwpku@gmail.com> Discussion: https://postgr.es/m/20231115165737.zeulb575cgrbqo74@awork3.anarazel.de Discussion: https://postgr.es/m/CAMm1aWbmYHM3bqtjyMQ-a+4Ub=dgsb_2E3_up2cn=UGdHNrGTg@mail.gmail.com
Diffstat (limited to 'src/test/modules/test_regex/test_regex.c')
0 files changed, 0 insertions, 0 deletions