Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rtmTw-00HPZn-QC for pgsql-hackers@arkaria.postgresql.org; Mon, 08 Apr 2024 10:44:09 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1rtmTv-004mm9-Qc for pgsql-hackers@arkaria.postgresql.org; Mon, 08 Apr 2024 10:44:07 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rtmTv-004mm0-93 for pgsql-hackers@lists.postgresql.org; Mon, 08 Apr 2024 10:44:07 +0000 Received: from mail-ej1-x62b.google.com ([2a00:1450:4864:20::62b]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1rtmTs-001oGe-IL for pgsql-hackers@lists.postgresql.org; Mon, 08 Apr 2024 10:44:06 +0000 Received: by mail-ej1-x62b.google.com with SMTP id a640c23a62f3a-a44ad785a44so501834066b.3 for ; Mon, 08 Apr 2024 03:44:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1712573043; x=1713177843; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=F9qi07IW4HbfhehbPWECVCg34P7ACfGBoaFTK77tq5k=; b=F00buDPXm7VUBfVqvGJd/sPikxWuXT1RNOtuxxdyHfD3mL44CwFn3FTp9u+nQwkr6C nNhuTTVKQbLPmIPwAs7ynZgk3PWIs0j/r1RoTKdGdYPTmgFyBxWz85BBKmSG6418Dfpi 5VX3Tu7u8U8QCV/bCcHS3bUp3dborE/MWU+DfsgWhFa1IttRSRcNwMYkHnPq1X/LdCAN NIWFckVFgEJlZqcQ76XcuNpxTRKgo+ph7ELMM5Xts6s0k7gqC2I4MPGjVhkEB6JC6M7u dAJMJztXzxfsGeWA/gn9WniEG6pnjUuwHP6jCMwvZv48739dChPbpdh2bPfk4Im1qZ8p sgcg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712573043; x=1713177843; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=F9qi07IW4HbfhehbPWECVCg34P7ACfGBoaFTK77tq5k=; b=kQfEYTKWrPUmHmyKgswxOfEq62DuRgfkSe+0UPn1TX0eCcnDdBv1v92De29bWSNXC3 jGW8L+pBuVkXqxpD3nN0FaGTLfL5Dp4HTFqzqu80SzJVuE929+llz/2H31DPC3PdIwnU L01d3GwO7jejJdG7PpcSdZEdP0VgoiHDtcs/rx2JqmNOyvUz//TdJEDbYTcAsSEMRfbW uCM0rcWoTyLG8Fq6b+rp7w/vO0B3tzmdXcz7zT/KObH/jhyqj4J1KEdBfndTE02X1grM NAjHFRh1Sg7j9YhQ7RP6OQsFIrOOsSwGwpYM3Dnx04A8S38AucZ6ziJxTyAVYilPDY88 S0jw== X-Gm-Message-State: AOJu0Yxyf3ObqAGeKAY4VCN7HDOVrYQH9GsZsLBmaX4c6It3yTEF0um4 A2zj5/9yYuMtHdwz5Ygiv+wkyW1Xlb9mM6TlQlqSLcE87p9fLXS6wIxJWG8V3QzAGPlN2czys3J QtFb2XvFC0ENk55wY7HFzld5bu6bdc8Ja X-Google-Smtp-Source: AGHT+IF2GXheAK1L1SI/JD+aBGUEL3oK+eQVaowAnTPvwc5LfSHKsEFstrN5STsZQ+HY9DXgCcMJo84COpRcBHpe0RQ= X-Received: by 2002:a17:906:495b:b0:a51:e2a0:98ed with SMTP id f27-20020a170906495b00b00a51e2a098edmr134721ejt.4.1712573042703; Mon, 08 Apr 2024 03:44:02 -0700 (PDT) MIME-Version: 1.0 References: <171085360143.2046436.7217841141682511557.pgcf@coridan.postgresql.org> <171085858750.2046434.12246066729700037354.pgcf@coridan.postgresql.org> <909e16b4-9eda-435c-b033-8294ae4adc05@postgrespro.ru> <3a4b9c1c-3edf-4e29-9629-b4113aefb0f3@postgrespro.ru> In-Reply-To: From: Tender Wang Date: Mon, 8 Apr 2024 18:43:51 +0800 Message-ID: Subject: Re: Add SPLIT PARTITION/MERGE PARTITIONS commands To: Alexander Korotkov , Dmitry Koval Cc: PostgreSQL Hackers Content-Type: multipart/mixed; boundary="000000000000dce58e0615937b1d" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000dce58e0615937b1d Content-Type: multipart/alternative; boundary="000000000000dce58d0615937b1b" --000000000000dce58d0615937b1b Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi all, I went through the MERGE/SPLIT partition codes today, thanks for the works. I found some grammar errors: i. in error messages(Users can see this grammar errors, not friendly). ii. in codes comments Alexander Korotkov =E4=BA=8E2024=E5=B9=B44=E6=9C=887= =E6=97=A5=E5=91=A8=E6=97=A5 06:23=E5=86=99=E9=81=93=EF=BC=9A > Hi, Dmitry! > > On Fri, Apr 5, 2024 at 4:00=E2=80=AFPM Dmitry Koval > wrote: > > > I've revised the patchset. > > > > Thanks for the corrections (especially ddl.sgml). > > Could you also look at a small optimization for the MERGE PARTITIONS > > command (in a separate file > > v31-0003-Additional-patch-for-ALTER-TABLE-.-MERGE-PARTITI.patch, I wrot= e > > about it in an email 2024-03-31 00:56:50)? > > > > Files v31-0001-*.patch, v31-0002-*.patch are the same as > > v30-0001-*.patch, v30-0002-*.patch (after rebasing because patch stoppe= d > > applying due to changes in upstream). > > I've pushed 0001 and 0002. I didn't push 0003 for the following reasons. > 1) This doesn't keep functionality equivalent to 0001. With 0003, the > merged partition will inherit indexes, constraints, and so on from the > one of merging partitions. > 2) This is not necessarily an optimization. Without 0003 indexes on > the merged partition are created after moving the rows in > attachPartitionTable(). With 0003 we merge data into the existing > partition which saves its indexes. That might cause a significant > performance loss because mass inserts into indexes may be much slower > than building indexes from scratch. > I think both aspects need to be carefully considered. Even if we > accept them, this needs to be documented. I think now it's too late > for both of these. So, this should wait for v18. > > ------ > Regards, > Alexander Korotkov > > > --=20 Tender Wang OpenPie: https://en.openpie.com/ --000000000000dce58d0615937b1b Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi all,
=C2=A0 I went through the MER= GE/SPLIT partition codes today, thanks for the works.=C2=A0 I found some gr= ammar=C2=A0errors:
=C2=A0i. in error messages(Users can see this = grammar errors, not friendly).
ii. in codes comments


Alexander Korotkov <aekorotkov@gmail.com> =E4=BA=8E2024=E5=B9=B44=E6=9C=887= =E6=97=A5=E5=91=A8=E6=97=A5 06:23=E5=86=99=E9=81=93=EF=BC=9A
Hi, Dmitry!

On Fri, Apr 5, 2024 at 4:00=E2=80=AFPM Dmitry Koval <d.koval@postgrespro.ru> wro= te:
> > I've revised the patchset.
>
> Thanks for the corrections (especially ddl.sgml).
> Could you also look at a small optimization for the MERGE PARTITIONS > command (in a separate file
> v31-0003-Additional-patch-for-ALTER-TABLE-.-MERGE-PARTITI.patch, I wro= te
> about it in an email 2024-03-31 00:56:50)?
>
> Files v31-0001-*.patch, v31-0002-*.patch are the same as
> v30-0001-*.patch, v30-0002-*.patch (after rebasing because patch stopp= ed
> applying due to changes in upstream).

I've pushed 0001 and 0002.=C2=A0 I didn't push 0003 for the followi= ng reasons.
1) This doesn't keep functionality equivalent to 0001.=C2=A0 With 0003,= the
merged partition will inherit indexes, constraints, and so on from the
one of merging partitions.
2) This is not necessarily an optimization. Without 0003 indexes on
the merged partition are created after moving the rows in
attachPartitionTable(). With 0003 we merge data into the existing
partition which saves its indexes.=C2=A0 That might cause a significant
performance loss because mass inserts into indexes may be much slower
than building indexes from scratch.
I think both aspects need to be carefully considered.=C2=A0 Even if we
accept them, this needs to be documented.=C2=A0 I think now it's too la= te
for both of these.=C2=A0 So, this should wait for v18.

