postgresql/src/backend
Tom Lane 76ec457566 Fix VM buffer pin management in heap_lock_updated_tuple_rec().
Sloppy coding in this function could lead to leaking a VM buffer pin,
or to attempting to free the same pin twice.  Repair.  While at it,
reduce the code's tendency to free and reacquire the same page pin.

Back-patch to 9.6; before that, this routine did not concern itself
with VM pages.

Amit Kapila and Tom Lane

Discussion: https://postgr.es/m/CAA4eK1KJKwhc=isgTQHjM76CAdVswzNeAuZkh_cx-6QgGkSEgA@mail.gmail.com
2018-03-02 17:40:48 -05:00
..
access Fix VM buffer pin management in heap_lock_updated_tuple_rec(). 2018-03-02 17:40:48 -05:00
bootstrap Phase 3 of pgindent updates. 2017-06-21 15:35:54 -04:00
catalog Use ereport not elog for some corrupt-HOT-chain reports. 2018-03-01 16:23:46 -05:00
commands Prevent dangling-pointer access when update trigger returns old tuple. 2018-02-27 13:27:38 -05:00
executor Use the correct tuplestore read pointer in a NamedTuplestoreScan. 2018-02-27 15:56:51 -05:00
foreign Abstract logic to allow for multiple kinds of child rels. 2017-04-03 22:41:31 -04:00
lib Phase 3 of pgindent updates. 2017-06-21 15:35:54 -04:00
libpq Fix up references to scram-sha-256 2018-01-30 17:05:35 -05:00
main Install Windows crash dump handler before all else. 2017-11-12 14:31:04 -08:00
nodes Fix application of identity values in some cases 2018-02-02 15:06:52 -05:00
optimizer Fix IOS planning when only some index columns can return an attribute. 2018-03-01 15:35:03 -05:00
parser Fix application of identity values in some cases 2018-02-02 15:06:52 -05:00
po Translation updates 2018-02-26 08:28:54 -05:00
port Change pg_ctl to detect server-ready by watching status in postmaster.pid. 2017-06-28 17:31:32 -04:00
postmaster Empty search_path in Autovacuum and non-psql/pgbench clients. 2018-02-26 07:39:47 -08:00
regex Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
replication Fix filtering of unsupported relations in logical replication 2018-02-23 22:09:26 -05:00
rewrite Fix application of identity values in some cases 2018-02-02 15:06:52 -05:00
snowball Initial pgindent run with pg_bsd_indent version 2.0. 2017-06-21 14:39:04 -04:00
statistics Support boolean columns in functional-dependency statistics. 2017-12-04 11:51:43 -05:00
storage Remove dubious micro-optimization in ckpt_buforder_comparator(). 2018-01-10 15:50:54 -05:00
tcop Prevent idle in transaction session timeout from sometimes being ignored. 2017-10-11 14:02:41 -07:00
tsearch Improve make_tsvector() to handle empty input, and simplify its callers. 2017-07-18 13:13:47 -04:00
utils Rename base64 routines to avoid conflict with Solaris built-in functions. 2018-02-28 18:33:45 -05:00
.gitignore Add .gitignore entries for AIX-specific intermediate build artifacts. 2015-07-08 20:44:22 -04:00
common.mk Add ICU_CFLAGS to global CPPFLAGS 2017-06-12 15:57:22 -04:00
Makefile Inject $(ICU_LIBS) regardless of platform. 2017-08-20 21:22:33 -07:00
nls.mk Translation updates 2018-02-05 12:27:10 -05:00