postgresql/contrib
Etsuro Fujita 700e8fe6d4 postgres_fdw: Fix subabort cleanup of connections used in asynchronous execution.
Commit 27e1f1456 resets the per-connection states of connections used to
scan foreign tables asynchronously during abort cleanup at main
transaction end, but it failed to do so during subabort cleanup at
subtransaction end, leading to a segmentation fault when re-executing an
asynchronous-foreign-table-scan query in a transaction that was
cancelled in a subtransaction of it.

Fix by modifying pgfdw_abort_cleanup() to reset the per-connection state
of a given connection also when called for subabort cleanup.  Also,
modify that function to do the reset in both the abort-cleanup and
subabort-cleanup cases if necessary, to save cycles, and improve a
comment on it a little bit.

Back-patch to v14 where the aforesaid commit came in.

Reviewed by Alexander Pyhalov

Discussion: https://postgr.es/m/CAPmGK14cCV-JA7kNsyt2EUTKvZ4xkr2LNRthi1U1C3cqfGppAw@mail.gmail.com
2022-01-21 17:45:02 +09:00
..
adminpack Rename Default Roles to Predefined Roles 2021-04-01 15:32:06 -04:00
amcheck Fix some typos with {a,an} 2021-12-09 15:20:45 +09:00
auth_delay
auto_explain Fix EXPLAIN ANALYZE for async-capable nodes. 2021-05-12 14:00:00 +09:00
bloom Fix instability in contrib/bloom TAP tests. 2021-09-28 17:34:31 -04:00
bool_plperl
btree_gin Fix failure of btree_gin indexscans with "char" type and </<= operators. 2021-08-10 18:10:30 -04:00
btree_gist Fix results of index-only scans on btree_gist char(N) indexes. 2022-01-08 14:54:39 -05:00
citext
cube Add binary I/O capability for cube datatype. 2021-03-06 12:04:05 -05:00
dblink postgres_fdw: Fix unexpected reporting of empty message. 2021-12-03 17:37:08 +09:00
dict_int
dict_xsyn
earthdistance
file_fdw Rename Default Roles to Predefined Roles 2021-04-01 15:32:06 -04:00
fuzzystrmatch
hstore Remove deprecated containment operators for contrib types. 2021-03-05 10:45:41 -05:00
hstore_plperl
hstore_plpython
intagg
intarray Remove extraneous newlines added by perl copyright patch 2021-05-07 11:37:37 -04:00
isn
jsonb_plperl
jsonb_plpython
lo
ltree
ltree_plpython
oid2name Add a copyright notice to perl files lacking one. 2021-05-07 10:56:14 -04:00
old_snapshot Initial pgindent and pgperltidy run for v14. 2021-05-12 13:14:10 -04:00
pageinspect pageinspect: Make page deletion elog less chatty. 2021-09-17 14:19:50 -07:00
passwordcheck Revert error handling improvements for cryptohashes 2022-01-14 11:25:39 +09:00
pg_buffercache
pg_freespacemap
pg_prewarm Remove use of [U]INT64_FORMAT in some translatable strings 2021-04-23 13:25:49 +09:00
pg_stat_statements pg_stat_statements: Remove obsolete comment 2022-01-03 17:34:53 +09:00
pg_surgery
pg_trgm Avoid some other O(N^2) hazards in list manipulation. 2021-11-01 16:24:40 -04:00
pg_visibility
pgcrypto Revert error handling improvements for cryptohashes 2022-01-14 11:25:39 +09:00
pgrowlocks Rename Default Roles to Predefined Roles 2021-04-01 15:32:06 -04:00
pgstattuple Use full 64-bit XIDs in deleted nbtree pages. 2021-02-24 18:41:34 -08:00
postgres_fdw postgres_fdw: Fix subabort cleanup of connections used in asynchronous execution. 2022-01-21 17:45:02 +09:00
seg Stabilize contrib/seg regression test. 2021-06-07 14:52:42 -04:00
sepgsql Centralize the logic for protective copying of utility statements. 2021-06-18 11:22:58 -04:00
spi
sslinfo
start-scripts
tablefunc
tcn
test_decoding Remove assertion for replication origins in PREPARE TRANSACTION 2021-12-14 10:58:25 +09:00
tsm_system_rows
tsm_system_time
unaccent Update Unicode data to CLDR 39 2021-04-08 08:28:03 +02:00
uuid-ossp Revert error handling improvements for cryptohashes 2022-01-14 11:25:39 +09:00
vacuumlo Add a copyright notice to perl files lacking one. 2021-05-07 10:56:14 -04:00
xml2
contrib-global.mk
Makefile
README

The PostgreSQL contrib tree
---------------------------

This subtree contains porting tools, analysis utilities, and plug-in
features that are not part of the core PostgreSQL system, mainly
because they address a limited audience or are too experimental to be
part of the main source tree.  This does not preclude their
usefulness.

User documentation for each module appears in the main SGML
documentation.

When building from the source distribution, these modules are not
built automatically, unless you build the "world" target.  You can
also build and install them all by running "make all" and "make
install" in this directory; or to build and install just one selected
module, do the same in that module's subdirectory.

Some directories supply new user-defined functions, operators, or
types.  To make use of one of these modules, after you have installed
the code you need to register the new SQL objects in the database
system by executing a CREATE EXTENSION command.  In a fresh database,
you can simply do

    CREATE EXTENSION module_name;

See the PostgreSQL documentation for more information about this
procedure.