Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kiRUc-0003rg-3S for pgsql-hackers@arkaria.postgresql.org; Fri, 27 Nov 2020 00:20:06 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1kiRUb-0006ap-1m for pgsql-hackers@arkaria.postgresql.org; Fri, 27 Nov 2020 00:20:05 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kiRUa-0006ah-J0 for pgsql-hackers@lists.postgresql.org; Fri, 27 Nov 2020 00:20:04 +0000 Received: from mxout4.routing.net ([2a03:2900:1:a::9]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kiRUX-0004q1-Hn for pgsql-hackers@lists.postgresql.org; Fri, 27 Nov 2020 00:20:03 +0000 Received: from mxbox1.masterlogin.de (unknown [192.168.10.88]) by mxout4.routing.net (Postfix) with ESMTP id 7F508101291 for ; Fri, 27 Nov 2020 00:19:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mailerdienst.de; s=20200217; t=1606436399; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=HsaAaKPlW9V46M3qUqN5IL63z6cz+rkWWDaBkBtNWVU=; b=x2OSIs1D+AbdMpXgxExAv0oCEi6648N5xIjI6bNvZezTnupFk8JzNwZeHHr/1NV3v5pxju EBnweqjgh6F4MKNAuruyNDWlpGC1QuKDltRRpfKmor7RfLy/lmmFtY1T1SxKe+37Av/Tjj hgrQkZUdlnb9OZWwf53wguZPuiNIBFM= Received: from remote.index.de (business-90-187-114-221.pool2.vodafone-ip.de [90.187.114.221]) by mxbox1.masterlogin.de (Postfix) with ESMTPSA id ED05D4056B for ; Fri, 27 Nov 2020 00:19:58 +0000 (UTC) Received: from invidia.index-gruppe.local (192.168.3.140) by acedia.index-gruppe.local (192.168.3.121) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1034.26; Fri, 27 Nov 2020 01:19:58 +0100 Received: from acedia.index-gruppe.local (192.168.3.121) by invidia.index-gruppe.local (192.168.3.140) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1034.26; Fri, 27 Nov 2020 01:19:58 +0100 Received: from acedia.index-gruppe.local ([fe80::ecd1:5d0a:a834:dd56]) by acedia.index-gruppe.local ([fe80::ecd1:5d0a:a834:dd56%5]) with mapi id 15.01.1034.033; Fri, 27 Nov 2020 01:19:57 +0100 From: Arne Roland To: Pg Hackers Subject: Re: Rename of triggers for partitioned tables Thread-Topic: Rename of triggers for partitioned tables Thread-Index: AQHWxEk1+rora/wutkWbcRQhC03q0KnbGQ2sgAAECBM= Date: Fri, 27 Nov 2020 00:19:57 +0000 Message-ID: <62ebc64869794398bfe46844aaa6ba15@index.de> References: ,<4e1eeffb41ac46879d45642fda0d4760@index.de> In-Reply-To: <4e1eeffb41ac46879d45642fda0d4760@index.de> Accept-Language: en-US, de-DE Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-originating-ip: [192.168.3.145] Content-Type: multipart/mixed; boundary="_004_62ebc64869794398bfe46844aaa6ba15indexde_" MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --_004_62ebc64869794398bfe46844aaa6ba15indexde_ Content-Type: multipart/alternative; boundary="_000_62ebc64869794398bfe46844aaa6ba15indexde_" --_000_62ebc64869794398bfe46844aaa6ba15indexde_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable I'm sorry for the spam. Here a patch with updated comments, I missed one be= fore. Regards Arne ________________________________ From: Arne Roland Sent: Friday, November 27, 2020 1:05:02 AM To: Pg Hackers Subject: Re: Rename of triggers for partitioned tables I'm too unhappy with the interface change, so please view attached patch in= stead. Regards Arne ________________________________ From: Arne Roland Sent: Friday, November 27, 2020 12:28:31 AM To: Pg Hackers Subject: Rename of triggers for partitioned tables Hello, I got too annoyed at building queries for gexec all the time. So wrote a pa= tch to fix the issue that the rename of partitioned trigger doesn't affect = children. In case there isn't a dependent trigger with the same name on the child the= function errors out. If the user touched the trigger of the child, it's no= t a sensitive idea to mess with it. I'm not happy with the interface change in trigger.h. Yet I don't like the = idea of creating another layer of indirection either. Even though it's a small patch, there might be other things I'm missing, so= I'd appreciate feedback. Regards Arne --_000_62ebc64869794398bfe46844aaa6ba15indexde_ Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable

I'm sorry for the spam. Here a patch with updated comments, I missed one= before.


Regards

Arne


From: Arne Roland <A.Rol= and@index.de>
Sent: Friday, November 27, 2020 1:05:02 AM
To: Pg Hackers
Subject: Re: Rename of triggers for partitioned tables
 

I'm too unhappy with the interface change, so please view attached patch= instead.


Regards

Arne


From: Arne Roland <A.Rol= and@index.de>
Sent: Friday, November 27, 2020 12:28:31 AM
To: Pg Hackers
Subject: Rename of triggers for partitioned tables
 

Hello,


I got too annoyed at building queries for gexec all the time. So wrote a= patch to fix the issue that the rename of partitioned trigger doesn't affe= ct children.


In case there isn't a dependent trigger with the same name on the child = the function errors out. If the user touched the trigger of the child, it's= not a sensitive idea to mess with it.


I'm not happy with the interface change in trigger.h. Yet I= don't like the idea of creating another layer of indirection either.


Even though it's a small patch, there might be other things I'm missing,= so I'd appreciate feedback.


Regards

Arne

--_000_62ebc64869794398bfe46844aaa6ba15indexde_-- --_004_62ebc64869794398bfe46844aaa6ba15indexde_ Content-Type: text/x-patch; name="recursive_tgrename.2.patch" Content-Description: recursive_tgrename.2.patch Content-Disposition: attachment; filename="recursive_tgrename.2.patch"; size=7054; creation-date="Fri, 27 Nov 2020 00:19:42 GMT"; modification-date="Fri, 27 Nov 2020 00:19:42 GMT" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RyaWdnZXIuYyBiL3NyYy9iYWNrZW5k L2NvbW1hbmRzL3RyaWdnZXIuYwppbmRleCBjMzM2YjIzOGFhLi5mNDY0N2QzOGM1IDEwMDY0NAot LS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy90cmlnZ2VyLmMKKysrIGIvc3JjL2JhY2tlbmQvY29t bWFuZHMvdHJpZ2dlci5jCkBAIC0xMzU3LDEyICsxMzU3LDcgQEAgZ2V0X3RyaWdnZXJfb2lkKE9p ZCByZWxpZCwgY29uc3QgY2hhciAqdHJpZ25hbWUsIGJvb2wgbWlzc2luZ19vaykKIAlyZXR1cm4g b2lkOwogfQogCi0vKgotICogUGVyZm9ybSBwZXJtaXNzaW9ucyBhbmQgaW50ZWdyaXR5IGNoZWNr cyBiZWZvcmUgYWNxdWlyaW5nIGEgcmVsYXRpb24gbG9jay4KLSAqLwotc3RhdGljIHZvaWQKLVJh bmdlVmFyQ2FsbGJhY2tGb3JSZW5hbWVUcmlnZ2VyKGNvbnN0IFJhbmdlVmFyICpydiwgT2lkIHJl bGlkLCBPaWQgb2xkcmVsaWQsCi0JCQkJCQkJCSB2b2lkICphcmcpCitzdGF0aWMgdm9pZCBjYWxs YmFja0ZvclJlbmFtZVRyaWdnZXIoY2hhciogcmVsbmFtZSwgT2lkIHJlbGlkKQogewogCUhlYXBU dXBsZQl0dXBsZTsKIAlGb3JtX3BnX2NsYXNzIGZvcm07CkBAIC0xMzc5LDI1ICsxMzc0LDM2IEBA IFJhbmdlVmFyQ2FsbGJhY2tGb3JSZW5hbWVUcmlnZ2VyKGNvbnN0IFJhbmdlVmFyICpydiwgT2lk IHJlbGlkLCBPaWQgb2xkcmVsaWQsCiAJCWVyZXBvcnQoRVJST1IsCiAJCQkJKGVycmNvZGUoRVJS Q09ERV9XUk9OR19PQkpFQ1RfVFlQRSksCiAJCQkJIGVycm1zZygiXCIlc1wiIGlzIG5vdCBhIHRh YmxlLCB2aWV3LCBvciBmb3JlaWduIHRhYmxlIiwKLQkJCQkJCXJ2LT5yZWxuYW1lKSkpOworCQkJ CQkJcmVsbmFtZSkpKTsKIAogCS8qIHlvdSBtdXN0IG93biB0aGUgdGFibGUgdG8gcmVuYW1lIG9u ZSBvZiBpdHMgdHJpZ2dlcnMgKi8KIAlpZiAoIXBnX2NsYXNzX293bmVyY2hlY2socmVsaWQsIEdl dFVzZXJJZCgpKSkKLQkJYWNsY2hlY2tfZXJyb3IoQUNMQ0hFQ0tfTk9UX09XTkVSLCBnZXRfcmVs a2luZF9vYmp0eXBlKGdldF9yZWxfcmVsa2luZChyZWxpZCkpLCBydi0+cmVsbmFtZSk7CisJCWFj bGNoZWNrX2Vycm9yKEFDTENIRUNLX05PVF9PV05FUiwgZ2V0X3JlbGtpbmRfb2JqdHlwZShnZXRf cmVsX3JlbGtpbmQocmVsaWQpKSwgcmVsbmFtZSk7CiAJaWYgKCFhbGxvd1N5c3RlbVRhYmxlTW9k cyAmJiBJc1N5c3RlbUNsYXNzKHJlbGlkLCBmb3JtKSkKIAkJZXJlcG9ydChFUlJPUiwKIAkJCQko ZXJyY29kZShFUlJDT0RFX0lOU1VGRklDSUVOVF9QUklWSUxFR0UpLAogCQkJCSBlcnJtc2coInBl cm1pc3Npb24gZGVuaWVkOiBcIiVzXCIgaXMgYSBzeXN0ZW0gY2F0YWxvZyIsCi0JCQkJCQlydi0+ cmVsbmFtZSkpKTsKKwkJCQkJCXJlbG5hbWUpKSk7CiAKIAlSZWxlYXNlU3lzQ2FjaGUodHVwbGUp OwogfQogCiAvKgotICoJCXJlbmFtZXRyaWcJCS0gY2hhbmdlcyB0aGUgbmFtZSBvZiBhIHRyaWdn ZXIgb24gYSByZWxhdGlvbgorICogUGVyZm9ybSBwZXJtaXNzaW9ucyBhbmQgaW50ZWdyaXR5IGNo ZWNrcyBiZWZvcmUgYWNxdWlyaW5nIGEgcmVsYXRpb24gbG9jay4KKyAqLworc3RhdGljIHZvaWQK K1JhbmdlVmFyQ2FsbGJhY2tGb3JSZW5hbWVUcmlnZ2VyKGNvbnN0IFJhbmdlVmFyICpydiwgT2lk IHJlbGlkLCBPaWQgb2xkcmVsaWQsCisJCQkJCQkJCSB2b2lkICphcmcpCit7CisJCWNhbGxiYWNr Rm9yUmVuYW1lVHJpZ2dlcihydi0+cmVsbmFtZSwgcmVsaWQpOworfQorCisvKgorICoJCXJlbmFt ZW9ubHl0cmlnCQktIGNoYW5nZXMgdGhlIG5hbWUgb2YgYSB0cmlnZ2VyIG9uIGEgcmVsYXRpb24K ICAqCiAgKgkJdHJpZ2dlciBuYW1lIGlzIGNoYW5nZWQgaW4gdHJpZ2dlciBjYXRhbG9nLgogICoJ CU5vIHJlY29yZCBvZiB0aGUgcHJldmlvdXMgbmFtZSBpcyBrZXB0LgorICoJICBUaGlzIGZ1bmN0 aW9uIGFzc3VtZXMgdGhhdCB0aGUgcm93IGlzIGFscmVhZHkgbG9ja2VkCiAgKgogICoJCWdldCBw cm9wZXIgcmVscmVsYXRpb24gZnJvbSByZWxhdGlvbiBjYXRhbG9nIChpZiBub3QgYXJnKQogICoJ CXNjYW4gdHJpZ2dlciBjYXRhbG9nCkBAIC0xNDA3LDQxICsxNDEzLDI2IEBAIFJhbmdlVmFyQ2Fs bGJhY2tGb3JSZW5hbWVUcmlnZ2VyKGNvbnN0IFJhbmdlVmFyICpydiwgT2lkIHJlbGlkLCBPaWQg b2xkcmVsaWQsCiAgKgkJdXBkYXRlIHJvdyBpbiBjYXRhbG9nCiAgKi8KIE9iamVjdEFkZHJlc3MK LXJlbmFtZXRyaWcoUmVuYW1lU3RtdCAqc3RtdCkKK3JlbmFtZW9ubHl0cmlnKFJlbmFtZVN0bXQg KnN0bXQsIFJlbGF0aW9uIHRncmVsLCBPaWQgcmVsaWQsIE9pZCB0Z3BhcmVudCkKIHsKIAlPaWQJ CQl0Z29pZDsKIAlSZWxhdGlvbgl0YXJnZXRyZWw7Ci0JUmVsYXRpb24JdGdyZWw7CiAJSGVhcFR1 cGxlCXR1cGxlOwogCVN5c1NjYW5EZXNjIHRnc2NhbjsKIAlTY2FuS2V5RGF0YSBrZXlbMl07Ci0J T2lkCQkJcmVsaWQ7CiAJT2JqZWN0QWRkcmVzcyBhZGRyZXNzOwogCi0JLyoKLQkgKiBMb29rIHVw IG5hbWUsIGNoZWNrIHBlcm1pc3Npb25zLCBhbmQgYWNxdWlyZSBsb2NrICh3aGljaCB3ZSB3aWxs IE5PVAotCSAqIHJlbGVhc2UgdW50aWwgZW5kIG9mIHRyYW5zYWN0aW9uKS4KLQkgKi8KLQlyZWxp ZCA9IFJhbmdlVmFyR2V0UmVsaWRFeHRlbmRlZChzdG10LT5yZWxhdGlvbiwgQWNjZXNzRXhjbHVz aXZlTG9jaywKLQkJCQkJCQkJCSAwLAotCQkJCQkJCQkJIFJhbmdlVmFyQ2FsbGJhY2tGb3JSZW5h bWVUcmlnZ2VyLAotCQkJCQkJCQkJIE5VTEwpOwogCiAJLyogSGF2ZSBsb2NrIGFscmVhZHksIHNv IGp1c3QgbmVlZCB0byBidWlsZCByZWxjYWNoZSBlbnRyeS4gKi8KIAl0YXJnZXRyZWwgPSByZWxh dGlvbl9vcGVuKHJlbGlkLCBOb0xvY2spOwogCisKIAkvKgogCSAqIFNjYW4gcGdfdHJpZ2dlciB0 d2ljZSBmb3IgZXhpc3RpbmcgdHJpZ2dlcnMgb24gcmVsYXRpb24uICBXZSBkbyB0aGlzIGluCiAJ ICogb3JkZXIgdG8gZW5zdXJlIGEgdHJpZ2dlciBkb2VzIG5vdCBleGlzdCB3aXRoIG5ld25hbWUg KFRoZSB1bmlxdWUgaW5kZXgKIAkgKiBvbiB0Z3JlbGlkL3RnbmFtZSB3b3VsZCBjb21wbGFpbiBh bnl3YXkpIGFuZCB0byBlbnN1cmUgYSB0cmlnZ2VyIGRvZXMKIAkgKiBleGlzdCB3aXRoIG9sZG5h bWUuCiAJICoKLQkgKiBOT1RFIHRoYXQgdGhpcyBpcyBjb29sIG9ubHkgYmVjYXVzZSB3ZSBoYXZl IEFjY2Vzc0V4Y2x1c2l2ZUxvY2sgb24gdGhlCi0JICogcmVsYXRpb24sIHNvIHRoZSB0cmlnZ2Vy IHNldCB3b24ndCBiZSBjaGFuZ2luZyB1bmRlcm5lYXRoIHVzLgotCSAqLwotCXRncmVsID0gdGFi bGVfb3BlbihUcmlnZ2VyUmVsYXRpb25JZCwgUm93RXhjbHVzaXZlTG9jayk7Ci0KLQkvKgogCSAq IEZpcnN0IHBhc3MgLS0gbG9vayBmb3IgbmFtZSBjb25mbGljdAogCSAqLwogCVNjYW5LZXlJbml0 KCZrZXlbMF0sCkBAIC0xNDcyLDYgKzE0NjMsNyBAQCByZW5hbWV0cmlnKFJlbmFtZVN0bXQgKnN0 bXQpCiAJCQkJQW51bV9wZ190cmlnZ2VyX3RnbmFtZSwKIAkJCQlCVEVxdWFsU3RyYXRlZ3lOdW1i ZXIsIEZfTkFNRUVRLAogCQkJCVBvaW50ZXJHZXREYXR1bShzdG10LT5zdWJuYW1lKSk7CisKIAl0 Z3NjYW4gPSBzeXN0YWJsZV9iZWdpbnNjYW4odGdyZWwsIFRyaWdnZXJSZWxpZE5hbWVJbmRleElk LCB0cnVlLAogCQkJCQkJCQlOVUxMLCAyLCBrZXkpOwogCWlmIChIZWFwVHVwbGVJc1ZhbGlkKHR1 cGxlID0gc3lzdGFibGVfZ2V0bmV4dCh0Z3NjYW4pKSkKQEAgLTE0ODQsNyArMTQ3NiwxMiBAQCBy ZW5hbWV0cmlnKFJlbmFtZVN0bXQgKnN0bXQpCiAJCXR1cGxlID0gaGVhcF9jb3B5dHVwbGUodHVw bGUpOwkvKiBuZWVkIGEgbW9kaWZpYWJsZSBjb3B5ICovCiAJCXRyaWdmb3JtID0gKEZvcm1fcGdf dHJpZ2dlcikgR0VUU1RSVUNUKHR1cGxlKTsKIAkJdGdvaWQgPSB0cmlnZm9ybS0+b2lkOwotCisJ CWlmICh0Z3BhcmVudCAhPSAwICYmIHRncGFyZW50ICE9IHRyaWdmb3JtLT50Z3BhcmVudGlkKSB7 CisJCQllcmVwb3J0KEVSUk9SLAorCQkJCQkoZXJyY29kZShFUlJDT0RFX1VOREVGSU5FRF9PQkpF Q1QpLAorCQkJCQkgZXJybXNnKCJ0cmlnZ2VyIFwiJXNcIiBmb3IgdGFibGUgXCIlc1wiIGlzIG5v dCBkZXBlbmRlbnQgb24gdGhlIHRyaWdnZXIgb24gXCIlc1wiIiwKKwkJCQkJCQlzdG10LT5zdWJu YW1lLCBSZWxhdGlvbkdldFJlbGF0aW9uTmFtZSh0YXJnZXRyZWwpLCBzdG10LT5yZWxhdGlvbi0+ cmVsbmFtZSkpKTsKKwkJfQogCQluYW1lc3RyY3B5KCZ0cmlnZm9ybS0+dGduYW1lLAogCQkJCSAg IHN0bXQtPm5ld25hbWUpOwogCkBAIC0xNTIyLDYgKzE1MTksNzQgQEAgcmVuYW1ldHJpZyhSZW5h bWVTdG10ICpzdG10KQogCXJldHVybiBhZGRyZXNzOwogfQogCisvKgorICoJCXJlbmFtZXRyaWcJ CS0gY2hhbmdlcyB0aGUgbmFtZSBvZiBhIHRyaWdnZXIgb24gYSBwb3NzaWJseSBwYXJ0aXRpb25l ZCByZWxhdGlvbiByZWN1cmlzdmVseQorICoKKyAqCQkgIGFsdGVyIG5hbWUgb2YgcGFyZW50IHRy aWdnZXIgdXNpbmcgcmVuYW1lb25seXRyaWcKKyAqCQkgIHJlY3Vyc2l2ZSBvdmVyIGNoaWxkcmVu IGFuZCBjaGFuZ2UgdGhlaXIgbmFtZXMgaW4gdGhlIHNhbWUgbWFubmVyCisgKgorICovCitPYmpl Y3RBZGRyZXNzCityZW5hbWV0cmlnSGVscGVyIChSZW5hbWVTdG10ICpzdG10LCBPaWQgdGdvaWQs IE9pZCByZWxpZCkKK3sKKworCVJlbGF0aW9uCXRncmVsOworCU9pZAkJIG5ld3Rnb2lkOworCU9i amVjdEFkZHJlc3MgICB0Z2FkZHJlc3M7CisJLyoKKwkgKiBOT1RFIHRoYXQgdGhpcyBpcyBjb29s IG9ubHkgYmVjYXVzZSB3ZSBoYXZlIEFjY2Vzc0V4Y2x1c2l2ZUxvY2sgb24gdGhlCisJICogcmVs YXRpb24sIHNvIHRoZSB0cmlnZ2VyIHNldCB3b24ndCBiZSBjaGFuZ2luZyB1bmRlcm5lYXRoIHVz LgorCSAqLworCXRncmVsID0gdGFibGVfb3BlbihUcmlnZ2VyUmVsYXRpb25JZCwgUm93RXhjbHVz aXZlTG9jayk7CisKKwkvKgorCSAqIFRoZSBsYXN0IGNhbGwgb2YgcmVuYW1ldHJpZyBvciByZW5h bWV0cmlnSGVscGVyIGFscmVhZHkgbG9ja2VkIHRoaXMgcmVsYXRpb24uCisJICovCisJdGdhZGRy ZXNzID0gcmVuYW1lb25seXRyaWcoc3RtdCwgdGdyZWwsIHJlbGlkLCB0Z29pZCk7CisJbmV3dGdv aWQgPSB0Z2FkZHJlc3Mub2JqZWN0SWQ7CisKKwkgLyoKKwkgKiAgSW4gY2FzZSB3ZSBoYXZlIGEg cGFydGlvbmVkIHRhYmxlLCB3ZSB0cmF2ZXJzZSB0aGVtIGFuZCByZW5hbWUgZXZlcnkgZGVwZW5k ZW5kIAorCSAqICB0cmlnZ2VyIG9mIHRoZSBzYW1lIG5hbWUgb3IgZXJyb3Igb3V0LCBpZiBpdCBk b2Vzbid0IGV4aXN0LgorCSAqLworCSBpZiAoaGFzX3N1YmNsYXNzKHJlbGlkKSkKKwkgeworCQkg TGlzdENlbGwgICAqY2hpbGQ7CisJCSBMaXN0CSAgICpjaGlsZHJlbjsKKyAKKwkJIC8qIE1ha2Ug c3VyZSBpdCBzdGF5cyBhIGNoaWxkLiAqLworCQkgY2hpbGRyZW4gPSBmaW5kX2luaGVyaXRhbmNl X2NoaWxkcmVuKHJlbGlkLCBBY2Nlc3NFeGNsdXNpdmVMb2NrKTsKKyAKKwkJIC8qCisJCSAgKiBm aW5kX2luaGVyaXRhbmNlX2NoaWxkcmVuIGRvZXNuJ3Qgd29yayByZWN1cnNpdmVseS4KKwkJICAq IHdlIGNoZWNrIGV2ZXJ5IGxheWVyIGluZGl2aWR1YWxseSB0byBlbnN1cmUgdGhhdCB0aGUgdHJp Z2dlciAKKwkJICAqIG9mIHRoZSBjaGlsZCBpcyBtYXRjaGluZyBpbiBjYXNlIGl0J3MgYSBwYXJ0 aXRpb25lZCB0YWJsZSBpdHNlbGYuCisJCSAgKi8KKwkJIGZvcmVhY2goY2hpbGQsIGNoaWxkcmVu KQorCQkgeworCQkJIE9pZAkJIGNoaWxkcmVsaWQgPSBsZmlyc3Rfb2lkKGNoaWxkKTsKKyAKKwkJ CSBpZiAoY2hpbGRyZWxpZCA9PSByZWxpZCkKKwkJCQkgY29udGludWU7CisJCQkgcmVuYW1ldHJp Z0hlbHBlcihzdG10LCBuZXd0Z29pZCwgY2hpbGRyZWxpZCk7CisJCSB9CisJIH0KKwkgcmV0dXJu IHRnYWRkcmVzczsKK30KKworT2JqZWN0QWRkcmVzcworcmVuYW1ldHJpZyhSZW5hbWVTdG10ICpz dG10KQoreworCS8qCisJICogTG9vayB1cCBuYW1lLCBjaGVjayBwZXJtaXNzaW9ucywgYW5kIGFj cXVpcmUgbG9jayAod2hpY2ggd2Ugd2lsbCBOT1QKKwkgKiByZWxlYXNlIHVudGlsIGVuZCBvZiB0 cmFuc2FjdGlvbikuCisJICovCisJcmV0dXJuIHJlbmFtZXRyaWdIZWxwZXIoc3RtdCwgMCwKKwkJ CQlSYW5nZVZhckdldFJlbGlkRXh0ZW5kZWQoc3RtdC0+cmVsYXRpb24sIEFjY2Vzc0V4Y2x1c2l2 ZUxvY2ssCisJCQkJCQkJCQkJCSAwLAorCQkJCQkJCQkJCQkgUmFuZ2VWYXJDYWxsYmFja0ZvclJl bmFtZVRyaWdnZXIsCisJCQkJCQkJCQkJCSBOVUxMKSk7Cit9CiAKIC8qCiAgKiBFbmFibGVEaXNh YmxlVHJpZ2dlcigpCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jb21tYW5kcy90cmlnZ2VyLmgg Yi9zcmMvaW5jbHVkZS9jb21tYW5kcy90cmlnZ2VyLmgKaW5kZXggMjQ0NTQwZDkwYi4uYzEzZDdi ZjkzMSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY29tbWFuZHMvdHJpZ2dlci5oCisrKyBiL3Ny Yy9pbmNsdWRlL2NvbW1hbmRzL3RyaWdnZXIuaApAQCAtMTU4LDYgKzE1OCwxMCBAQCBleHRlcm4g T2JqZWN0QWRkcmVzcyBDcmVhdGVUcmlnZ2VyKENyZWF0ZVRyaWdTdG10ICpzdG10LCBjb25zdCBj aGFyICpxdWVyeVN0cmluZwogZXh0ZXJuIHZvaWQgUmVtb3ZlVHJpZ2dlckJ5SWQoT2lkIHRyaWdP aWQpOwogZXh0ZXJuIE9pZAlnZXRfdHJpZ2dlcl9vaWQoT2lkIHJlbGlkLCBjb25zdCBjaGFyICpu YW1lLCBib29sIG1pc3Npbmdfb2spOwogCitleHRlcm4gT2JqZWN0QWRkcmVzcyByZW5hbWVvbmx5 dHJpZyhSZW5hbWVTdG10ICpzdG10LCBSZWxhdGlvbiB0Z3JlbCwgT2lkIHJlbGlkLCBPaWQgdGdw YXJlbnQpOworCitleHRlcm4gT2JqZWN0QWRkcmVzcyByZW5hbWV0cmlnSGVscGVyKFJlbmFtZVN0 bXQgKnN0bXQsIE9pZCB0Z29pZCwgT2lkIHJlbGlkKTsKKwogZXh0ZXJuIE9iamVjdEFkZHJlc3Mg cmVuYW1ldHJpZyhSZW5hbWVTdG10ICpzdG10KTsKIAogZXh0ZXJuIHZvaWQgRW5hYmxlRGlzYWJs ZVRyaWdnZXIoUmVsYXRpb24gcmVsLCBjb25zdCBjaGFyICp0Z25hbWUsCg== --_004_62ebc64869794398bfe46844aaa6ba15indexde_--