diff options
author | David Rowley <drowley@postgresql.org> | 2022-07-13 15:03:47 +1200 |
---|---|---|
committer | David Rowley <drowley@postgresql.org> | 2022-07-13 15:03:47 +1200 |
commit | c23e3e6beb273ae8c0f8e616edb7ed1acb0271c4 (patch) | |
tree | b0e092c52196ba79555157a75b498b4ea9b8c4d9 /src/backend/commands/sequence.c | |
parent | 50e4c280f0661f3ef837d2c3beb5fcc100202324 (diff) | |
download | postgresql-c23e3e6beb273ae8c0f8e616edb7ed1acb0271c4.tar.gz postgresql-c23e3e6beb273ae8c0f8e616edb7ed1acb0271c4.zip |
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
Diffstat (limited to 'src/backend/commands/sequence.c')
-rw-r--r-- | src/backend/commands/sequence.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/backend/commands/sequence.c b/src/backend/commands/sequence.c index 48d9d43dac6..b0b211891c3 100644 --- a/src/backend/commands/sequence.c +++ b/src/backend/commands/sequence.c @@ -1620,7 +1620,7 @@ process_owned_by(Relation seqrel, List *owned_by, bool for_identity) RangeVar *rel; /* Separate relname and attr name */ - relname = list_truncate(list_copy(owned_by), nnames - 1); + relname = list_copy_head(owned_by, nnames - 1); attrname = strVal(llast(owned_by)); /* Open and lock rel to ensure it won't go away meanwhile */ |