postgresql/src/include
Peter Geoghegan 67fc4c9fd7 Make parallel nbtree index scans use an LWLock.
Teach parallel nbtree index scans to use an LWLock (not a spinlock) to
protect the scan's shared descriptor state.

Preparation for an upcoming patch that will add skip scan optimizations
to nbtree.  That patch will create the need to occasionally allocate
memory while the scan descriptor is locked, while copying datums that
were serialized by another backend.

Author: Peter Geoghegan <pg@bowt.ie>
Reviewed-By: Matthias van de Meent <boekewurm+postgres@gmail.com>
Discussion: https://postgr.es/m/CAH2-Wz=PKR6rB7qbx+Vnd7eqeB5VTcrW=iJvAsTsKbdG+kW_UA@mail.gmail.com
2025-03-08 11:10:14 -05:00
..
access Rename amcancrosscompare 2025-03-07 11:46:33 +01:00
archive Update copyright for 2025 2025-01-01 11:21:55 -05:00
backup Update copyright for 2025 2025-01-01 11:21:55 -05:00
bootstrap Update copyright for 2025 2025-01-01 11:21:55 -05:00
catalog Allow casting between bytea and integer types. 2025-03-07 09:31:18 +00:00
commands Add relallfrozen to pg_class 2025-03-03 11:18:05 -05:00
common Change relpath() et al to return path by value 2025-02-25 09:02:07 -05:00
datatype Avoid using timezone Asia/Manila in regression tests. 2025-01-20 15:47:53 -05:00
executor Don't lock partitions pruned by initial pruning 2025-02-20 17:09:48 +09:00
fe_utils Get rid of O(N^2) script-parsing overhead in pgbench. 2025-02-27 10:53:38 -05:00
foreign Update copyright for 2025 2025-01-01 11:21:55 -05:00
jit Fix grammatical typos around possessive "its" 2025-01-29 14:39:14 +07:00
lib Add new StringInfo APIs to allow callers to specify the buffer size. 2025-01-11 08:23:46 +09:00
libpq backend libpq void * argument for binary data 2025-02-23 14:27:02 +01:00
mb Add pg_encoding_set_invalid() 2025-02-10 10:03:37 -05:00
nodes Add ALTER TABLE ... ALTER CONSTRAINT ... SET [NO] INHERIT 2025-03-05 13:50:22 +01:00
optimizer Expand virtual generated columns in the planner 2025-02-25 16:10:25 +09:00
parser Virtual generated columns 2025-02-07 09:46:59 +01:00
partitioning Move PartitionPruneInfo out of plan nodes into PlannedStmt 2025-01-30 11:57:32 +09:00
pch Update copyright for 2025 2025-01-01 11:21:55 -05:00
port Fix comment about AVX-512 popcount support. 2025-01-22 14:11:37 -06:00
portability Update copyright for 2025 2025-01-01 11:21:55 -05:00
postmaster Rename some signal and interrupt handling functions for consistency 2025-03-05 16:22:26 +02:00
regex Update copyright for 2025 2025-01-01 11:21:55 -05:00
replication Rename some signal and interrupt handling functions for consistency 2025-03-05 16:22:26 +02:00
rewrite Eliminate code duplication in replace_rte_variables callbacks 2025-02-25 16:11:34 +09:00
snowball Update to latest Snowball sources. 2025-02-18 21:13:54 -05:00
statistics Remove redundant pg_set_*_stats() variants. 2025-02-25 16:15:47 -08:00
storage Make parallel nbtree index scans use an LWLock. 2025-03-08 11:10:14 -05:00
tcop backend launchers void * arguments for binary data 2025-02-21 08:03:33 +01:00
tsearch Update copyright for 2025 2025-01-01 11:21:55 -05:00
utils Split pgstat_bestart() into three different routines 2025-03-04 14:09:44 +09:00
.gitignore Use <stdint.h> and <inttypes.h> for c.h integers. 2024-12-04 15:05:38 +13:00
c.h IWYU widely useful pragmas 2025-01-15 18:57:53 +01:00
fmgr.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
funcapi.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
getopt_long.h IWYU widely useful pragmas 2025-01-15 18:57:53 +01:00
Makefile Use <stdint.h> and <inttypes.h> for c.h integers. 2024-12-04 15:05:38 +13:00
meson.build Update copyright for 2025 2025-01-01 11:21:55 -05:00
miscadmin.h Use "ssize_t" not "long" in max_stack_depth-related code. 2025-01-30 16:44:47 -05:00
pg_config.h.in Add support for OAUTHBEARER SASL mechanism 2025-02-20 16:25:17 +01:00
pg_config_manual.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
pg_getopt.h IWYU widely useful pragmas 2025-01-15 18:57:53 +01:00
pg_trace.h IWYU widely useful pragmas 2025-01-15 18:57:53 +01:00
pgstat.h Invent pgstat_fetch_stat_backend_by_pid() 2025-02-28 11:20:31 +09:00
pgtar.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
pgtime.h Seek zone abbreviations in the IANA data before timezone_abbreviations. 2025-01-16 14:11:19 -05:00
port.h Avoid breaking SJIS encoding while de-backslashing Windows paths. 2025-01-29 14:24:36 -05:00
postgres.h IWYU widely useful pragmas 2025-01-15 18:57:53 +01:00
postgres_ext.h IWYU widely useful pragmas 2025-01-15 18:57:53 +01:00
postgres_fe.h IWYU widely useful pragmas 2025-01-15 18:57:53 +01:00
varatt.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
windowapi.h Update copyright for 2025 2025-01-01 11:21:55 -05:00