postgresql/src
David Rowley e7c2b95d37 Optimize a few list_delete_ptr calls
There is a handful of places where we called list_delete_ptr() to remove
some element from a List.  In many of these places we know, or with very
little additional effort know the index of the ListCell that we need to
remove.

Here we change all of those places to instead either use one of;
list_delete_nth_cell(), foreach_delete_current() or list_delete_last().
Each of these saves from having to iterate over the list to search for the
element to remove by its pointer value.

There are some small performance gains to be had by doing this, but in the
general case, none of these lists are likely to be very large, so the
lookup was probably never that expensive anyway.  However, some of the
calls are in fairly hot code paths, e.g process_equivalence().  So any
small gains there are useful.

Author: Zhijie Hou and David Rowley
Discussion: https://postgr.es/m/b3517353ec7c4f87aa560678fbb1034b@G08CNEXMBPEKD05.g08.fujitsu.local
2020-10-22 14:36:32 +13:00
..
backend Optimize a few list_delete_ptr calls 2020-10-22 14:36:32 +13:00
bin Fix connection string handling in psql's \connect command. 2020-10-21 16:19:00 -04:00
common Fix -Wcast-function-type warnings on Windows/MinGW 2020-10-21 08:17:51 +02:00
fe_utils Standardize the printf format for st_size 2020-09-24 21:04:21 +02:00
include Review format of code generated by PerfectHash.pm 2020-10-21 09:22:27 +09:00
interfaces Fix -Wcast-function-type warnings on Windows/MinGW 2020-10-21 08:17:51 +02:00
makefiles Remove libpq.rc, use win32ver.rc for libpq 2020-01-15 15:06:12 +01:00
pl Fixup some appendStringInfo and appendPQExpBuffer calls 2020-10-15 20:35:17 +13:00
port Remove the option to build thread_test.c outside configure. 2020-10-21 12:08:48 -04:00
template Fix compiler warning for ppoll() on Cygwin 2019-12-22 23:20:00 +01:00
test Use fast checkpoint in PostgresNode::backup() 2020-10-21 14:37:26 -03:00
timezone Update time zone data files to tzdata release 2020c. 2020-10-16 21:53:33 -04:00
tools Review format of code generated by PerfectHash.pm 2020-10-21 09:22:27 +09:00
tutorial Remove support for postfix (right-unary) operators. 2020-09-17 19:38:05 -04:00
.gitignore Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:04 +02:00
DEVELOPERS Replace a couple of references to files that no longer exist in the source 2009-05-04 08:08:47 +00:00
Makefile Remove the option to build thread_test.c outside configure. 2020-10-21 12:08:48 -04:00
Makefile.global.in Split Makefile symbol CFLAGS_VECTOR into two symbols. 2020-09-06 21:28:16 -04:00
Makefile.shlib Add PostgreSQL home page to --help output 2020-02-28 13:12:21 +01:00
nls-global.mk NLS: Fix backend gettext triggers 2019-09-23 09:04:20 +02:00