diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2023-06-04 13:05:54 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2023-06-04 13:05:54 -0400 |
commit | 01610747867ff26ca62d099e83e62d97730c40c1 (patch) | |
tree | 635317be7777917ff857315c883f4d20c1cedf93 /src/backend/utils/adt/encode.c | |
parent | b3f32a6c312c476beecb7864450f4f6c448cd1bc (diff) | |
download | postgresql-01610747867ff26ca62d099e83e62d97730c40c1.tar.gz postgresql-01610747867ff26ca62d099e83e62d97730c40c1.zip |
Fix pg_dump's failure to honor dependencies of SQL functions.
A new-style SQL function can contain a parse-time dependency
on a unique index, much as views and matviews can (such cases
arise from GROUP BY and ON CONFLICT clauses, for example).
To dump and restore such a function successfully, pg_dump must
postpone the function until after the unique index is created,
which will happen in the post-data part of the dump. Therefore
we have to remove the normal constraint that functions are
dumped in pre-data. Add code similar to the existing logic
that handles this for matviews. I added test cases for both
as well, since code coverage tests showed that we weren't
testing the matview logic.
Per report from Sami Imseih. Back-patch to v14 where
new-style SQL functions came in.
Discussion: https://postgr.es/m/2C1933AB-C2F8-499B-9D18-4AC1882256A0@amazon.com
Diffstat (limited to 'src/backend/utils/adt/encode.c')
0 files changed, 0 insertions, 0 deletions