mirror of
https://github.com/postgres/postgres.git
synced 2026-05-16 11:29:49 -04:00
As connections that failed abort cleanup can't safely be further used,
if a remote query tries to get such a connection, we reject it.
Previously, this rejection involved dropping the connection if it was
open, without accounting for the possibility of open cursors using it,
causing a server crash when such an open cursor tried to use an
already-dropped connection, as a cursor-handling function
(create_cursor, fetch_more_data, or close_cursor) was called on a freed
PGconn. To fix, delay dropping failed connections until abort cleanup
of the main transaction, to ensure open cursors using such a connection
can safely refer to the PGconn for it.
Oversight in commit
|
||
|---|---|---|
| .. | ||
| expected | ||
| specs | ||
| sql | ||
| t | ||
| .gitignore | ||
| connection.c | ||
| deparse.c | ||
| Makefile | ||
| meson.build | ||
| option.c | ||
| postgres_fdw--1.0--1.1.sql | ||
| postgres_fdw--1.0.sql | ||
| postgres_fdw--1.1--1.2.sql | ||
| postgres_fdw--1.2--1.3.sql | ||
| postgres_fdw.c | ||
| postgres_fdw.control | ||
| postgres_fdw.h | ||
| shippable.c | ||