------
Regards,
Alexander Korotkov




--
Tender Wang
OpenPie:=C2=A0=C2=A0https://en.openpie.com/
--000000000000dce58d0615937b1b-- --000000000000dce58e0615937b1d Content-Type: application/octet-stream; name="0001-Fix-some-grammer-errors-from-error-messages-and-code.patch" Content-Disposition: attachment; filename="0001-Fix-some-grammer-errors-from-error-messages-and-code.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_luqto2pq0 RnJvbSAyYjBmZmY1MjAwMmRmOGU0ZGMzNWM3YjUwZDJmZmE5ZTMwMmI1MGQ3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAidGVuZGVyLndhbmciIDx0ZW5kZXIud2FuZ0BvcGVucGllLmNv bT4KRGF0ZTogTW9uLCA4IEFwciAyMDI0IDE4OjM1OjA1ICswODAwClN1YmplY3Q6IFtQQVRDSF0g Rml4IHNvbWUgZ3JhbW1lciBlcnJvcnMgZnJvbSBlcnJvciBtZXNzYWdlcyBhbmQgY29kZXMKIGNv bW1lbnRzLgoKLS0tCiBzcmMvYmFja2VuZC9jb21tYW5kcy90YWJsZWNtZHMuYyAgICAgIHwgMTgg KysrKysrKysrLS0tLS0tLS0tCiBzcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfdXRpbGNtZC5jICAg IHwgIDIgKy0KIHNyYy9iYWNrZW5kL3BhcnRpdGlvbmluZy9wYXJ0Ym91bmRzLmMgfCAgNiArKyst LS0KIHNyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaCAgICAgICAgfCAgMiArLQogNCBmaWxl cyBjaGFuZ2VkLCAxNCBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9zcmMvYmFja2VuZC9jb21tYW5kcy90YWJsZWNtZHMuYyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRz L3RhYmxlY21kcy5jCmluZGV4IDU4Mjg5MGEzMDIuLjJiMGI1OTRkNzUgMTAwNjQ0Ci0tLSBhL3Ny Yy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5jCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRz L3RhYmxlY21kcy5jCkBAIC0xOTA4Niw3ICsxOTA4Niw3IEBAIFF1ZXVlUGFydGl0aW9uQ29uc3Ry YWludFZhbGlkYXRpb24oTGlzdCAqKndxdWV1ZSwgUmVsYXRpb24gc2NhbnJlbCwKIH0KIAogLyoK LSAqIGF0dGFjaFBhcnRpdGlvblRhYmxlOiBhdHRhY2ggbmV3IHBhcnRpdGlvbiB0byBwYXJ0aXRp b25lZCB0YWJsZQorICogYXR0YWNoUGFydGl0aW9uVGFibGU6IGF0dGFjaCBhIG5ldyBwYXJ0aXRp b24gdG8gdGhlIHBhcnRpdGlvbmVkIHRhYmxlCiAgKgogICogd3F1ZXVlOiB0aGUgQUxURVIgVEFC TEUgd29yayBxdWV1ZTsgY2FuIGJlIE5VTEwgd2hlbiBub3QgcnVubmluZyBhcyBwYXJ0CiAgKiAg IG9mIGFuIEFMVEVSIFRBQkxFIHNlcXVlbmNlLgpAQCAtMjA4NzksMTAgKzIwODc5LDEwIEBAIEdl dEF0dHJpYnV0ZVN0b3JhZ2UoT2lkIGF0dHR5cGlkLCBjb25zdCBjaGFyICpzdG9yYWdlbW9kZSkK ICAqLwogdHlwZWRlZiBzdHJ1Y3QgU3BsaXRQYXJ0aXRpb25Db250ZXh0CiB7Ci0JRXhwclN0YXRl ICAqcGFydHF1YWxzdGF0ZTsJLyogZXhwcmVzc2lvbiBmb3IgY2hlY2sgc2xvdCBmb3IgcGFydGl0 aW9uCisJRXhwclN0YXRlICAqcGFydHF1YWxzdGF0ZTsJLyogZXhwcmVzc2lvbiBmb3IgY2hlY2tp bmcgc2xvdCBmb3IgcGFydGl0aW9uCiAJCQkJCQkJCSAqIChOVUxMIGZvciBERUZBVUxUIHBhcnRp dGlvbikgKi8KIAlCdWxrSW5zZXJ0U3RhdGUgYmlzdGF0ZTsJLyogc3RhdGUgb2YgYnVsayBpbnNl cnRzIGZvciBwYXJ0aXRpb24gKi8KLQlUdXBsZVRhYmxlU2xvdCAqZHN0c2xvdDsJLyogc2xvdCBm b3IgaW5zZXJ0IHJvdyBpbnRvIHBhcnRpdGlvbiAqLworCVR1cGxlVGFibGVTbG90ICpkc3RzbG90 OwkvKiBzbG90IGZvciBpbnNlcnRpbmcgcm93IGludG8gcGFydGl0aW9uICovCiAJUmVsYXRpb24J cGFydFJlbDsJCS8qIHJlbGF0aW9uIGZvciBwYXJ0aXRpb24gKi8KIH0gU3BsaXRQYXJ0aXRpb25D b250ZXh0OwogCkBAIC0yMTEyOSw3ICsyMTEyOSw3IEBAIG1vdmVTcGxpdFRhYmxlUm93cyhSZWxh dGlvbiByZWwsIFJlbGF0aW9uIHNwbGl0UmVsLCBMaXN0ICpwYXJ0bGlzdCwgTGlzdCAqbmV3UGFy CiB9CiAKIC8qCi0gKiBjcmVhdGVQYXJ0aXRpb25UYWJsZTogY3JlYXRlIHRhYmxlIGZvciBuZXcg cGFydGl0aW9uIHdpdGggZ2l2ZW4gbmFtZQorICogY3JlYXRlUGFydGl0aW9uVGFibGU6IGNyZWF0 ZSB0YWJsZSBmb3IgYSBuZXcgcGFydGl0aW9uIHdpdGggZ2l2ZW4gbmFtZQogICogKG5ld1BhcnRO YW1lKSBsaWtlIHRhYmxlIChtb2RlbFJlbE5hbWUpCiAgKgogICogRW11bGF0ZXMgY29tbWFuZDog Q1JFQVRFIFRBQkxFIDxuZXdQYXJ0TmFtZT4gKExJS0UgPG1vZGVsUmVsTmFtZT4KQEAgLTIxMjA2 LDcgKzIxMjA2LDcgQEAgQVRFeGVjU3BsaXRQYXJ0aXRpb24oTGlzdCAqKndxdWV1ZSwgQWx0ZXJl ZFRhYmxlSW5mbyAqdGFiLCBSZWxhdGlvbiByZWwsCiAKIAkvKgogCSAqIFdlIGFyZSBnb2luZyB0 byBkZXRhY2ggYW5kIHJlbW92ZSB0aGlzIHBhcnRpdGlvbjogbmVlZCB0byB1c2UgZXhjbHVzaXZl Ci0JICogbG9jayBmb3IgcHJldmVudCBETUwtcXVlcmllcyB0byB0aGUgcGFydGl0aW9uLgorCSAq IGxvY2sgZm9yIHByZXZlbnRpbmcgRE1MLXF1ZXJpZXMgdG8gdGhlIHBhcnRpdGlvbi4KIAkgKi8K IAlzcGxpdFJlbCA9IHRhYmxlX29wZW5ydihjbWQtPm5hbWUsIEFjY2Vzc0V4Y2x1c2l2ZUxvY2sp OwogCkBAIC0yMTI1NiwxMyArMjEyNTYsMTMgQEAgQVRFeGVjU3BsaXRQYXJ0aXRpb24oTGlzdCAq KndxdWV1ZSwgQWx0ZXJlZFRhYmxlSW5mbyAqdGFiLCBSZWxhdGlvbiByZWwsCiAKIAkvKgogCSAq IElmIG5ldyBwYXJ0aXRpb24gaGFzIHRoZSBzYW1lIG5hbWUgYXMgc3BsaXQgcGFydGl0aW9uIHRo ZW4gd2Ugc2hvdWxkCi0JICogcmVuYW1lIHNwbGl0IHBhcnRpdGlvbiBmb3IgcmV1c2UgbmFtZS4K KwkgKiByZW5hbWUgc3BsaXQgcGFydGl0aW9uIGZvciByZXVzaW5nIG5hbWUuCiAJICovCiAJaWYg KGlzU2FtZU5hbWUpCiAJewogCQkvKgogCQkgKiBXZSBtdXN0IGJ1bXAgdGhlIGNvbW1hbmQgY291 bnRlciB0byBtYWtlIHRoZSBzcGxpdCBwYXJ0aXRpb24gdHVwbGUKLQkJICogdmlzaWJsZSBmb3Ig cmVuYW1lLgorCQkgKiB2aXNpYmxlIGZvciByZW5hbWluZy4KIAkJICovCiAJCUNvbW1hbmRDb3Vu dGVySW5jcmVtZW50KCk7CiAJCS8qIFJlbmFtZSBwYXJ0aXRpb24uICovCkBAIC0yMTI3MSw3ICsy MTI3MSw3IEBAIEFURXhlY1NwbGl0UGFydGl0aW9uKExpc3QgKip3cXVldWUsIEFsdGVyZWRUYWJs ZUluZm8gKnRhYiwgUmVsYXRpb24gcmVsLAogCiAJCS8qCiAJCSAqIFdlIG11c3QgYnVtcCB0aGUg Y29tbWFuZCBjb3VudGVyIHRvIG1ha2UgdGhlIHNwbGl0IHBhcnRpdGlvbiB0dXBsZQotCQkgKiB2 aXNpYmxlIGFmdGVyIHJlbmFtZS4KKwkJICogdmlzaWJsZSBhZnRlciByZW5hbWluZy4KIAkJICov CiAJCUNvbW1hbmRDb3VudGVySW5jcmVtZW50KCk7CiAJfQpAQCAtMjE0NDYsNyArMjE0NDYsNyBA QCBBVEV4ZWNNZXJnZVBhcnRpdGlvbnMoTGlzdCAqKndxdWV1ZSwgQWx0ZXJlZFRhYmxlSW5mbyAq dGFiLCBSZWxhdGlvbiByZWwsCiAKIAkJLyoKIAkJICogV2UgYXJlIGdvaW5nIHRvIGRldGFjaCBh bmQgcmVtb3ZlIHRoaXMgcGFydGl0aW9uOiBuZWVkIHRvIHVzZQotCQkgKiBleGNsdXNpdmUgbG9j ayBmb3IgcHJldmVudCBETUwtcXVlcmllcyB0byB0aGUgcGFydGl0aW9uLgorCQkgKiBleGNsdXNp dmUgbG9jayBmb3IgcHJldmVudGluZyBETUwtcXVlcmllcyB0byB0aGUgcGFydGl0aW9uLgogCQkg Ki8KIAkJbWVyZ2luZ1BhcnRpdGlvbiA9IHRhYmxlX29wZW5ydihuYW1lLCBBY2Nlc3NFeGNsdXNp dmVMb2NrKTsKIApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX3V0aWxjbWQu YyBiL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV91dGlsY21kLmMKaW5kZXggODhhNGE0MTE4Ni4u OWUzZTE0MDg3ZiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX3V0aWxjbWQu YworKysgYi9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfdXRpbGNtZC5jCkBAIC0zODA0LDcgKzM4 MDQsNyBAQCB0cmFuc2Zvcm1BbHRlclRhYmxlU3RtdChPaWQgcmVsaWQsIEFsdGVyVGFibGVTdG10 ICpzdG10LAogCQkJCQlpZiAobGlzdF9sZW5ndGgocGFydGNtZC0+cGFydGxpc3QpIDwgMikKIAkJ CQkJCWVyZXBvcnQoRVJST1IsCiAJCQkJCQkJCShlcnJjb2RlKEVSUkNPREVfSU5WQUxJRF9PQkpF Q1RfREVGSU5JVElPTiksCi0JCQkJCQkJCSBlcnJtc2coImxpc3Qgb2YgbmV3IHBhcnRpdGlvbnMg c2hvdWxkIGNvbnRhaW5zIGF0IGxlYXN0IHR3byBpdGVtcyIpKSk7CisJCQkJCQkJCSBlcnJtc2co Imxpc3Qgb2YgbmV3IHBhcnRpdGlvbnMgc2hvdWxkIGNvbnRhaW4gYXQgbGVhc3QgdHdvIGl0ZW1z IikpKTsKIAogCQkJCQlpZiAoY21kLT5zdWJ0eXBlID09IEFUX1NwbGl0UGFydGl0aW9uKQogCQkJ CQkJdHJhbnNmb3JtUGFydGl0aW9uQ21kRm9yU3BsaXQoJmN4dCwgcGFydGNtZCk7CmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC9wYXJ0aXRpb25pbmcvcGFydGJvdW5kcy5jIGIvc3JjL2JhY2tlbmQv cGFydGl0aW9uaW5nL3BhcnRib3VuZHMuYwppbmRleCBjMzZlMjZiYTRiLi44M2RmODllOWIxIDEw MDY0NAotLS0gYS9zcmMvYmFja2VuZC9wYXJ0aXRpb25pbmcvcGFydGJvdW5kcy5jCisrKyBiL3Ny Yy9iYWNrZW5kL3BhcnRpdGlvbmluZy9wYXJ0Ym91bmRzLmMKQEAgLTQ5ODYsNyArNDk4Niw3IEBA IHNhdGlzZmllc19oYXNoX3BhcnRpdGlvbihQR19GVU5DVElPTl9BUkdTKQogICogVGhpcyBpcyBh IGhlbHBlciBmdW5jdGlvbiBmb3IgY2hlY2tfcGFydGl0aW9uc19mb3Jfc3BsaXQoKSBhbmQKICAq IGNhbGN1bGF0ZV9wYXJ0aXRpb25fYm91bmRfZm9yX21lcmdlKCkuCiAgKiBUaGlzIGZ1bmN0aW9u IGNvbXBhcmVzIHVwcGVyIGJvdW5kIG9mIGZpcnN0X2JvdW5kIGFuZCBsb3dlciBib3VuZCBvZgot ICogc2Vjb25kX2JvdW5kLiBUaGVzZSBib3VuZHMgc2hvdWxkIGJlIGVxdWFscyBleGNlcHQgY2Fz ZQorICogc2Vjb25kX2JvdW5kLiBUaGVzZSBib3VuZHMgc2hvdWxkIGJlIGVxdWFsIGV4Y2VwdCBj YXNlCiAgKiAiZGVmYXVsdFBhcnQgPT0gdHJ1ZSIgKHRoaXMgbWVhbnMgdGhhdCBvbmUgb2Ygc3Bs aXQgcGFydGl0aW9ucyBpcyBERUZBVUxUKS4KICAqIEluIHRoaXMgY2FzZSB1cHBlciBib3VuZCBv ZiBmaXJzdF9ib3VuZCBjYW4gYmUgbGVzcyB0aGFuIGxvd2VyIGJvdW5kIG9mCiAgKiBzZWNvbmRf Ym91bmQgYmVjYXVzZSBzcGFjZSBiZXR3ZWVuIG9mIHRoZXNlIGJvdW5kcyB3aWxsIGJlIGluY2x1 ZGVkIGluCkBAIC01MjYyLDcgKzUyNjIsNyBAQCBjaGVja19wYXJ0aXRpb25fYm91bmRzX2Zvcl9z cGxpdF9yYW5nZShSZWxhdGlvbiBwYXJlbnQsCiAJCQkJCSBlcnJtc2coIiVzIGJvdW5kIG9mIHBh cnRpdGlvbiBcIiVzXCIgaXMgJXMgJXMgYm91bmQgb2Ygc3BsaXQgcGFydGl0aW9uIiwKIAkJCQkJ CQlmaXJzdCA/ICJsb3dlciIgOiAidXBwZXIiLAogCQkJCQkJCXJlbG5hbWUsCi0JCQkJCQkJZGVm YXVsdFBhcnQgPyAoZmlyc3QgPyAibGVzcyB0aGFuIiA6ICJncmVhdGVyIHRoYW4iKSA6ICJub3Qg ZXF1YWxzIHRvIiwKKwkJCQkJCQlkZWZhdWx0UGFydCA/IChmaXJzdCA/ICJsZXNzIHRoYW4iIDog ImdyZWF0ZXIgdGhhbiIpIDogIm5vdCBlcXVhbCB0byIsCiAJCQkJCQkJZmlyc3QgPyAibG93ZXIi IDogInVwcGVyIiksCiAJCQkJCSBwYXJzZXJfZXJycG9zaXRpb24ocHN0YXRlLCBkYXR1bS0+bG9j YXRpb24pKSk7CiAJCX0KQEAgLTU0ODMsNyArNTQ4Myw3IEBAIGNoZWNrX3BhcmVudF92YWx1ZXNf aW5fbmV3X3BhcnRpdGlvbnMoUmVsYXRpb24gcGFyZW50LAogCQlDb25zdAkgICAqbm90Rm91bmRW YWw7CiAKIAkJaWYgKCFzZWFyY2hOdWxsKQotCQkJLyogTWFrZSBDb25zdCBmb3IgZ2V0IHN0cmlu ZyByZXByZXNlbnRhdGlvbiBvZiBub3QgZm91bmQgdmFsdWUuICovCisJCQkvKiBNYWtlIENvbnN0 IGZvciBnZXR0aW5nIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBub3QgZm91bmQgdmFsdWUuICov CiAJCQlub3RGb3VuZFZhbCA9IG1ha2VDb25zdChrZXktPnBhcnR0eXBpZFswXSwKIAkJCQkJCQkJ CWtleS0+cGFydHR5cG1vZFswXSwKIAkJCQkJCQkJCWtleS0+cGFydHR5cGNvbGxbMF0sCmRpZmYg LS1naXQgYS9zcmMvaW5jbHVkZS9ub2Rlcy9wYXJzZW5vZGVzLmggYi9zcmMvaW5jbHVkZS9ub2Rl cy9wYXJzZW5vZGVzLmgKaW5kZXggMDFmYTFhNmMyZS4uMzJkZjY4MGE5YSAxMDA2NDQKLS0tIGEv c3JjL2luY2x1ZGUvbm9kZXMvcGFyc2Vub2Rlcy5oCisrKyBiL3NyYy9pbmNsdWRlL25vZGVzL3Bh cnNlbm9kZXMuaApAQCAtOTU2LDcgKzk1Niw3IEBAIHR5cGVkZWYgc3RydWN0IFBhcnRpdGlvbkNt ZAogCU5vZGVUYWcJCXR5cGU7CiAJUmFuZ2VWYXIgICAqbmFtZTsJCQkvKiBuYW1lIG9mIHBhcnRp dGlvbiB0byBhdHRhY2gvZGV0YWNoICovCiAJUGFydGl0aW9uQm91bmRTcGVjICpib3VuZDsJLyog Rk9SIFZBTFVFUywgaWYgYXR0YWNoaW5nICovCi0JTGlzdAkgICAqcGFydGxpc3Q7CQkvKiBsaXN0 IG9mIHBhcnRpdGlvbnMsIGZvciBTUExJVCBQQVJUSVRJT04KKwlMaXN0CSAgICpwYXJ0bGlzdDsJ CS8qIGxpc3Qgb2YgcGFydGl0aW9ucywgZm9yIE1FUkdFL1NQTElUIFBBUlRJVElPTgogCQkJCQkJ CQkgKiBjb21tYW5kICovCiAJYm9vbAkJY29uY3VycmVudDsKIH0gUGFydGl0aW9uQ21kOwotLSAK Mi4yNS4xCgo= --000000000000dce58e0615937b1d--