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(-)
