Update parallel BTree scan state when the scan keys can't be satisfied.
authorAmit Kapila
Thu, 17 Sep 2020 09:46:46 +0000 (15:16 +0530)
committerAmit Kapila
Thu, 17 Sep 2020 10:08:47 +0000 (15:38 +0530)
commit4bc63462d9d8dd12a5564c3d4ca06c99449d2d07
treef760d70ffab08fcca8a707453736c7cdaddf5f97
parent511690ec5dccd7c93573367c2920e8f0919c901b
Update parallel BTree scan state when the scan keys can't be satisfied.

For parallel btree scan to work for array of scan keys, it should reach
BTPARALLEL_DONE state once for every distinct combination of array keys.
This is required to ensure that the parallel workers don't try to seize
blocks at the same time for different scan keys. We missed to update this
state when we discovered that the scan keys can't be satisfied.

Author: James Hunter
Reviewed-by: Amit Kapila
Tested-by: Justin Pryzby
Backpatch-through: 10, where it was introduced
Discussion: https://postgr.es/m/4248CABC-25E3-4809-B4D0-128E1BAABC3C@amazon.com
src/backend/access/nbtree/nbtsearch.c