Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1alWi7-00045M-8v for pgadmin-hackers@arkaria.postgresql.org; Thu, 31 Mar 2016 07:08:07 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1alWi6-0007g2-NG for pgadmin-hackers@arkaria.postgresql.org; Thu, 31 Mar 2016 07:08:06 +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 1alWhr-0007RG-N4 for pgadmin-hackers@postgresql.org; Thu, 31 Mar 2016 07:07:51 +0000 Received: from mail-oi0-x234.google.com ([2607:f8b0:4003:c06::234]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1alWhj-0005X0-6e for pgadmin-hackers@postgresql.org; Thu, 31 Mar 2016 07:07:50 +0000 Received: by mail-oi0-x234.google.com with SMTP id p188so15941173oih.2 for ; Thu, 31 Mar 2016 00:07:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:date:message-id:subject:from:to; bh=WXqdqCVfyX1tFj9C5gZlBoeNXVdpGGcrb0PG8fqEWrg=; b=bB3A/41BDkVga5rgYSyYOV6V2YslI7tVHO/kr2lhMKeaaSe88IYtuR3oMbxwh+Lmyh KefVcvef4eTFrdNnmGitqcaFNuuDbbaBNH0hHGWJa/uoCrpHjufDchZEUs7j0v5nxd8R B3qWLELuw3fcTvbzTicfC/dYSLe7rdfOGFh8OmJfMwQtc81Ww7wH8NFNPVqcRiZF0YQE QQkvrdEm3b0lUktWnGLMzQ4FRnHmQUDPwE5kzUPRlXcwCfcYCPeNywirdinH8NYXlGfs SwzdnQz1kdyN1cJKurJFEEZcz7Ai1yRr0H1hMaIeByl3XriKviBLxMZq9dW1ihg2fnPY 6TWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to; bh=WXqdqCVfyX1tFj9C5gZlBoeNXVdpGGcrb0PG8fqEWrg=; b=hi8LmZWwz9jJaZPLKxrqsgBUrrSOYqfVX/r9aS03ff/CDaH85EMMeqYabp760aG3cK G6RRms7AgymSIt3K1TKto5psj6JXfMM6tle0uEwIuSuj9SUctPXnl2tyVIH2vSTgrPl3 4Iu/w65lFs2iXRjPLy0a5zdelc3Dtv4eqborEZU0AVXcZoLF55/xabDau816CCgCpryU 4yAFC/uPgANXBBGnMYcqdZXk+G3yAsRCkrfZoPvZ2/YK90zaL8uoZrulQwkzbmOoEUGN CCRZo9+R0L2ikzVp8XCilTbz4Cv0IkHzezAd6t1PJeJAws69XqnfTocxtiadBTmjMlAC eboA== X-Gm-Message-State: AD7BkJJkeiTyDmte5mX6jzwMM63tD+PesylnN+N42lKjW0i2PZos+UOuEfDUJNwvONSvLUx4/WwVBZ3qvfE9EiPl MIME-Version: 1.0 X-Received: by 10.157.9.165 with SMTP id q34mr7770237otd.52.1459408061122; Thu, 31 Mar 2016 00:07:41 -0700 (PDT) Received: by 10.202.49.194 with HTTP; Thu, 31 Mar 2016 00:07:40 -0700 (PDT) In-Reply-To: References: Date: Thu, 31 Mar 2016 12:37:40 +0530 Message-ID: Subject: Re: [pgAdmin4][Patch] Add formatted error message support in psycopg2 From: Akshay Joshi To: pgadmin-hackers Content-Type: multipart/mixed; boundary=001a113dcdca114451052f52eb13 X-Pg-Spam-Score: -2.6 (--) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgadmin-hackers Precedence: bulk Sender: pgadmin-hackers-owner@postgresql.org --001a113dcdca114451052f52eb13 Content-Type: multipart/alternative; boundary=001a113dcdca11444b052f52eb11 --001a113dcdca11444b052f52eb11 Content-Type: text/plain; charset=UTF-8 Hi On Tue, Mar 29, 2016 at 8:09 PM, Akshay Joshi wrote: > Hi All > > While implementing Query Tool, I came to know we need error message's with > some extra information and also I have faced one issue regarding > asynchronous connection polling. I have added support for formatted error > message and also fixed the issue. > > Attached is the patch file. Please review it and let me know the review > comments if any. > Apart from above, today I fixed one more issue. In case of user cancel the running transaction, poll function of psycopg2 returns psycopg2.extensions.POLL_OK, which is mislead by the caller of the function, so I have added one flag which will be true if user purposely cancel the transaction and from our poll function we return new status i.e. ASYNC_CANCEL_TRANSACTION. Attached is the modified patch. Please review it and if it looks good please commit it. > > > -- > *Akshay Joshi* > *Principal Software Engineer * > > > > *Phone: +91 20-3058-9517Mobile: +91 976-788-8246* > -- *Akshay Joshi* *Principal Software Engineer * *Phone: +91 20-3058-9517Mobile: +91 976-788-8246* --001a113dcdca11444b052f52eb11 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi=C2=A0


--
Aksha= y Joshi


<= b>Phone: +91 20-3058-9517
Mobile: +91 976-788= -8246
--001a113dcdca11444b052f52eb11-- --001a113dcdca114451052f52eb13 Content-Type: application/octet-stream; name="Psycopg_Formatted_error_v2.patch" Content-Disposition: attachment; filename="Psycopg_Formatted_error_v2.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_imfxtqf71 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3V0aWxzL2RyaXZlci9hYnN0cmFj dC5weSBiL3dlYi9wZ2FkbWluL3V0aWxzL2RyaXZlci9hYnN0cmFjdC5weQpp bmRleCA4YTIzY2NiLi5jMjkwM2QxIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1p bi91dGlscy9kcml2ZXIvYWJzdHJhY3QucHkKKysrIGIvd2ViL3BnYWRtaW4v dXRpbHMvZHJpdmVyL2Fic3RyYWN0LnB5CkBAIC0xNDcsNiArMTQ3LDcgQEAg Y2xhc3MgQmFzZUNvbm5lY3Rpb24ob2JqZWN0KToKICAgICBBU1lOQ19SRUFE X1RJTUVPVVQgPSAyCiAgICAgQVNZTkNfV1JJVEVfVElNRU9VVCA9IDMKICAg ICBBU1lOQ19OT1RfQ09OTkVDVEVEID0gNAorICAgIEFTWU5DX0NBTkNFTF9U UkFOU0FDVElPTiA9IDUKIAogICAgIEBhYnN0cmFjdG1ldGhvZAogICAgIGRl ZiBjb25uZWN0KHNlbGYsICoqa3dhcmdzKToKZGlmZiAtLWdpdCBhL3dlYi9w Z2FkbWluL3V0aWxzL2RyaXZlci9wc3ljb3BnMi9fX2luaXRfXy5weSBiL3dl Yi9wZ2FkbWluL3V0aWxzL2RyaXZlci9wc3ljb3BnMi9fX2luaXRfXy5weQpp bmRleCBkYjkzOGJjLi5hOTdhODUzIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1p bi91dGlscy9kcml2ZXIvcHN5Y29wZzIvX19pbml0X18ucHkKKysrIGIvd2Vi L3BnYWRtaW4vdXRpbHMvZHJpdmVyL3BzeWNvcGcyL19faW5pdF9fLnB5CkBA IC0zNSw3ICszNSw3IEBAIGZyb20gLmtleXdvcmRzIGltcG9ydCBTY2FuS2V5 d29yZAogCiBfID0gZ2V0dGV4dAogCi1BU1lOQ19XQUlUX1RJTUVPVVQgPSAw LjEgICMgaW4gc2Vjb25kcyBvciAxMDAgbWlsbGlzZWNvbmRzCitBU1lOQ19X QUlUX1RJTUVPVVQgPSAwLjAxICAjIGluIHNlY29uZHMgb3IgMTAgbWlsbGlz ZWNvbmRzCiAKIAogY2xhc3MgQ29ubmVjdGlvbihCYXNlQ29ubmVjdGlvbik6 CkBAIC0xMDIsNiArMTAyLDExIEBAIGNsYXNzIENvbm5lY3Rpb24oQmFzZUNv bm5lY3Rpb24pOgogICAgICogbWVzc2FnZXMoKQogICAgICAgLSBSZXR1cm5z IHRoZSBsaXN0IG9mIG1lc3NhZ2VzL25vdGljZXMgc2VuZHMgZnJvbSB0aGUg UG9zdGdyZVNRTCBkYXRhYmFzZQogICAgICAgICBzZXJ2ZXIuCisKKyAgICAq IF9mb3JtYXR0ZWRfZXJyb3JfbXNnKGVycl9vYmopCisgICAgICAtIFRoaXMg bWV0aG9kIGlzIHVzZWQgdG8gcGFyc2UgdGhlIHBzeWNvcGcyLkVycm9yIG9i amVjdCBhbmQgcmV0dXJucyB0aGUKKyAgICAgICAgZm9ybWF0dGVkIGVycm9y IG1lc3NhZ2UuCisKICAgICAiIiIKICAgICBkZWYgX19pbml0X18oc2VsZiwg bWFuYWdlciwgY29ubl9pZCwgZGIsIGF1dG9fcmVjb25uZWN0PVRydWUsIGFz eW5jPTApOgogICAgICAgICBhc3NlcnQobWFuYWdlciBpcyBub3QgTm9uZSkK QEAgLTExNiw2ICsxMjEsOCBAQCBjbGFzcyBDb25uZWN0aW9uKEJhc2VDb25u ZWN0aW9uKToKICAgICAgICAgc2VsZi5fX2FzeW5jX2N1cnNvciA9IE5vbmUK ICAgICAgICAgc2VsZi5fX2FzeW5jX3F1ZXJ5X2lkID0gTm9uZQogICAgICAg ICBzZWxmLl9fYmFja2VuZF9waWQgPSBOb25lCisgICAgICAgIHNlbGYuZm9y bWF0dGVkX2Vycm9yID0gTm9uZQorICAgICAgICBzZWxmLmlzX2NhbmNlbF90 cmFuc2FjdGlvbiA9IEZhbHNlCiAKICAgICAgICAgc3VwZXIoQ29ubmVjdGlv biwgc2VsZikuX19pbml0X18oKQogCkBAIC0yMjQsNiArMjMxLDcgQEAgRmFp bGVkIHRvIGNvbm5lY3QgdG8gdGhlIGRhdGFiYXNlIHNlcnZlcigje3NlcnZl cl9pZH0pIGZvciBjb25uZWN0aW9uICh7Y29ubl9pZH0KIAogICAgICAgICBz ZWxmLmNvbm4gPSBwZ19jb25uCiAgICAgICAgIHNlbGYuX19iYWNrZW5kX3Bp ZCA9IHBnX2Nvbm4uZ2V0X2JhY2tlbmRfcGlkKCkKKyAgICAgICAgc2VsZi5p c19jYW5jZWxfdHJhbnNhY3Rpb24gPSBGYWxzZQogCiAgICAgICAgICMgYXV0 b2NvbW1pdCBmbGFnIGRvZXMgbm90IHdvcmsgd2l0aCBhc3luY2hyb25vdXMg Y29ubmVjdGlvbnMuCiAgICAgICAgICMgQnkgZGVmYXVsdCBhc3luY2hyb25v dXMgY29ubmVjdGlvbiBydW5zIGluIGF1dG9jb21taXQgbW9kZS4KQEAgLTQ0 NywxNSArNDU1LDE3IEBAIEF0dGVtcHQgdG8gcmVjb25uZWN0IGl0IGZhaWxl ZCB3aXRoIHRoZSBiZWxvdyBlcnJvcjoKIAogICAgICAgICByZXR1cm4gVHJ1 ZSwgTm9uZQogCi0gICAgZGVmIGV4ZWN1dGVfYXN5bmMoc2VsZiwgcXVlcnks IHBhcmFtcz1Ob25lKToKKyAgICBkZWYgZXhlY3V0ZV9hc3luYyhzZWxmLCBx dWVyeSwgcGFyYW1zPU5vbmUsIGZvcm1hdHRlZF9lcnJvcj1GYWxzZSk6CiAg ICAgICAgICIiIgogICAgICAgICBUaGlzIGZ1bmN0aW9uIGV4ZWN1dGVzIHRo ZSBnaXZlbiBxdWVyeSBhc3luY2hyb25vdXNseSBhbmQgcmV0dXJucyByZXN1 bHQuCiAKICAgICAgICAgQXJnczoKICAgICAgICAgICAgIHF1ZXJ5OiBTUUwg cXVlcnkgdG8gcnVuLgogICAgICAgICAgICAgcGFyYW1zOiBleHRyYSBwYXJh bWV0ZXJzIHRvIHRoZSBmdW5jdGlvbgorICAgICAgICAgICAgZm9ybWF0dGVk X2Vycm9yOiBpZiBUcnVlIHRoZW4gZnVuY3Rpb24gcmV0dXJuIHRoZSBmb3Jt YXR0ZWQgZXJyb3IKICAgICAgICAgIiIiCiAgICAgICAgIHN0YXR1cywgY3Vy ID0gc2VsZi5fX2N1cnNvcigpCisgICAgICAgIHNlbGYuZm9ybWF0dGVkX2Vy cm9yID0gZm9ybWF0dGVkX2Vycm9yCiAKICAgICAgICAgaWYgbm90IHN0YXR1 czoKICAgICAgICAgICAgIHJldHVybiBGYWxzZSwgc3RyKGN1cikKQEAgLTQ3 MiwxMCArNDgyLDIxIEBAIEV4ZWN1dGUgKGFzeW5jKSBmb3Igc2VydmVyICN7 c2VydmVyX2lkfSAtIHtjb25uX2lkfSAoUXVlcnktaWQ6IHtxdWVyeV9pZH0p Olxue3F1CiAgICAgICAgICkKIAogICAgICAgICB0cnk6CisgICAgICAgICAg ICBzZWxmLmlzX2NhbmNlbF90cmFuc2FjdGlvbiA9IEZhbHNlCiAgICAgICAg ICAgICBjdXIuZXhlY3V0ZShxdWVyeSwgcGFyYW1zKQogICAgICAgICAgICAg cmVzID0gc2VsZi5fd2FpdF90aW1lb3V0KGN1ci5jb25uZWN0aW9uLCBBU1lO Q19XQUlUX1RJTUVPVVQpCiAgICAgICAgIGV4Y2VwdCBwc3ljb3BnMi5FcnJv ciBhcyBwZToKLSAgICAgICAgICAgIGVycm1zZyA9IHN0cihwZSkKKyAgICAg ICAgICAgIGlmIHNlbGYuZm9ybWF0dGVkX2Vycm9yOgorICAgICAgICAgICAg ICAgICMgR2V0IHRoZSBmb3JtYXR0ZWQgZXJyb3IgbWVzc2FnZQorICAgICAg ICAgICAgICAgIGVycm1zZyA9IHNlbGYuX2Zvcm1hdHRlZF9lcnJvcl9tc2co cGUpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGlmIHBl LnBnZXJyb3I6CisgICAgICAgICAgICAgICAgICAgIGVycm1zZyA9IHBlLnBn ZXJyb3IKKyAgICAgICAgICAgICAgICBlbGlmIHBlLmRpYWcubWVzc2FnZV9k ZXRhaWw6CisgICAgICAgICAgICAgICAgICAgIGVycm1zZyA9IHBlLmRpYWcu bWVzc2FnZV9kZXRhaWwKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAg ICAgICAgICAgICAgICBlcnJtc2cgPSBzdHIocGUpCisKICAgICAgICAgICAg IGN1cnJlbnRfYXBwLmxvZ2dlci5lcnJvcigiIiIKIEZhaWxlZCB0byBleGVj dXRlIHF1ZXJ5IChleGVjdXRlX2FzeW5jKSBmb3IgdGhlIHNlcnZlciAje3Nl cnZlcl9pZH0gLSB7Y29ubl9pZH0KIChRdWVyeS1pZDoge3F1ZXJ5X2lkfSk6 XG5FcnJvciBNZXNzYWdlOntlcnJtc2d9CkBAIC03MjgsMTEgKzc0OSwxNSBA QCBGYWlsZWQgdG8gcmVzZXQgdGhlIGNvbm5lY3Rpb24gb2YgdGhlIHNlcnZl ciBkdWUgdG8gZm9sbG93aW5nIGVycm9yOgogICAgICAgICBpZiBzdGF0ZSA9 PSBwc3ljb3BnMi5leHRlbnNpb25zLlBPTExfT0s6CiAgICAgICAgICAgICBy ZXR1cm4gc2VsZi5BU1lOQ19PSwogICAgICAgICBlbGlmIHN0YXRlID09IHBz eWNvcGcyLmV4dGVuc2lvbnMuUE9MTF9XUklURToKLSAgICAgICAgICAgIHNl bGVjdC5zZWxlY3QoW10sIFtjb25uLmZpbGVubygpXSwgW10sIHRpbWUpCi0g ICAgICAgICAgICByZXR1cm4gc2VsZi5BU1lOQ19XUklURV9USU1FT1VUCisg ICAgICAgICAgICBpZiBzZWxlY3Quc2VsZWN0KFtdLCBbY29ubi5maWxlbm8o KV0sIFtdLCB0aW1lKSA9PSAoW10sIFtdLCBbXSk6CisgICAgICAgICAgICAg ICAgcmV0dXJuIHNlbGYuQVNZTkNfV1JJVEVfVElNRU9VVAorICAgICAgICAg ICAgIyBDYWxsIHJlY3Vyc2l2ZWx5IGlmIG5vIHRpbWVvdXQKKyAgICAgICAg ICAgIHNlbGYuX3dhaXRfdGltZW91dChjb25uLCB0aW1lKQogICAgICAgICBl bGlmIHN0YXRlID09IHBzeWNvcGcyLmV4dGVuc2lvbnMuUE9MTF9SRUFEOgot ICAgICAgICAgICAgc2VsZWN0LnNlbGVjdChbY29ubi5maWxlbm8oKV0sIFtd LCBbXSwgdGltZSkKLSAgICAgICAgICAgIHJldHVybiBzZWxmLkFTWU5DX1JF QURfVElNRU9VVAorICAgICAgICAgICAgaWYgc2VsZWN0LnNlbGVjdChbY29u bi5maWxlbm8oKV0sIFtdLCBbXSwgdGltZSkgPT0gKFtdLCBbXSwgW10pOgor ICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLkFTWU5DX1JFQURfVElNRU9V VAorCisgICAgICAgICAgICBzZWxmLl93YWl0X3RpbWVvdXQoY29ubiwgdGlt ZSkKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHJhaXNlIHBzeWNvcGcy Lk9wZXJhdGlvbmFsRXJyb3IoInBvbGwoKSByZXR1cm5lZCAlcyBmcm9tIF93 YWl0X3RpbWVvdXQgZnVuY3Rpb24iICUgc3RhdGUpCiAKQEAgLTc1MSwxMSAr Nzc2LDMyIEBAIEZhaWxlZCB0byByZXNldCB0aGUgY29ubmVjdGlvbiBvZiB0 aGUgc2VydmVyIGR1ZSB0byBmb2xsb3dpbmcgZXJyb3I6CiAgICAgICAgIGN1 cnJlbnRfYXBwLmxvZ2dlci5sb2coMjUsICIiIgogUG9sbGluZyByZXN1bHQg Zm9yIChRdWVyeS1pZDoge3F1ZXJ5X2lkfSkiIiIuZm9ybWF0KHF1ZXJ5X2lk PXNlbGYuX19hc3luY19xdWVyeV9pZCkpCiAKLSAgICAgICAgc3RhdHVzID0g c2VsZi5fd2FpdF90aW1lb3V0KHNlbGYuY29ubiwgQVNZTkNfV0FJVF9USU1F T1VUKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBzdGF0dXMgPSBzZWxm Ll93YWl0X3RpbWVvdXQoc2VsZi5jb25uLCBBU1lOQ19XQUlUX1RJTUVPVVQp CisgICAgICAgIGV4Y2VwdCBwc3ljb3BnMi5FcnJvciBhcyBwZToKKyAgICAg ICAgICAgIGlmIHNlbGYuZm9ybWF0dGVkX2Vycm9yOgorICAgICAgICAgICAg ICAgICMgR2V0IHRoZSBmb3JtYXR0ZWQgZXJyb3IgbWVzc2FnZQorICAgICAg ICAgICAgICAgIGVycm1zZyA9IHNlbGYuX2Zvcm1hdHRlZF9lcnJvcl9tc2co cGUpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGlmIHBl LnBnZXJyb3I6CisgICAgICAgICAgICAgICAgICAgIGVycm1zZyA9IHBlLnBn ZXJyb3IKKyAgICAgICAgICAgICAgICBlbGlmIHBlLmRpYWcubWVzc2FnZV9k ZXRhaWw6CisgICAgICAgICAgICAgICAgICAgIGVycm1zZyA9IHBlLmRpYWcu bWVzc2FnZV9kZXRhaWwKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAg ICAgICAgICAgICAgICBlcnJtc2cgPSBzdHIocGUpCisgICAgICAgICAgICBy ZXR1cm4gRmFsc2UsIGVycm1zZywgTm9uZQorCiAgICAgICAgIGNvbGluZm8g PSBOb25lCiAgICAgICAgIGlmIHN0YXR1cyA9PSBzZWxmLkFTWU5DX09LOgor CisgICAgICAgICAgICAjIGlmIHVzZXIgaGFzIGNhbmNlbGxlZCB0aGUgdHJh bnNhY3Rpb24gdGhlbiBjaGFuZ2VkIHRoZSBzdGF0dXMKKyAgICAgICAgICAg IGlmIHNlbGYuaXNfY2FuY2VsX3RyYW5zYWN0aW9uOgorICAgICAgICAgICAg ICAgIHN0YXR1cyA9IHNlbGYuQVNZTkNfQ0FOQ0VMX1RSQU5TQUNUSU9OCisg ICAgICAgICAgICAgICAgcmV0dXJuIHN0YXR1cywgTm9uZSwgY29saW5mbwor CiAgICAgICAgICAgICAjIEZldGNoIHRoZSBjb2x1bW4gaW5mb3JtYXRpb24K LSAgICAgICAgICAgIGNvbGluZm8gPSBbZGVzYyBmb3IgZGVzYyBpbiBjdXIu ZGVzY3JpcHRpb25dCisgICAgICAgICAgICBpZiBjdXIuZGVzY3JpcHRpb24g aXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgY29saW5mbyA9IFtkZXNj IGZvciBkZXNjIGluIGN1ci5kZXNjcmlwdGlvbl0KIAogICAgICAgICAgICAg aWYgY3VyLnJvd2NvdW50ID4gMDoKICAgICAgICAgICAgICAgICByZXN1bHQg PSBbXQpAQCAtODIzLDYgKzg2OSw5IEBAIFBvbGxpbmcgcmVzdWx0IGZvciAo UXVlcnktaWQ6IHtxdWVyeV9pZH0pIiIiLmZvcm1hdChxdWVyeV9pZD1zZWxm Ll9fYXN5bmNfcXVlcnlfCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBp ZiBzZWxmLmNvbm5lY3RlZCgpOgogICAgICAgICAgICAgICAgIHN0YXR1cywg bXNnID0gc2VsZi5leGVjdXRlX3ZvaWQocXVlcnkpCisKKyAgICAgICAgICAg ICAgICBpZiBzdGF0dXM6CisgICAgICAgICAgICAgICAgICAgIGNhbmNlbF9j b25uLmlzX2NhbmNlbF90cmFuc2FjdGlvbiA9IFRydWUKICAgICAgICAgICAg IGVsc2U6CiAgICAgICAgICAgICAgICAgc3RhdHVzID0gRmFsc2UKICAgICAg ICAgICAgICAgICBtc2cgPSBnZXR0ZXh0KCJOb3QgY29ubmVjdGVkIHRvIHRo ZSBkYXRhYmFzZSBzZXJ2ZXIuIikKQEAgLTgzNSw2ICs4ODQsNjQgQEAgUG9s bGluZyByZXN1bHQgZm9yIChRdWVyeS1pZDoge3F1ZXJ5X2lkfSkiIiIuZm9y bWF0KHF1ZXJ5X2lkPXNlbGYuX19hc3luY19xdWVyeV8KICAgICAgICAgIiIi CiAgICAgICAgIHJldHVybiBzZWxmLmNvbm4ubm90aWNlcyBpZiBzZWxmLmNv bm4gZWxzZSBbXQogCisgICAgZGVmIF9mb3JtYXR0ZWRfZXJyb3JfbXNnKHNl bGYsIGVycl9vYmopOgorICAgICAgICAiIiIKKyAgICAgICAgVGhpcyBtZXRo b2QgaXMgdXNlZCB0byBwYXJzZSB0aGUgcHN5Y29wZzIuRXJyb3Igb2JqZWN0 CisgICAgICAgIGFuZCByZXR1cm5zIHRoZSBmb3JtYXR0ZWQgZXJyb3IgbWVz c2FnZS4KKworICAgICAgICBBcmdzOgorICAgICAgICAgICAgZXJyX29iajog cHN5Y29wZzIuRXJyb3Igb2JqZWN0CisKKyAgICAgICAgUmV0dXJuczogRm9y bWF0dGVkIGVycm9yIG1lc3NhZ2UKKyAgICAgICAgIiIiCisKKyAgICAgICAg aWYgZXJyX29iai5wZ2Vycm9yOgorICAgICAgICAgICAgZXJybXNnID0gZXJy X29iai5wZ2Vycm9yCisgICAgICAgIGVsaWYgZXJyX29iai5kaWFnLm1lc3Nh Z2VfZGV0YWlsOgorICAgICAgICAgICAgZXJybXNnID0gZXJyX29iai5kaWFn Lm1lc3NhZ2VfZGV0YWlsCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBl cnJtc2cgPSBzdHIoZXJyX29iaikKKworICAgICAgICBlcnJtc2cgKz0gJyoq KioqKioqKiogRXJyb3IgKioqKioqKioqKlxuXG4nCisKKyAgICAgICAgaWYg ZXJyX29iai5kaWFnLnNldmVyaXR5IGlzIG5vdCBOb25lIFwKKyAgICAgICAg ICAgICAgICBhbmQgZXJyX29iai5kaWFnLm1lc3NhZ2VfcHJpbWFyeSBpcyBu b3QgTm9uZToKKyAgICAgICAgICAgIGVycm1zZyArPSBlcnJfb2JqLmRpYWcu c2V2ZXJpdHkgKyAiOiAiICsgZXJyX29iai5kaWFnLm1lc3NhZ2VfcHJpbWFy eQorICAgICAgICBlbGlmIGVycl9vYmouZGlhZy5tZXNzYWdlX3ByaW1hcnkg aXMgbm90IE5vbmU6CisgICAgICAgICAgICBlcnJtc2cgKz0gZXJyX29iai5k aWFnLm1lc3NhZ2VfcHJpbWFyeQorCisgICAgICAgIGlmIGVycl9vYmouZGlh Zy5zcWxzdGF0ZSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIGlmIG5vdCBl cnJtc2dbOi0xXS5lbmRzd2l0aCgnXG4nKToKKyAgICAgICAgICAgICAgICBl cnJtc2cgKz0gJ1xuJworICAgICAgICAgICAgZXJybXNnICs9IGdldHRleHQo J1NRTCBzdGF0ZTogJykKKyAgICAgICAgICAgIGVycm1zZyArPSBlcnJfb2Jq LmRpYWcuc3Fsc3RhdGUKKworICAgICAgICBpZiBlcnJfb2JqLmRpYWcubWVz c2FnZV9kZXRhaWwgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBpZiBub3Qg ZXJybXNnWzotMV0uZW5kc3dpdGgoJ1xuJyk6CisgICAgICAgICAgICAgICAg ZXJybXNnICs9ICdcbicKKyAgICAgICAgICAgIGVycm1zZyArPSBnZXR0ZXh0 KCdEZXRhaWw6ICcpCisgICAgICAgICAgICBlcnJtc2cgKz0gZXJyX29iai5k aWFnLm1lc3NhZ2VfZGV0YWlsCisKKyAgICAgICAgaWYgZXJyX29iai5kaWFn Lm1lc3NhZ2VfaGludCBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIGlmIG5v dCBlcnJtc2dbOi0xXS5lbmRzd2l0aCgnXG4nKToKKyAgICAgICAgICAgICAg ICBlcnJtc2cgKz0gJ1xuJworICAgICAgICAgICAgZXJybXNnICs9IGdldHRl eHQoJ0hpbnQ6ICcpCisgICAgICAgICAgICBlcnJtc2cgKz0gZXJyX29iai5k aWFnLm1lc3NhZ2VfaGludAorCisgICAgICAgIGlmIGVycl9vYmouZGlhZy5z dGF0ZW1lbnRfcG9zaXRpb24gaXMgbm90IE5vbmU6CisgICAgICAgICAgICBp ZiBub3QgZXJybXNnWzotMV0uZW5kc3dpdGgoJ1xuJyk6CisgICAgICAgICAg ICAgICAgZXJybXNnICs9ICdcbicKKyAgICAgICAgICAgIGVycm1zZyArPSBn ZXR0ZXh0KCdDaGFyYWN0ZXI6ICcpCisgICAgICAgICAgICBlcnJtc2cgKz0g ZXJyX29iai5kaWFnLnN0YXRlbWVudF9wb3NpdGlvbgorCisgICAgICAgIGlm IGVycl9vYmouZGlhZy5jb250ZXh0IGlzIG5vdCBOb25lOgorICAgICAgICAg ICAgaWYgbm90IGVycm1zZ1s6LTFdLmVuZHN3aXRoKCdcbicpOgorICAgICAg ICAgICAgICAgIGVycm1zZyArPSAnXG4nCisgICAgICAgICAgICBlcnJtc2cg Kz0gZ2V0dGV4dCgnQ29udGV4dDogJykKKyAgICAgICAgICAgIGVycm1zZyAr PSBlcnJfb2JqLmRpYWcuY29udGV4dAorCisgICAgICAgIHJldHVybiBlcnJt c2cKKwogCiBjbGFzcyBTZXJ2ZXJNYW5hZ2VyKG9iamVjdCk6CiAgICAgIiIi Cg== --001a113dcdca114451052f52eb13 Content-Type: text/plain Content-Disposition: inline Content-Transfer-Encoding: 8bit MIME-Version: 1.0 -- Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgadmin-hackers --001a113dcdca114451052f52eb13--