Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eRwY8-00013L-Ex for pgsql-committers@arkaria.postgresql.org; Thu, 21 Dec 2017 08:49:56 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eRwY8-0003CD-2B for pgsql-committers@arkaria.postgresql.org; Thu, 21 Dec 2017 08:49:56 +0000 Received: from makus.postgresql.org ([2001:4800:1501:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1eRwY7-0003Bw-QL for pgsql-committers@lists.postgresql.org; Thu, 21 Dec 2017 08:49:55 +0000 Received: from mahout.postgresql.org ([2001:4800:1501:1::227]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1eRwY0-0000d8-4v for pgsql-committers@postgresql.org; Thu, 21 Dec 2017 08:49:54 +0000 Received: from gemulon.postgresql.org ([2001:4800:1501:1::198]) by mahout.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1eRwXz-0003Oi-74 for pgsql-committers@postgresql.org; Thu, 21 Dec 2017 08:49:47 +0000 Received: from git by gemulon.postgresql.org with local (Exim 4.84_2) (envelope-from ) id 1eRwXy-0004IK-TO for pgsql-committers@postgresql.org; Thu, 21 Dec 2017 08:49:46 +0000 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 To: pgsql-committers@postgresql.org From: Andres Freund Subject: pgsql: Add parallel-aware hash joins. Message-Id: Date: Thu, 21 Dec 2017 08:49:46 +0000 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk QWRkIHBhcmFsbGVsLWF3YXJlIGhhc2ggam9pbnMuCgpJbnRyb2R1Y2UgcGFyYWxsZWwtYXdhcmUg aGFzaCBqb2lucyB0aGF0IGFwcGVhciBpbiBFWFBMQUlOIHBsYW5zIGFzIFBhcmFsbGVsCkhhc2gg Sm9pbiB3aXRoIFBhcmFsbGVsIEhhc2guICBXaGlsZSBoYXNoIGpvaW5zIGNvdWxkIGFscmVhZHkg YXBwZWFyIGluCnBhcmFsbGVsIHF1ZXJpZXMsIHRoZXkgd2VyZSBwcmV2aW91c2x5IGFsd2F5cyBw YXJhbGxlbC1vYmxpdmlvdXMgYW5kIGhhZCBhCnBhcnRpYWwgc3VicGxhbiBvbmx5IG9uIHRoZSBv dXRlciBzaWRlLCBtZWFuaW5nIHRoYXQgdGhlIHdvcmsgb2YgdGhlIGlubmVyCnN1YnBsYW4gd2Fz IGR1cGxpY2F0ZWQgaW4gZXZlcnkgd29ya2VyLgoKQWZ0ZXIgdGhpcyBjb21taXQsIHRoZSBwbGFu bmVyIHdpbGwgY29uc2lkZXIgdXNpbmcgYSBwYXJ0aWFsIHN1YnBsYW4gb24gdGhlCmlubmVyIHNp ZGUgdG9vLCB1c2luZyB0aGUgUGFyYWxsZWwgSGFzaCBub2RlIHRvIGRpdmlkZSB0aGUgd29yayBv dmVyIHRoZQphdmFpbGFibGUgQ1BVIGNvcmVzIGFuZCBjb21iaW5lIGl0cyByZXN1bHRzIGluIHNo YXJlZCBtZW1vcnkuICBJZiB0aGUgam9pbgpuZWVkcyB0byBiZSBzcGxpdCBpbnRvIG11bHRpcGxl IGJhdGNoZXMgaW4gb3JkZXIgdG8gcmVzcGVjdCB3b3JrX21lbSwgdGhlbgp3b3JrZXJzIHByb2Nl c3MgZGlmZmVyZW50IGJhdGNoZXMgYXMgbXVjaCBhcyBwb3NzaWJsZSBhbmQgdGhlbiB3b3JrIHRv Z2V0aGVyCm9uIHRoZSByZW1haW5pbmcgYmF0Y2hlcy4KClRoZSBhZHZhbnRhZ2VzIG9mIGEgcGFy YWxsZWwtYXdhcmUgaGFzaCBqb2luIG92ZXIgYSBwYXJhbGxlbC1vYmxpdmlvdXMgaGFzaApqb2lu IHVzZWQgaW4gYSBwYXJhbGxlbCBxdWVyeSBhcmUgdGhhdCBpdDoKCiAqIGF2b2lkcyB3YXN0aW5n IG1lbW9yeSBvbiBkdXBsaWNhdGVkIGhhc2ggdGFibGVzCiAqIGF2b2lkcyB3YXN0aW5nIGRpc2sg c3BhY2Ugb24gZHVwbGljYXRlZCBiYXRjaCBmaWxlcwogKiBkaXZpZGVzIHRoZSB3b3JrIG9mIGJ1 aWxkaW5nIHRoZSBoYXNoIHRhYmxlIG92ZXIgdGhlIENQVXMKCk9uZSBkaXNhZHZhbnRhZ2UgaXMg dGhhdCB0aGVyZSBpcyBzb21lIGNvbW11bmljYXRpb24gYmV0d2VlbiB0aGUgcGFydGljaXBhdGlu ZwpDUFVzIHdoaWNoIG1pZ2h0IG91dHdlaWdoIHRoZSBiZW5lZml0cyBvZiBwYXJhbGxlbGlzbSBp biB0aGUgY2FzZSBvZiBzbWFsbApoYXNoIHRhYmxlcy4gIFRoaXMgaXMgYXZvaWRlZCBieSB0aGUg cGxhbm5lcidzIGV4aXN0aW5nIHJlbHVjdGFuY2UgdG8gc3VwcGx5CnBhcnRpYWwgcGxhbnMgZm9y IHNtYWxsIHNjYW5zLCBidXQgaXQgbWF5IGJlIG5lY2Vzc2FyeSB0byBlc3RpbWF0ZQpzeW5jaHJv bml6YXRpb24gY29zdHMgaW4gZnV0dXJlIGlmIHRoYXQgc2l0dWF0aW9uIGNoYW5nZXMuICBBbm90 aGVyIGlzIHRoYXQKb3V0ZXIgYmF0Y2ggMCBtdXN0IGJlIHdyaXR0ZW4gdG8gZGlzayBpZiBtdWx0 aXBsZSBiYXRjaGVzIGFyZSByZXF1aXJlZC4KCkEgcG90ZW50aWFsIGZ1dHVyZSBhZHZhbnRhZ2Ug b2YgcGFyYWxsZWwtYXdhcmUgaGFzaCBqb2lucyBpcyB0aGF0IHJpZ2h0IGFuZApmdWxsIG91dGVy IGpvaW5zIGNvdWxkIGJlIHN1cHBvcnRlZCwgc2luY2UgdGhlcmUgaXMgYSBzaW5nbGUgc2V0IG9m IG1hdGNoZWQKYml0cyBmb3IgZWFjaCBoYXNodGFibGUsIGJ1dCB0aGF0IGlzIG5vdCB5ZXQgaW1w bGVtZW50ZWQuCgpBIG5ldyBHVUMgZW5hYmxlX3BhcmFsbGVsX2hhc2ggaXMgZGVmaW5lZCB0byBj b250cm9sIHRoZSBmZWF0dXJlLCBkZWZhdWx0aW5nCnRvIG9uLgoKQXV0aG9yOiBUaG9tYXMgTXVu cm8KUmV2aWV3ZWQtQnk6IEFuZHJlcyBGcmV1bmQsIFJvYmVydCBIYWFzClRlc3RlZC1CeTogUmFm aWEgU2FiaWgsIFByYWJoYXQgU2FodQpEaXNjdXNzaW9uOgogICAgaHR0cHM6Ly9wb3N0Z3IuZXMv bS9DQUVlcG09Mlc9Y09raVp4Y2c2cWlGUVAtZEhVZTA5YXFUckVNTTd5SkRySE1oRHZfUkFAbWFp bC5nbWFpbC5jb20KICAgIGh0dHBzOi8vcG9zdGdyLmVzL20vQ0FFZXBtPTM3SEt5SjRVNlhPTGk9 SmdmU0hNM282Qi1HYWVPLTZoa09tbmVURGtIK1V3QG1haWwuZ21haWwuY29tCgpCcmFuY2gKLS0t LS0tCm1hc3RlcgoKRGV0YWlscwotLS0tLS0tCmh0dHBzOi8vZ2l0LnBvc3RncmVzcWwub3JnL3Bn L2NvbW1pdGRpZmYvMTgwNDI4NDA0MmU2NTllN2QxNjkwNGU3YmJiMGFkNTQ2Mzk0YjZhMwoKTW9k aWZpZWQgRmlsZXMKLS0tLS0tLS0tLS0tLS0KZG9jL3NyYy9zZ21sL2NvbmZpZy5zZ21sICAgICAg ICAgICAgICAgICAgICAgIHwgICAxNSArCmRvYy9zcmMvc2dtbC9tb25pdG9yaW5nLnNnbWwgICAg ICAgICAgICAgICAgICB8ICAgNjIgKy0Kc3JjL2JhY2tlbmQvZXhlY3V0b3IvZXhlY1BhcmFsbGVs LmMgICAgICAgICAgIHwgICAyMSArCnNyYy9iYWNrZW5kL2V4ZWN1dG9yL2V4ZWNQcm9jbm9kZS5j ICAgICAgICAgICB8ICAgIDMgKwpzcmMvYmFja2VuZC9leGVjdXRvci9ub2RlSGFzaC5jICAgICAg ICAgICAgICAgfCAxNjU5ICsrKysrKysrKysrKysrKysrKysrKysrLS0Kc3JjL2JhY2tlbmQvZXhl Y3V0b3Ivbm9kZUhhc2hqb2luLmMgICAgICAgICAgIHwgIDYxNyArKysrKysrKy0Kc3JjL2JhY2tl bmQvbm9kZXMvY29weWZ1bmNzLmMgICAgICAgICAgICAgICAgIHwgICAgMSArCnNyYy9iYWNrZW5k L25vZGVzL291dGZ1bmNzLmMgICAgICAgICAgICAgICAgICB8ICAgIDEgKwpzcmMvYmFja2VuZC9u b2Rlcy9yZWFkZnVuY3MuYyAgICAgICAgICAgICAgICAgfCAgICAxICsKc3JjL2JhY2tlbmQvb3B0 aW1pemVyL3BhdGgvY29zdHNpemUuYyAgICAgICAgIHwgICAyNSArLQpzcmMvYmFja2VuZC9vcHRp bWl6ZXIvcGF0aC9qb2lucGF0aC5jICAgICAgICAgfCAgIDM2ICstCnNyYy9iYWNrZW5kL29wdGlt aXplci9wbGFuL2NyZWF0ZXBsYW4uYyAgICAgICB8ICAgMTEgKwpzcmMvYmFja2VuZC9vcHRpbWl6 ZXIvdXRpbC9wYXRobm9kZS5jICAgICAgICAgfCAgICA1ICstCnNyYy9iYWNrZW5kL3Bvc3RtYXN0 ZXIvcGdzdGF0LmMgICAgICAgICAgICAgICB8ICAgNDUgKwpzcmMvYmFja2VuZC91dGlscy9taXNj L2d1Yy5jICAgICAgICAgICAgICAgICAgfCAgIDEwICstCnNyYy9iYWNrZW5kL3V0aWxzL21pc2Mv cG9zdGdyZXNxbC5jb25mLnNhbXBsZSB8ICAgIDEgKwpzcmMvaW5jbHVkZS9leGVjdXRvci9oYXNo am9pbi5oICAgICAgICAgICAgICAgfCAgMTc1ICsrLQpzcmMvaW5jbHVkZS9leGVjdXRvci9ub2Rl SGFzaC5oICAgICAgICAgICAgICAgfCAgIDI0ICstCnNyYy9pbmNsdWRlL2V4ZWN1dG9yL25vZGVI YXNoam9pbi5oICAgICAgICAgICB8ICAgIDYgKwpzcmMvaW5jbHVkZS9ub2Rlcy9leGVjbm9kZXMu aCAgICAgICAgICAgICAgICAgfCAgICA2ICsKc3JjL2luY2x1ZGUvbm9kZXMvcGxhbm5vZGVzLmgg ICAgICAgICAgICAgICAgIHwgICAgMSArCnNyYy9pbmNsdWRlL25vZGVzL3JlbGF0aW9uLmggICAg ICAgICAgICAgICAgICB8ICAgIDIgKwpzcmMvaW5jbHVkZS9vcHRpbWl6ZXIvY29zdC5oICAgICAg ICAgICAgICAgICAgfCAgICA0ICstCnNyYy9pbmNsdWRlL29wdGltaXplci9wYXRobm9kZS5oICAg ICAgICAgICAgICB8ICAgIDEgKwpzcmMvaW5jbHVkZS9wZ3N0YXQuaCAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgIDE1ICsKc3JjL2luY2x1ZGUvc3RvcmFnZS9sd2xvY2suaCAgICAgICAgICAg ICAgICAgIHwgICAgMSArCnNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvam9pbi5vdXQgICAgICAg ICAgICB8ICAzMDQgKysrKy0Kc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zeXN2aWV3cy5vdXQg ICAgICAgIHwgICAgMyArLQpzcmMvdGVzdC9yZWdyZXNzL3NxbC9qb2luLnNxbCAgICAgICAgICAg ICAgICAgfCAgMTQ4ICsrLQpzcmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRlZnMubGlzdCAgICAgICAg ICAgICAgfCAgICA0ICsKMzAgZmlsZXMgY2hhbmdlZCwgMzA5MSBpbnNlcnRpb25zKCspLCAxMTYg ZGVsZXRpb25zKC0pCgo=