postgresql/src/backend
Peter Geoghegan 74eb2176bf Invalidate binary search bounds consistently.
_bt_check_unique() failed to invalidate binary search bounds in the
event of a live conflict following commit e5adcb78.  This resulted in
problems after waiting for the conflicting xact to commit or abort.  The
subsequent call to _bt_check_unique() would restore the initial binary
search bounds, rather than starting a new search.  Fix by explicitly
invalidating bounds when it becomes clear that there is a live conflict
that insertion will have to wait to resolve.

Ashutosh Sharma, with a few additional tweaks by me.

Author: Ashutosh Sharma
Reported-By: Ashutosh Sharma
Diagnosed-By: Ashutosh Sharma
Discussion: https://postgr.es/m/CAE9k0PnQp-qr-UYKMSCzdC2FBzdE4wKP41hZrZvvP26dKLonLg@mail.gmail.com
2019-04-04 09:38:08 -07:00
..
access Invalidate binary search bounds consistently. 2019-04-04 09:38:08 -07:00
bootstrap tableam: relation creation, VACUUM FULL/CLUSTER, SET TABLESPACE. 2019-03-28 20:01:43 -07:00
catalog GSSAPI encryption support 2019-04-03 15:02:33 -04:00
commands Refactor the fsync queue for wider use. 2019-04-04 23:38:38 +13:00
executor tableam: bitmap table scan. 2019-03-31 18:37:57 -07:00
foreign Update copyright for 2019 2019-01-02 12:44:25 -05:00
jit Renaming for new subscripting mechanism 2019-02-01 12:50:32 -03:00
lib Further code review for new integerset code. 2019-03-25 12:23:48 -04:00
libpq GSSAPI encryption support 2019-04-03 15:02:33 -04:00
main Replace @postgresql.org with @lists.postgresql.org for mailinglists 2019-01-19 19:06:35 +01:00
nodes Generated columns 2019-03-30 08:15:57 +01:00
optimizer postgres_fdw: Perform the (FINAL, NULL) upperrel operations remotely. 2019-04-02 20:30:45 +09:00
parser Catch syntax error in generated column definition 2019-04-01 10:46:37 +02:00
partitioning Speed up planning when partitions can be pruned at plan time. 2019-03-30 18:58:55 -04:00
po Translation updates 2018-06-25 12:37:18 +02:00
port Silence -Wimplicit-fallthrough in sysv_shmem.c. 2019-04-03 23:23:35 -07:00
postmaster Refactor the fsync queue for wider use. 2019-04-04 23:38:38 +13:00
regex Collations with nondeterministic comparison 2019-03-22 12:12:43 +01:00
replication Generated columns 2019-03-30 08:15:57 +01:00
rewrite Perform RLS subquery checks as the right user when going via a view. 2019-04-02 08:13:59 +01:00
snowball Update copyright for 2019 2019-01-02 12:44:25 -05:00
statistics Reduce overhead of pg_mcv_list (de)serialization 2019-04-03 21:23:40 +02:00
storage Refactor the fsync queue for wider use. 2019-04-04 23:38:38 +13:00
tcop Log all statements from a sample of transactions 2019-04-03 18:43:59 -03:00
tsearch Move hash_any prototype from access/hash.h to utils/hashutils.h 2019-03-11 13:17:50 -03:00
utils Refactor the fsync queue for wider use. 2019-04-04 23:38:38 +13:00
.gitignore Add .gitignore entries for AIX-specific intermediate build artifacts. 2015-07-08 20:44:22 -04:00
Makefile Get rid of jsonpath_gram.h and jsonpath_scanner.h 2019-03-20 11:13:34 +03:00
common.mk Remove PARTIAL_LINKING build mode. 2018-03-30 17:33:04 -07:00
nls.mk Translation updates 2018-06-25 12:37:18 +02:00