pgsql: Use list_copy_head() instead of list_truncate(list_copy(...), ..

From: David Rowley <drowley(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Use list_copy_head() instead of list_truncate(list_copy(...), ..
Date: 2022-07-13 03:04:38
Message-ID: E1oBSg0-002Wx0-Pq@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

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

Browse pgsql-committers by date

  From Date Subject
Next Message Michael Paquier 2022-07-13 03:22:03 pgsql: createuser: Add support for more clause types through new option
Previous Message Michael Paquier 2022-07-13 02:29:37 pgsql: createuser: Cleanup and fix internal option ordering