On Tue, Jun 4, 2019 at 3:09 PM Melanie Plageman <melanieplage...@gmail.com> wrote: > One question I have is, how would the OR'd together bitmap be > propagated to workers after the first chunk? That is, when there are > no tuples left in the outer bunch, for a given inner chunk, would you > load the bitmaps from each worker into memory, OR them together, and > then write the updated bitmap back out so that each worker starts with > the updated bitmap?
I was assuming we'd elect one participant to go read all the bitmaps, OR them together, and generate all the required null-extended tuples, sort of like the PHJ_BUILD_ALLOCATING, PHJ_GROW_BATCHES_ALLOCATING, PHJ_GROW_BUCKETS_ALLOCATING, and/or PHJ_BATCH_ALLOCATING states only involve one participant being active at a time. Now you could hope for something better -- why not parallelize that work? But on the other hand, why not start simple and worry about that in some future patch instead of right away? A committed patch that does something good is better than an uncommitted patch that does something AWESOME. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company