Use list_copy_head() instead of list_truncate(list_copy(...), ...)
Truncating off the end of a freshly copied List is not a very efficient
way of copying the first N elements of a List.
In many of the cases that are updated here, the pattern was only being
used to remove the final element of a List. That's about the best case
for it, but there were many instances where the truncate trimming the List
down much further.
4cc832f94 added list_copy_head(), so let's use it in cases where it's
useful.
Author: David Rowley
Discussion: https://postgr.es/m/1986787.1657666922%40sss.pgh.pa.us
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/c23e3e6beb273ae8c0f8e616edb7ed1acb0271c4
Modified Files
--------------
src/backend/catalog/objectaddress.c | 8 ++++----
src/backend/commands/dropcmds.c | 15 +++++++--------
src/backend/commands/sequence.c | 2 +-
src/backend/optimizer/path/allpaths.c | 9 ++++-----
src/backend/optimizer/path/indxpath.c | 14 ++++++--------
src/backend/optimizer/path/pathkeys.c | 2 +-
src/backend/optimizer/plan/createplan.c | 5 ++---
7 files changed, 25 insertions(+), 30 deletions(-)