Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1Zn9Ki-0006HA-S6 for pgsql-hackers@arkaria.postgresql.org; Fri, 16 Oct 2015 18:02:25 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84) (envelope-from ) id 1Zn9Kh-0003JI-Ec for pgsql-hackers@arkaria.postgresql.org; Fri, 16 Oct 2015 18:02:23 +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) (envelope-from ) id 1Zn9JN-0001sC-4a for pgsql-hackers@postgresql.org; Fri, 16 Oct 2015 18:01:02 +0000 Received: from m13-61.163.com ([220.181.13.61]) by magus.postgresql.org with esmtp (Exim 4.84) (envelope-from ) id 1Zn9J7-0000Mj-BN for pgsql-hackers@postgresql.org; Fri, 16 Oct 2015 18:00:51 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=Date:From:Subject:MIME-Version:Message-ID; bh=kZXoO /S3hU4k5lLXU8M3xxMav1zYUm1ycXJUmVwAulo=; b=ppbgpt/r33pb8eFGa4Dqh uoTc+4SClpAfZQTvE0pfxspb2XJyWdcSdrV6NCRHRr29+Q+WFCErGJuARtw+VZSE 50OT/7wGG68FJjQWGZMHcqW1mIE7LgoxzvsXveWhnBKnMl/bJUFLVg4XFYgcS5wB 6N2sQkON4BdxLfrzY2Bj0M= Received: from beijing_pg$163.com ( [125.39.9.159] ) by ajax-webmail-wmsvr61 (Coremail) ; Sat, 17 Oct 2015 02:00:13 +0800 (CST) X-Originating-IP: [125.39.9.159] Date: Sat, 17 Oct 2015 02:00:13 +0800 (CST) From: "Jinyu Zhang" To: "Alvaro Herrera" Cc: pgsql-hackers@postgresql.org Subject: Re: Patch: Optimize memory allocation in function 'bringetbitmap' X-Priority: 3 X-Mailer: Coremail Webmail Server Version SP_ntes V3.5 build 20150911(74783.7961) Copyright (c) 2002-2015 www.mailtech.cn 163com In-Reply-To: <20151016021334.GA3391@alvherre.pgsql> References: <495deb78.4186.1500dacaa63.Coremail.beijing_pg@163.com> <20150927175608.GM295765@alvherre.pgsql> <1443451254826-5867647.post@n5.nabble.com> <20151016021334.GA3391@alvherre.pgsql> X-CM-CTRLDATA: NloeP2Zvb3Rlcl9odG09MTg2MDo1Ng== Content-Type: multipart/mixed; boundary="----=_Part_7123_358947666.1445018413709" MIME-Version: 1.0 Message-ID: <2ea866d6.5fd.15071cf2a8e.Coremail.beijing_pg@163.com> X-CM-TRANSID: PcGowAB3f5cuOyFWFPypAA--.2882W X-CM-SenderInfo: xehlyxxqjb1wi6rwjhhfrp/1tbiFQWVDlWBRwWihAACs5 X-Coremail-Antispam: 1U5529EdanIXcx71UUUUU7vcSsGvfC2KfnxnUU== X-Pg-Spam-Score: -2.0 (--) 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 ------=_Part_7123_358947666.1445018413709 Content-Type: multipart/alternative; boundary="----=_Part_7125_96190080.1445018413709" ------=_Part_7125_96190080.1445018413709 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 CgpVcGRhdGUgdGhlIHBhdGNoX2JyaW5fb3B0aW16ZV9tZW0gYWNjb3JkaW5n IHRvIHlvdXIgY29tbWVudC4gCgoKCgoKCkF0IDIwMTUtMTAtMTYgMTA6MTM6 MzUsICJBbHZhcm8gSGVycmVyYSIgPGFsdmhlcnJlQDJuZHF1YWRyYW50LmNv bT4gd3JvdGU6Cj56aGFuZ2ppbnl1IHdyb3RlOgo+Cj4+ID4+Pj5Ib3dldmVy IEkgd29uZGVyIGlmIGl0IHdvdWxkIGJlIHNpbXBsZXIgdG8gaGF2ZSB0aGUg ZHR1cCBzdHJ1Y3R1cmUgaGF2ZQo+PiA+Pj4+dGhlIHBvaW50ZXJzLCBzbyB0 aGF0IHlvdSBjYW4gcGFzcyBpdCBhcyBOVUxMIGluIHRoZSBmaXJzdCBjYWxs IGFuZCB0aGVuCj4+ID4+Pj5mb2xsb3d1cCBjYWxscyByZXVzZSB0aGUgb25l IGFsbG9jYXRlZCBpbiB0aGUgZmlyc3QgY2FsbC4KPj4gSmlueXU6ICB0aGUg bWVtb3J5IGlzIGFsbG9jYXRlZCBmcm9tIHBlclJhbmdlQ3h0ICBhbmQgcGVy UmFuZ2VDeHQgd2lsbCBiZQo+PiByZXNldCBpbiBsb29wLAo+PiBzbyB0aGlz IHdheSBkb24ndCB3b3JrLiAKPgo+WW91J3JlIHJpZ2h0LiAgSSB0aGluayB3 ZSBjYW4gZG8gYmV0dGVyOiBoYXZlIGJyaW5fZGVmb3JtX3R1cGxlIGFjY2Vw dAo+YW5vdGhlciBhcmd1bWVudCBvZiB0eXBlIEJyaW5NZW1UdXBsZSAqLCB3 aGljaCBjYW4gYmUgTlVMTC4gIElmIE5VTEwsCj50aGUgZnVuY3Rpb24gY2Fs bHMgYnJpbl9uZXdfbWVtdHVwbGUgdG8gYWxsb2NhdGUgYSBuZXcgb25lIChq dXN0IGxpa2UKPmN1cnJlbnQgY29kZSk7IGlmIG5vdCBOVUxMLCB0aGF0IG9u ZSBpcyB1c2VkLiAgSGF2ZSBicmluX25ld19tZW10dXBsZQo+YWxzbyBhbGxv Y2F0ZSB0aGUgdmFsdWVzL2FsbG51bGxzL2hhc251bGxzIGFycmF5cywgd2hp Y2ggYXJlIG5vdyBwYXJ0IG9mCj50aGUgQnJpbk1lbVR1cGxlIHN0cnVjdC4g IFRoZW4sIGJyaW5nZXRiaXRtYXAgY2FsbHMgYnJpbl9uZXdfbWVtdHVwbGUK Pm9uY2UgYmVmb3JlIGNoYW5naW5nIHRvIHBlclJhbmdlQ3h0LCB0aGVuIHJl dXNlIHRoZSByZXR1cm5lZCBpbnNpZGUgdGhlCj5sb29wICh3ZSBwcm9iYWJs eSBuZWVkIGJyaW5fbWVtdHVwbGVfaW5pdGlhbGl6ZSB0byBjbGVhciBvdXQg dGhlIHN0cnVjdAo+YXQgdGhlIGVuZCBvZiBlYWNoIGxvb3AgaXRlcmF0aW9u KS4gIE90aGVyIGNhbGxlcnMgb2YgYnJpbl9kZWZvcm1fdHVwbGUKPmp1c3Qg cGFzcyBOVUxMIHRvIGdldCB0aGUgY3VycmVudCBiZWhhdmlvci4KPgo+LS0g Cj7DgWx2YXJvIEhlcnJlcmEgICAgICAgICAgICAgICAgaHR0cDovL3d3dy4y bmRRdWFkcmFudC5jb20vCj5Qb3N0Z3JlU1FMIERldmVsb3BtZW50LCAyNHg3 IFN1cHBvcnQsIFJlbW90ZSBEQkEsIFRyYWluaW5nICYgU2VydmljZXMKPgo+ Cj4tLSAKPlNlbnQgdmlhIHBnc3FsLWhhY2tlcnMgbWFpbGluZyBsaXN0IChw Z3NxbC1oYWNrZXJzQHBvc3RncmVzcWwub3JnKQo+VG8gbWFrZSBjaGFuZ2Vz IHRvIHlvdXIgc3Vic2NyaXB0aW9uOgo+aHR0cDovL3d3dy5wb3N0Z3Jlc3Fs Lm9yZy9tYWlscHJlZi9wZ3NxbC1oYWNrZXJzCg== ------=_Part_7125_96190080.1445018413709 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: base64 PGRpdiBzdHlsZT0ibGluZS1oZWlnaHQ6MS43O2NvbG9yOiMwMDAwMDA7Zm9u dC1zaXplOjE0cHg7Zm9udC1mYW1pbHk6QXJpYWwiPjxicj48YnI+VXBkYXRl IHRoZSBwYXRjaF9icmluX29wdGltemVfbWVtIGFjY29yZGluZyB0byB5b3Vy IGNvbW1lbnQuJm5ic3A7IDxicj48YnI+PGJyPjxkaXYgc3R5bGU9InBvc2l0 aW9uOnJlbGF0aXZlO3pvb206MSI+PC9kaXY+PGRpdiBpZD0iZGl2TmV0ZWFz ZU1haWxDYXJkIj48L2Rpdj48YnI+PHByZT48YnI+QXQgMjAxNS0xMC0xNiAx MDoxMzozNSwgIkFsdmFybyBIZXJyZXJhIiAmbHQ7YWx2aGVycmVAMm5kcXVh ZHJhbnQuY29tJmd0OyB3cm90ZToKJmd0O3poYW5namlueXUgd3JvdGU6CiZn dDsKJmd0OyZndDsgJmd0OyZndDsmZ3Q7Jmd0O0hvd2V2ZXIgSSB3b25kZXIg aWYgaXQgd291bGQgYmUgc2ltcGxlciB0byBoYXZlIHRoZSBkdHVwIHN0cnVj dHVyZSBoYXZlCiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyZndDt0aGUgcG9pbnRl cnMsIHNvIHRoYXQgeW91IGNhbiBwYXNzIGl0IGFzIE5VTEwgaW4gdGhlIGZp cnN0IGNhbGwgYW5kIHRoZW4KJmd0OyZndDsgJmd0OyZndDsmZ3Q7Jmd0O2Zv bGxvd3VwIGNhbGxzIHJldXNlIHRoZSBvbmUgYWxsb2NhdGVkIGluIHRoZSBm aXJzdCBjYWxsLgomZ3Q7Jmd0OyBKaW55dTogIHRoZSBtZW1vcnkgaXMgYWxs b2NhdGVkIGZyb20gcGVyUmFuZ2VDeHQgIGFuZCBwZXJSYW5nZUN4dCB3aWxs IGJlCiZndDsmZ3Q7IHJlc2V0IGluIGxvb3AsCiZndDsmZ3Q7IHNvIHRoaXMg d2F5IGRvbid0IHdvcmsuIAomZ3Q7CiZndDtZb3UncmUgcmlnaHQuICBJIHRo aW5rIHdlIGNhbiBkbyBiZXR0ZXI6IGhhdmUgYnJpbl9kZWZvcm1fdHVwbGUg YWNjZXB0CiZndDthbm90aGVyIGFyZ3VtZW50IG9mIHR5cGUgQnJpbk1lbVR1 cGxlICosIHdoaWNoIGNhbiBiZSBOVUxMLiAgSWYgTlVMTCwKJmd0O3RoZSBm dW5jdGlvbiBjYWxscyBicmluX25ld19tZW10dXBsZSB0byBhbGxvY2F0ZSBh IG5ldyBvbmUgKGp1c3QgbGlrZQomZ3Q7Y3VycmVudCBjb2RlKTsgaWYgbm90 IE5VTEwsIHRoYXQgb25lIGlzIHVzZWQuICBIYXZlIGJyaW5fbmV3X21lbXR1 cGxlCiZndDthbHNvIGFsbG9jYXRlIHRoZSB2YWx1ZXMvYWxsbnVsbHMvaGFz bnVsbHMgYXJyYXlzLCB3aGljaCBhcmUgbm93IHBhcnQgb2YKJmd0O3RoZSBC cmluTWVtVHVwbGUgc3RydWN0LiAgVGhlbiwgYnJpbmdldGJpdG1hcCBjYWxs cyBicmluX25ld19tZW10dXBsZQomZ3Q7b25jZSBiZWZvcmUgY2hhbmdpbmcg dG8gcGVyUmFuZ2VDeHQsIHRoZW4gcmV1c2UgdGhlIHJldHVybmVkIGluc2lk ZSB0aGUKJmd0O2xvb3AgKHdlIHByb2JhYmx5IG5lZWQgYnJpbl9tZW10dXBs ZV9pbml0aWFsaXplIHRvIGNsZWFyIG91dCB0aGUgc3RydWN0CiZndDthdCB0 aGUgZW5kIG9mIGVhY2ggbG9vcCBpdGVyYXRpb24pLiAgT3RoZXIgY2FsbGVy cyBvZiBicmluX2RlZm9ybV90dXBsZQomZ3Q7anVzdCBwYXNzIE5VTEwgdG8g Z2V0IHRoZSBjdXJyZW50IGJlaGF2aW9yLgomZ3Q7CiZndDstLSAKJmd0O8OB bHZhcm8gSGVycmVyYSAgICAgICAgICAgICAgICBodHRwOi8vd3d3LjJuZFF1 YWRyYW50LmNvbS8KJmd0O1Bvc3RncmVTUUwgRGV2ZWxvcG1lbnQsIDI0eDcg U3VwcG9ydCwgUmVtb3RlIERCQSwgVHJhaW5pbmcgJmFtcDsgU2VydmljZXMK Jmd0OwomZ3Q7CiZndDstLSAKJmd0O1NlbnQgdmlhIHBnc3FsLWhhY2tlcnMg bWFpbGluZyBsaXN0IChwZ3NxbC1oYWNrZXJzQHBvc3RncmVzcWwub3JnKQom Z3Q7VG8gbWFrZSBjaGFuZ2VzIHRvIHlvdXIgc3Vic2NyaXB0aW9uOgomZ3Q7 aHR0cDovL3d3dy5wb3N0Z3Jlc3FsLm9yZy9tYWlscHJlZi9wZ3NxbC1oYWNr ZXJzCjwvcHJlPjwvZGl2Pjxicj48YnI+PHNwYW4gdGl0bGU9Im5ldGVhc2Vm b290ZXIiPjxwPiZuYnNwOzwvcD48L3NwYW4+ ------=_Part_7125_96190080.1445018413709-- ------=_Part_7123_358947666.1445018413709 Content-Type: application/octet-stream; name="patch_brin_optimize_mem" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="patch_brin_optimize_mem" ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9icmluL2JyaW4uYyBi L3NyYy9iYWNrZW5kL2FjY2Vzcy9icmluL2JyaW4uYwppbmRleCA5OTMzN2Iw Li5lNzY3NjEzIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvYnJp bi9icmluLmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2JyaW4vYnJpbi5j CkBAIC0xMzEsNyArMTMxLDcgQEAgYnJpbmluc2VydChQR19GVU5DVElPTl9B UkdTKQogCQkJb2xkY3h0ID0gTWVtb3J5Q29udGV4dFN3aXRjaFRvKHR1cGN4 dCk7CiAJCX0KIAotCQlkdHVwID0gYnJpbl9kZWZvcm1fdHVwbGUoYmRlc2Ms IGJydHVwKTsKKwkJZHR1cCA9IGJyaW5fZGVmb3JtX3R1cGxlKGJkZXNjLCBi cnR1cCwgTlVMTCk7CiAKIAkJLyoKIAkJICogQ29tcGFyZSB0aGUga2V5IHZh bHVlcyBvZiB0aGUgbmV3IHR1cGxlIHRvIHRoZSBzdG9yZWQgaW5kZXggdmFs dWVzOwpAQCAtMjg0LDYgKzI4NCw5IEBAIGJyaW5nZXRiaXRtYXAoUEdfRlVO Q1RJT05fQVJHUykKIAlGbWdySW5mbyAgICpjb25zaXN0ZW50Rm47CiAJTWVt b3J5Q29udGV4dCBvbGRjeHQ7CiAJTWVtb3J5Q29udGV4dCBwZXJSYW5nZUN4 dDsKKwlCcmluTWVtVHVwbGUgKmR0dXA7CisJQnJpblR1cGxlICAgICpidHVw OworCXVpbnQzMgkgICAgIGJ0dXBJbml0U2l6ZTsKIAogCW9wYXF1ZSA9IChC cmluT3BhcXVlICopIHNjYW4tPm9wYXF1ZTsKIAliZGVzYyA9IG9wYXF1ZS0+ Ym9fYmRlc2M7CkBAIC0zMDQsNyArMzA3LDE0IEBAIGJyaW5nZXRiaXRtYXAo UEdfRlVOQ1RJT05fQVJHUykKIAkgKiBrZXkgcmVmZXJlbmNlIGVhY2ggb2Yg dGhlbS4gIFdlIHJlbHkgb24gemVyb2luZyBmbl9vaWQgdG8gSW52YWxpZE9p ZC4KIAkgKi8KIAljb25zaXN0ZW50Rm4gPSBwYWxsb2MwKHNpemVvZihGbWdy SW5mbykgKiBiZGVzYy0+YmRfdHVwZGVzYy0+bmF0dHMpOwotCisJZHR1cCA9 IGJyaW5fbmV3X21lbXR1cGxlKGJkZXNjKTsKKwkKKwkvKgorCSAqIEVzdGlt YXRlIHRoZSBhcHByb3hpbWF0ZSBzaXplIG9mIGJ0dXAgYW5kIGFsbG9jYXRl IG1lbW9yeSBmb3IgYnR1cC4KKwkgKi8KKwlidHVwSW5pdFNpemUgPSBiZGVz Yy0+YmRfdHVwZGVzYy0+bmF0dHMgKiAxNjsKKwlidHVwID0gcGFsbG9jKGJ0 dXBJbml0U2l6ZSk7CisJCiAJLyoKIAkgKiBTZXR1cCBhbmQgdXNlIGEgcGVy LXJhbmdlIG1lbW9yeSBjb250ZXh0LCB3aGljaCBpcyByZXNldCBldmVyeSB0 aW1lIHdlCiAJICogbG9vcCBiZWxvdy4gIFRoaXMgYXZvaWRzIGhhdmluZyB0 byBmcmVlIHRoZSB0dXBsZXMgd2l0aGluIHRoZSBsb29wLgpAQCAtMzM1LDgg KzM0NSwxMSBAQCBicmluZ2V0Yml0bWFwKFBHX0ZVTkNUSU9OX0FSR1MpCiAJ CXR1cCA9IGJyaW5HZXRUdXBsZUZvckhlYXBCbG9jayhvcGFxdWUtPmJvX3Jt QWNjZXNzLCBoZWFwQmxrLCAmYnVmLAogCQkJCQkJCQkJICAgJm9mZiwgJnNp emUsIEJVRkZFUl9MT0NLX1NIQVJFKTsKIAkJaWYgKHR1cCkKLQkJewotCQkJ dHVwID0gYnJpbl9jb3B5X3R1cGxlKHR1cCwgc2l6ZSk7CisJCXsJCQkKKwkJ CWlmKHNpemUgPD0gYnR1cEluaXRTaXplKQorCQkJCW1lbWNweShidHVwLCB0 dXAsIHNpemUpOworCQkJZWxzZQorCQkJCWJ0dXAgPSBicmluX2NvcHlfdHVw bGUodHVwLCBzaXplKTsKIAkJCUxvY2tCdWZmZXIoYnVmLCBCVUZGRVJfTE9D S19VTkxPQ0spOwogCQl9CiAKQEAgLTM0NCwxNSArMzU3LDEzIEBAIGJyaW5n ZXRiaXRtYXAoUEdfRlVOQ1RJT05fQVJHUykKIAkJICogRm9yIHBhZ2UgcmFu Z2VzIHdpdGggbm8gaW5kZXhlZCB0dXBsZSwgd2UgbXVzdCByZXR1cm4gdGhl IHdob2xlCiAJCSAqIHJhbmdlOyBvdGhlcndpc2UsIGNvbXBhcmUgaXQgdG8g dGhlIHNjYW4ga2V5cy4KIAkJICovCi0JCWlmICh0dXAgPT0gTlVMTCkKKwkJ aWYgKGJ0dXAgPT0gTlVMTCkKIAkJewogCQkJYWRkcmFuZ2UgPSB0cnVlOwog CQl9CiAJCWVsc2UKIAkJewotCQkJQnJpbk1lbVR1cGxlICpkdHVwOwotCi0J CQlkdHVwID0gYnJpbl9kZWZvcm1fdHVwbGUoYmRlc2MsIHR1cCk7CisJCQlk dHVwID0gYnJpbl9kZWZvcm1fdHVwbGUoYmRlc2MsIGJ0dXAsIGR0dXApOwog CQkJaWYgKGR0dXAtPmJ0X3BsYWNlaG9sZGVyKQogCQkJewogCQkJCS8qCkBA IC0xMTM2LDcgKzExNDcsNyBAQCB1bmlvbl90dXBsZXMoQnJpbkRlc2MgKmJk ZXNjLCBCcmluTWVtVHVwbGUgKmEsIEJyaW5UdXBsZSAqYikKIAkJCQkJCQkJ QUxMT0NTRVRfREVGQVVMVF9JTklUU0laRSwKIAkJCQkJCQkJQUxMT0NTRVRf REVGQVVMVF9NQVhTSVpFKTsKIAlvbGRjeHQgPSBNZW1vcnlDb250ZXh0U3dp dGNoVG8oY3h0KTsKLQlkYiA9IGJyaW5fZGVmb3JtX3R1cGxlKGJkZXNjLCBi KTsKKwlkYiA9IGJyaW5fZGVmb3JtX3R1cGxlKGJkZXNjLCBiLCBOVUxMKTsK IAlNZW1vcnlDb250ZXh0U3dpdGNoVG8ob2xkY3h0KTsKIAogCWZvciAoa2V5 bm8gPSAwOyBrZXlubyA8IGJkZXNjLT5iZF90dXBkZXNjLT5uYXR0czsga2V5 bm8rKykKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9icmluL2Jy aW5fdHVwbGUuYyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9icmluL2JyaW5fdHVw bGUuYwppbmRleCA1YTc0NjJiLi40YjlhMTYzIDEwMDY0NAotLS0gYS9zcmMv YmFja2VuZC9hY2Nlc3MvYnJpbi9icmluX3R1cGxlLmMKKysrIGIvc3JjL2Jh Y2tlbmQvYWNjZXNzL2JyaW4vYnJpbl90dXBsZS5jCkBAIC0zNDgsMjMgKzM0 OCwxNiBAQCBCcmluTWVtVHVwbGUgKgogYnJpbl9uZXdfbWVtdHVwbGUoQnJp bkRlc2MgKmJyZGVzYykKIHsKIAlCcmluTWVtVHVwbGUgKmR0dXA7Ci0JY2hh cgkgICAqY3VycmRhdHVtOwogCWxvbmcJCWJhc2VzaXplOwotCWludAkJCWk7 CiAKIAliYXNlc2l6ZSA9IE1BWEFMSUdOKHNpemVvZihCcmluTWVtVHVwbGUp ICsKIAkJCQkJCXNpemVvZihCcmluVmFsdWVzKSAqIGJyZGVzYy0+YmRfdHVw ZGVzYy0+bmF0dHMpOwogCWR0dXAgPSBwYWxsb2MwKGJhc2VzaXplICsgc2l6 ZW9mKERhdHVtKSAqIGJyZGVzYy0+YmRfdG90YWxzdG9yZWQpOwotCWN1cnJk YXR1bSA9IChjaGFyICopIGR0dXAgKyBiYXNlc2l6ZTsKLQlmb3IgKGkgPSAw OyBpIDwgYnJkZXNjLT5iZF90dXBkZXNjLT5uYXR0czsgaSsrKQotCXsKLQkJ ZHR1cC0+YnRfY29sdW1uc1tpXS5idl9hdHRubyA9IGkgKyAxOwotCQlkdHVw LT5idF9jb2x1bW5zW2ldLmJ2X2FsbG51bGxzID0gdHJ1ZTsKLQkJZHR1cC0+ YnRfY29sdW1uc1tpXS5idl9oYXNudWxscyA9IGZhbHNlOwotCQlkdHVwLT5i dF9jb2x1bW5zW2ldLmJ2X3ZhbHVlcyA9IChEYXR1bSAqKSBjdXJyZGF0dW07 Ci0JCWN1cnJkYXR1bSArPSBzaXplb2YoRGF0dW0pICogYnJkZXNjLT5iZF9p bmZvW2ldLT5vaV9uc3RvcmVkOwotCX0KLQorCQorCWR0dXAtPmJ0X3ZhbHVl cyA9IHBhbGxvYyhzaXplb2YoRGF0dW0pICogYnJkZXNjLT5iZF90b3RhbHN0 b3JlZCk7CisJZHR1cC0+YnRfYWxsbnVsbHMgPSBwYWxsb2Moc2l6ZW9mKGJv b2wpICogYnJkZXNjLT5iZF90dXBkZXNjLT5uYXR0cyk7CisJZHR1cC0+YnRf aGFzbnVsbHMgPSBwYWxsb2Moc2l6ZW9mKGJvb2wpICogYnJkZXNjLT5iZF90 dXBkZXNjLT5uYXR0cyk7CisJCiAJZHR1cC0+YnRfY29udGV4dCA9IEFsbG9j U2V0Q29udGV4dENyZWF0ZShDdXJyZW50TWVtb3J5Q29udGV4dCwKIAkJCQkJ CQkJCQkJICJicmluIGR0dXBsZSIsCiAJCQkJCQkJCQkJCSBBTExPQ1NFVF9E RUZBVUxUX01JTlNJWkUsCkBAIC0zODAsMTIgKzM3MywyMyBAQCB2b2lkCiBi cmluX21lbXR1cGxlX2luaXRpYWxpemUoQnJpbk1lbVR1cGxlICpkdHVwbGUs IEJyaW5EZXNjICpicmRlc2MpCiB7CiAJaW50CQkJaTsKLQorCWxvbmcJCWJh c2VzaXplOworCWNoYXIJICAgKmN1cnJkYXR1bTsKKwkKKwliYXNlc2l6ZSA9 IE1BWEFMSUdOKHNpemVvZihCcmluTWVtVHVwbGUpICsKKwkJCQkJCXNpemVv ZihCcmluVmFsdWVzKSAqIGJyZGVzYy0+YmRfdHVwZGVzYy0+bmF0dHMpOwor CWN1cnJkYXR1bSA9IChjaGFyICopIGR0dXBsZSArIGJhc2VzaXplOwogCU1l bW9yeUNvbnRleHRSZXNldChkdHVwbGUtPmJ0X2NvbnRleHQpOwogCWZvciAo aSA9IDA7IGkgPCBicmRlc2MtPmJkX3R1cGRlc2MtPm5hdHRzOyBpKyspCiAJ ewogCQlkdHVwbGUtPmJ0X2NvbHVtbnNbaV0uYnZfYWxsbnVsbHMgPSB0cnVl OwogCQlkdHVwbGUtPmJ0X2NvbHVtbnNbaV0uYnZfaGFzbnVsbHMgPSBmYWxz ZTsKKworCQlkdHVwbGUtPmJ0X2NvbHVtbnNbaV0uYnZfYXR0bm8gPSBpICsg MTsKKwkJZHR1cGxlLT5idF9jb2x1bW5zW2ldLmJ2X2FsbG51bGxzID0gdHJ1 ZTsKKwkJZHR1cGxlLT5idF9jb2x1bW5zW2ldLmJ2X2hhc251bGxzID0gZmFs c2U7CisJCWR0dXBsZS0+YnRfY29sdW1uc1tpXS5idl92YWx1ZXMgPSAoRGF0 dW0gKikgY3VycmRhdHVtOworCQljdXJyZGF0dW0gKz0gc2l6ZW9mKERhdHVt KSAqIGJyZGVzYy0+YmRfaW5mb1tpXS0+b2lfbnN0b3JlZDsKIAl9CiB9CiAK QEAgLTM5Nyw3ICs0MDEsNyBAQCBicmluX21lbXR1cGxlX2luaXRpYWxpemUo QnJpbk1lbVR1cGxlICpkdHVwbGUsIEJyaW5EZXNjICpicmRlc2MpCiAgKiBk ZWNvbnN0cnVjdCB0aGUgdHVwbGUgZnJvbSB0aGUgb24tZGlzayBmb3JtYXQu CiAgKi8KIEJyaW5NZW1UdXBsZSAqCi1icmluX2RlZm9ybV90dXBsZShCcmlu RGVzYyAqYnJkZXNjLCBCcmluVHVwbGUgKnR1cGxlKQorYnJpbl9kZWZvcm1f dHVwbGUoQnJpbkRlc2MgKmJyZGVzYywgQnJpblR1cGxlICp0dXBsZSwgQnJp bk1lbVR1cGxlICpkTWVtdHVwbGUpCiB7CiAJQnJpbk1lbVR1cGxlICpkdHVw OwogCURhdHVtCSAgICp2YWx1ZXM7CkBAIC00MDksMTUgKzQxMywxOCBAQCBi cmluX2RlZm9ybV90dXBsZShCcmluRGVzYyAqYnJkZXNjLCBCcmluVHVwbGUg KnR1cGxlKQogCWludAkJCXZhbHVlbm87CiAJTWVtb3J5Q29udGV4dCBvbGRj eHQ7CiAKLQlkdHVwID0gYnJpbl9uZXdfbWVtdHVwbGUoYnJkZXNjKTsKKwlk dHVwID0gZE1lbXR1cGxlOworCWlmKCFkdHVwKQorCQlkdHVwID0gYnJpbl9u ZXdfbWVtdHVwbGUoYnJkZXNjKTsKKwlicmluX21lbXR1cGxlX2luaXRpYWxp emUoZHR1cCwgYnJkZXNjKTsKIAogCWlmIChCcmluVHVwbGVJc1BsYWNlaG9s ZGVyKHR1cGxlKSkKIAkJZHR1cC0+YnRfcGxhY2Vob2xkZXIgPSB0cnVlOwog CWR0dXAtPmJ0X2Jsa25vID0gdHVwbGUtPmJ0X2Jsa25vOwogCi0JdmFsdWVz ID0gcGFsbG9jKHNpemVvZihEYXR1bSkgKiBicmRlc2MtPmJkX3RvdGFsc3Rv cmVkKTsKLQlhbGxudWxscyA9IHBhbGxvYyhzaXplb2YoYm9vbCkgKiBicmRl c2MtPmJkX3R1cGRlc2MtPm5hdHRzKTsKLQloYXNudWxscyA9IHBhbGxvYyhz aXplb2YoYm9vbCkgKiBicmRlc2MtPmJkX3R1cGRlc2MtPm5hdHRzKTsKKwl2 YWx1ZXMgPSBkdHVwLT5idF92YWx1ZXM7CisJYWxsbnVsbHMgPSBkdHVwLT5i dF9hbGxudWxsczsKKwloYXNudWxscyA9IGR0dXAtPmJ0X2hhc251bGxzOwog CiAJdHAgPSAoY2hhciAqKSB0dXBsZSArIEJyaW5UdXBsZURhdGFPZmZzZXQo dHVwbGUpOwogCkBAIC00NjAsMTAgKzQ2Nyw2IEBAIGJyaW5fZGVmb3JtX3R1 cGxlKEJyaW5EZXNjICpicmRlc2MsIEJyaW5UdXBsZSAqdHVwbGUpCiAKIAlN ZW1vcnlDb250ZXh0U3dpdGNoVG8ob2xkY3h0KTsKIAotCXBmcmVlKHZhbHVl cyk7Ci0JcGZyZWUoYWxsbnVsbHMpOwotCXBmcmVlKGhhc251bGxzKTsKLQog CXJldHVybiBkdHVwOwogfQogCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9h Y2Nlc3MvYnJpbl90dXBsZS5oIGIvc3JjL2luY2x1ZGUvYWNjZXNzL2JyaW5f dHVwbGUuaAppbmRleCBjZTYzYjMwLi5kM2RhYWM1IDEwMDY0NAotLS0gYS9z cmMvaW5jbHVkZS9hY2Nlc3MvYnJpbl90dXBsZS5oCisrKyBiL3NyYy9pbmNs dWRlL2FjY2Vzcy9icmluX3R1cGxlLmgKQEAgLTM4LDYgKzM4LDkgQEAgdHlw ZWRlZiBzdHJ1Y3QgQnJpbk1lbVR1cGxlCiAJYm9vbAkJYnRfcGxhY2Vob2xk ZXI7IC8qIHRoaXMgaXMgYSBwbGFjZWhvbGRlciB0dXBsZSAqLwogCUJsb2Nr TnVtYmVyIGJ0X2Jsa25vOwkJLyogaGVhcCBibGtubyB0aGF0IHRoZSB0dXBs ZSBpcyBmb3IgKi8KIAlNZW1vcnlDb250ZXh0IGJ0X2NvbnRleHQ7CS8qIG1l bWN4dCBob2xkaW5nIHRoZSBidF9jb2x1bW5zIHZhbHVlcyAqLworCURhdHVt CQkqYnRfdmFsdWVzOwkJLyogdmFsdWVzIHBvaW50ZXIgaXMgZm9yIGJyaW5f ZGVjb25zdHJ1Y3RfdHVwbGUgKi8KKwlib29sCQkqYnRfYWxsbnVsbHM7CS8q IGFsbG51bGxzIHBvaW50ZXIgaXMgZm9yIGJyaW5fZGVjb25zdHJ1Y3RfdHVw bGUgKi8KKwlib29sCQkqYnRfaGFzbnVsbHM7IAkvKiBoYXNudWxscyBwb2lu dGVyIGlzIGZvciBicmluX2RlY29uc3RydWN0X3R1cGxlICovCiAJQnJpblZh bHVlcwlidF9jb2x1bW5zW0ZMRVhJQkxFX0FSUkFZX01FTUJFUl07CiB9IEJy aW5NZW1UdXBsZTsKIApAQCAtOTEsNiArOTQsNiBAQCBleHRlcm4gQnJpbk1l bVR1cGxlICpicmluX25ld19tZW10dXBsZShCcmluRGVzYyAqYnJkZXNjKTsK IGV4dGVybiB2b2lkIGJyaW5fbWVtdHVwbGVfaW5pdGlhbGl6ZShCcmluTWVt VHVwbGUgKmR0dXBsZSwKIAkJCQkJCSBCcmluRGVzYyAqYnJkZXNjKTsKIGV4 dGVybiBCcmluTWVtVHVwbGUgKmJyaW5fZGVmb3JtX3R1cGxlKEJyaW5EZXNj ICpicmRlc2MsCi0JCQkJICBCcmluVHVwbGUgKnR1cGxlKTsKKwkJCQkgIEJy aW5UdXBsZSAqdHVwbGUsIEJyaW5NZW1UdXBsZSAqZE1lbXR1cGxlKTsKIAog I2VuZGlmICAgLyogQlJJTl9UVVBMRV9IICovCg== ------=_Part_7123_358947666.1445018413709 Content-Type: text/plain Content-Disposition: inline Content-Transfer-Encoding: 8bit MIME-Version: 1.0 -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers ------=_Part_7123_358947666.1445018413709--