Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bYyxH-0004XZ-LP for pgsql-hackers@arkaria.postgresql.org; Sun, 14 Aug 2016 17:12:11 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1bYyxG-0003hC-8F for pgsql-hackers@arkaria.postgresql.org; Sun, 14 Aug 2016 17:12:10 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1bYyxF-0003h5-KF for pgsql-hackers@postgresql.org; Sun, 14 Aug 2016 17:12:09 +0000 Received: from mahout.postgresql.org ([2001:4800:1501:1::227]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1bYyxB-0005DA-5d for pgsql-hackers@postgresql.org; Sun, 14 Aug 2016 17:12:08 +0000 Received: from coridan.postgresql.org ([2001:4800:1501:1::213]) by mahout.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1bYyx9-0005xY-65 for pgsql-hackers@postgresql.org; Sun, 14 Aug 2016 17:12:03 +0000 Received: from localhost ([127.0.0.1] helo=coridan.postgresql.org) by coridan.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bYyx8-00060j-2m for pgsql-hackers@postgresql.org; Sun, 14 Aug 2016 17:12:02 +0000 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: Re: WIP: Covering + unique indexes. To: pgsql-hackers@postgresql.org From: Andrey Borodin Cc: Anastasia Lubennikova Date: Sun, 14 Aug 2016 17:11:31 +0000 User-Agent: pgcommitfest X-cfsender: x4m In-Reply-To: References: <56168952.4010101@postgrespro.ru> Message-ID: <20160814171131.21390.75752.pgcf@coridan.postgresql.org> X-Pg-Spam-Score: -6.2 (------) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgsql-hackers Precedence: bulk Sender: pgsql-hackers-owner@postgresql.org VGhlIGZvbGxvd2luZyByZXZpZXcgaGFzIGJlZW4gcG9zdGVkIHRocm91Z2gg dGhlIGNvbW1pdGZlc3QgYXBwbGljYXRpb246Cm1ha2UgaW5zdGFsbGNoZWNr LXdvcmxkOiAgdGVzdGVkLCBwYXNzZWQKSW1wbGVtZW50cyBmZWF0dXJlOiAg ICAgICB0ZXN0ZWQsIGZhaWxlZApTcGVjIGNvbXBsaWFudDogICAgICAgICAg IHRlc3RlZCwgcGFzc2VkCkRvY3VtZW50YXRpb246ICAgICAgICAgICAgdGVz dGVkLCBwYXNzZWQKCkhpIGhhY2tlcnMhDQoNCkkndmUgcmVhZCB0aGUgcGF0 Y2ggYW5kIGhlcmUgaXMgbXkgY29kZSByZXZpZXcuDQoNCj09PT09PT09PT1Q VVJQT1NFPT09PT09PT09PT09DQpJJ3ZlIHVzZWQgdGhpcyBmZWF0dXJlIGZy b20gdGltZSB0byB0aW1lIHdpdGggTVMgU1FMLiBGcm9tIG15IGV4cGVyaWVu Y2UgSU5DTFVERSBpcyBhICdzdWdhciBvbiB0b3AnIGZlYXR1cmUuIA0KU29t ZSBNUyBTUUwgY2xhc3NlcyBkbyBub3QgZXZlbiBtZW50aW9uIElOQ0xVREUg ZGVzcGl0ZSBpdCdzIHRoZXJlIGZyb20gMjAwNSAodGhvdWdoIGNsYXNzZXMg ZG8gbm90IG1lbnRpb24gbG90cyBvZiBpbXBvcnRhbnQgdGhpbmdzLCBzbyBp dCdzIG5vdCBraW5kIG9mIHZhbHVhYmxlIGluZGljYXRvcikuDQpCdXQgdGhv c2Ugd2hvIHVzZSBpdCwgdXNlIGl0IHdoZW5ldmVyIHBvc3NpYmxlLiBGb3Ig ZXhhbXBsZSwgc3lzdGVtIHZpZXcgd2l0aCByZWNvbW1lbmRlZCBpbmRpY2Vz IHJhcmVseSBsaXN0IG9uZSB3aXRob3V0IElOQ0xVREUgY29sdW1ucy4NClNv LCB0aGlzIGZlYXR1cmUgaXMgdmVyeSBpbXBvcnRhbnQgZnJvbSBwZXJzcGVj dGl2ZSBvZiBjb252ZXJ0aW5nIE1TIFNRTCBEQkFzIHRvIFBvc3RncmVTUUwu IFRoaXMgaXMgaG93IEkgc2VlIGl0Lg0KDQo9PT09PT09PVNVR0dFU1RJT05T PT09PT09PT09PQ0KMC4gSW5kZXggYnVpbGQgaXMgYnJva2VuLiBUaGlzIHNj cmlwdCBodHRwczovL2dpdGh1Yi5jb20veDRtL3BnZ2lzdG9wdC9ibG9iLzhh ZDY1ZDJlMzA1ZTk4YzgzNjM4OGEwNzkwOWFmNTk4M2RiYTljNzMvdGVzdC5z cWwgU0VHRkFVTFRzIGFuZCBtYXkgY2F1c2Ugc2l0dWF0aW9uIHdoZW4geW91 IGNhbm5vdCBpbnNlcnQgYW55dGhpbmcgaW50byB0YWJsZSAoSSB0aGluayBk cm9wIG9mIGluZGV4IHdvdWxkIGhlbHAsIGJ1dCBkaWRuJ3QgdGVzdGVkIHRo aXMpDQoxLiBJIHRoaW5rIE1TIFNRTCBzeW50YXggSU5DTFVERSBpbnN0ZWFk IG9mIElOQ0xVRElORyB3b3VsZCBiZSBiZXR0ZXIgKGZvciBhIHB1cnBvc2Ug bGlzdGVkIGFib3ZlKQ0KMi4gRW1wdHkgbGluZSBhZGRlZCBpbiBydWxldXRp bHMuYy4gSXMgaXQgZm9yIGEgcmVhc29uPw0KMy4gTm93IHdlIGhhdmUgaW5k bmF0dHMgYW5kIGluZG5rZXlhdHRzIGluc3RlYWQgb2YgaW5kbmF0dHMuIEkg dGhpbmsgaXQgaXMgd29ydGggY29uc2lkZXJpbmcgcmVuYW1pbmcgaW5kbmF0 dHMgdG8gc29tZXRoaW5nIGRpZmZlcmVudCBmcm9tIG9sZCBuYW1lLiBTb21l b25lIHNvbWV3aGVyZSBjb3VsZCBzdGlsbCBzdXBwb3NlIGl0J3MgYSBudW1i ZXIgb2Yga2V5cy4NCg0KPT09PT09PT1QRVJGT1JNQU5DRT09PT09PT09PT0N CkR1ZSB0byBzdWdnZXN0aW9uIG51bWJlciAwIEkgY291bGQgbm90IG1lYXN1 cmUgcGVyZm9ybWFuY2Ugb2YgaW5kZXggYnVpbGQuIEluZGV4IGNyYXNoZXMg d2hlbiB0aGVyZSdzIG1vcmUgdGhhbiAxLjEgbWlsbGlvbiBvZiByb3dzIGlu IGEgdGFibGUuDQpQZXJmb3JtYW5jZSB0ZXN0IHNjcmlwdCBpcyBoZXJlIGh0 dHBzOi8vZ2l0aHViLmNvbS94NG0vcGdnaXN0b3B0L2Jsb2IvZjIwNmI0Mzk1 YmFhMTVhMmZhNDI4OTdlZWIyN2JkNTU1NjE5MTE5YS90ZXN0LnNxbA0KVGVz dCBzY2VuYXJpbyBpcyBmb2xsb3dpbmc6DQoxLiBDcmVhdGUgdGFibGUsIHRo ZW4gY3JlYXRlIGluZGV4LCB0aGVuIGFkZCBkYXRhLg0KMi4gTWFrZSBhIHF1 ZXJ5IHRvdWNoaW5nIGRhdGEgaW4gSU5DTFVESU5HIGNvbHVtbnMuDQpUaGlz IHNjZW5hcmlvIGlzIHRlc3RlZCBhZ2FpbnN0IHRhYmxlIHdpdGg6DQpBLiBU YWJsZSB3aXRoIGluZGV4LCB0aGF0IGRvIG5vdCBjb250YWluIHRvdWNoZWQg Y29sdW1ucywganVzdCBQSy4NCkIuIEluZGV4IHdpdGggYWxsIGNvbHVtbnMg aW4gaW5kZXguDQpDLiBJbmRleCB3aXRoIFBLIGluIGtleXMgYW5kIElOQ0xV RElORyBhbGwgb3RoZXIgY29sdW1ucy4NCg0KVGVzdHMgd2VyZSBleGVjdXRl ZCA1IHRpbWVzIG9uIFVidW50dSBWTSB1bmRlciBIeXBlci1WIGk1IDI1MDAg Q1BVLCAxNiBHYiBvZiBSQU0sIFNTRCBkaXNrLg0KVGltZSB0byBpbnNlcnQg MTBNIHJvd3M6DQpBLiBBVkcgMTEwIHNlY29uZHMgU1REIDQuOA0KQi4gQVZH IDEyMSBzZWNvbmRzIFNURCAyLjANCkMuIEFWRyAxMTEgc2Vjb25kcyBTVEQg NS43DQpJbnNlcnRzIHRvIElOQ0xVRElORyBpbmRleCBpcyBhbG1vc3QgYXMg ZmFzdCBhcyBpbnNlcnRzIHRvIGluZGV4IHdpdGhvdXQgZXh0cmEgY29sdW1u cy4NCg0KVGltZSB0byBydW4gU0VMRUNUIHF1ZXJ5Og0KQS4gQVZHIDI4NjQg bXMgU1REIDc5NA0KQi4gQVZHIDIzMjkgbXMgU1REIDg0DQpDLiBBVkcgMjI5 MyBtcyBTVEQgNTgNClNlbGVjdHMgd2l0aCBJTkNMVURJTkcgY29sdW1ucyBp cyBhbG1vc3QgYXMgZmFzdCBhcyB3aXRoIGZ1bGwgaW5kZXguDQoNCkluZGV4 IHNpemUgKGRldGVybWluaXN0aWMgbWVhc3VyZSwgU1REID0gMCkNCkEuIDMx NyBNQg0KQi4gNTA5IE1CDQpDLiAzOTkgTUINCkluZGV4IHNpemUgaXMgaW4g dGhlIG1pZGRsZSBiZXR3ZWVuIGZ1bGwgaW5kZXggYW5kIG1pbmltYWwgaW5k ZXguDQoNCkkgdGhpbmsgdGhpcyBudW1iZXJzIGFncmVlIHdpdGggZXhwZWN0 YXRpb24gZnJvbSB0aGUgZmVhdHVyZS4NCg0KPT09PT09PT1DT05DTFVTSU9O PT09PT09PT09PQ0KVGhpcyBwYXRjaCBicmluZ3MgdXNlZnVsIGFuZCBpbXBv cnRhbnQgZmVhdHVyZS4gQnVpbGQgc2hhbGwgYmUgcmVwYWlyZWQ7IG90aGVy IG15IHN1Z2dlc3Rpb25zIGFyZSBvbmx5IHN1Z2dlc3Rpb25zLg0KDQoNCg0K QmVzdCByZWdhcmRzLCBBbmRyZXkgQm9yb2RpbiwgT2N0b25pY2EgJiBVcmFs IEZlZGVyYWwgVW5pdmVyc2l0eS4KClRoZSBuZXcgc3RhdHVzIG9mIHRoaXMg cGF0Y2ggaXM6IFdhaXRpbmcgb24gQXV0aG9yCgotLSAKU2VudCB2aWEgcGdz cWwtaGFja2VycyBtYWlsaW5nIGxpc3QgKHBnc3FsLWhhY2tlcnNAcG9zdGdy ZXNxbC5vcmcpClRvIG1ha2UgY2hhbmdlcyB0byB5b3VyIHN1YnNjcmlwdGlv bjoKaHR0cDovL3d3dy5wb3N0Z3Jlc3FsLm9yZy9tYWlscHJlZi9wZ3NxbC1o YWNrZXJzCg==