Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1akunf-0003EX-KK for pgadmin-hackers@arkaria.postgresql.org; Tue, 29 Mar 2016 14:39:19 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1akunf-0005q6-6t for pgadmin-hackers@arkaria.postgresql.org; Tue, 29 Mar 2016 14:39:19 +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 1akune-0005q0-Lp for pgadmin-hackers@postgresql.org; Tue, 29 Mar 2016 14:39:18 +0000 Received: from mail-oi0-x22a.google.com ([2607:f8b0:4003:c06::22a]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1akunW-0004PU-Lc for pgadmin-hackers@postgresql.org; Tue, 29 Mar 2016 14:39:18 +0000 Received: by mail-oi0-x22a.google.com with SMTP id d205so24474871oia.0 for ; Tue, 29 Mar 2016 07:39:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb-com.20150623.gappssmtp.com; s=20150623; h=mime-version:date:message-id:subject:from:to; bh=L0eKWXJHlP7ExdA4fLWzkxMD4k9seMLwW3IfgDP9Xk0=; b=SCzrweu058DjB93+osl2LppsZHFzE7rKq67bOP3VJ4xOVEE/4V6Me1bUi2mBXN93Mn ryqZb7HwwBBl0c2DfZ2Ph6dHp86+QODphedhB054w4MQO2GuP0XmPHFJn8e3vFzEwX1U QQHmNJ/v6PoYFWp1NNLwAGfQKxBMoehXgcCqFlNExR/uP1suSMkx4fvOs7qauTO37v2Z YWpIPGdoDx1GDb/pmty0aatb6xf4mlr+YTYTzfskXoOr2Z0V5CD2Fr1wcubRsSQW2OLk 4uwaLTQlvJu4Ic6L4hmyrBPKEbrKWa1LZS068Fc+HPq4V1nh5YkMt4s9ZnF4MV6TQQBD geDw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:date:message-id:subject:from:to; bh=L0eKWXJHlP7ExdA4fLWzkxMD4k9seMLwW3IfgDP9Xk0=; b=Gp16FObQ0TcY+bDFeIGqVTgWoapelZ+k4c0ds4QFZQqA0oplCAGICTKSX/3/9yqD8h HBcPl1KmeSgMYj6wAFynxas4ObCjv3iCxWL2TuQ+lqzi5+OXGcQmUAMVY2hzT8in7MKJ jnV7TqneAjsc8CZ3LqqfJpoQWYgzMlOWeLJLISFx4HcWGlnevf1bEfSpHhi9DJ8JYy7u c83cNPZ2BLhI5cbMOKYu7XRxe+zHvBhQcvmXPkyFzCYwHOil8PLqNVtQVM04ApNz0K6u BIDwTJsH1ORVnShs3U3VLnLCn3i856JfVSQUo/n52h3iS44sFworKyZSqk9aYbxiBKZR pbkg== X-Gm-Message-State: AD7BkJJVtMpjH/NtuMM6L6634v0J4DitkDV9i1ZN21oRQxZguUk2grMW/uZ+nJQ+Okt1wA2IGyStcHweQ2+EuYLC MIME-Version: 1.0 X-Received: by 10.157.9.165 with SMTP id q34mr1394055otd.52.1459262348128; Tue, 29 Mar 2016 07:39:08 -0700 (PDT) Received: by 10.202.49.194 with HTTP; Tue, 29 Mar 2016 07:39:08 -0700 (PDT) Date: Tue, 29 Mar 2016 20:09:08 +0530 Message-ID: Subject: [pgAdmin4][Patch] Add formatted error message support in psycopg2 From: Akshay Joshi To: pgadmin-hackers Content-Type: multipart/mixed; boundary=001a113dcdcae5d521052f30fdd7 X-Pg-Spam-Score: -1.0 (-) 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 --001a113dcdcae5d521052f30fdd7 Content-Type: multipart/alternative; boundary=001a113dcdcae5d51c052f30fdd5 --001a113dcdcae5d51c052f30fdd5 Content-Type: text/plain; charset=UTF-8 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. -- *Akshay Joshi* *Principal Software Engineer * *Phone: +91 20-3058-9517Mobile: +91 976-788-8246* --001a113dcdcae5d51c052f30fdd5 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi All=C2=A0

While implementing Query T= ool, 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.= =C2=A0

Attached is the patch file. Please review i= t and let me know the review comments if any.

--
Akshay Joshi
Principal So= ftware Engineer=C2=A0
<= b>

Phone: +91 20-3058-9517
Mobile: +91 976-788-8246
=
--001a113dcdcae5d51c052f30fdd5-- --001a113dcdcae5d521052f30fdd7 Content-Type: application/octet-stream; name="Psycopg_Formatted_Error.patch" Content-Disposition: attachment; filename="Psycopg_Formatted_Error.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_imdj3p7f0 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3V0aWxzL2RyaXZlci9wc3ljb3Bn Mi9fX2luaXRfXy5weSBiL3dlYi9wZ2FkbWluL3V0aWxzL2RyaXZlci9wc3lj b3BnMi9fX2luaXRfXy5weQppbmRleCBkYjkzOGJjLi5lYjhhYzk0IDEwMDY0 NAotLS0gYS93ZWIvcGdhZG1pbi91dGlscy9kcml2ZXIvcHN5Y29wZzIvX19p bml0X18ucHkKKysrIGIvd2ViL3BnYWRtaW4vdXRpbHMvZHJpdmVyL3BzeWNv cGcyL19faW5pdF9fLnB5CkBAIC0zNSw3ICszNSw3IEBAIGZyb20gLmtleXdv cmRzIGltcG9ydCBTY2FuS2V5d29yZAogCiBfID0gZ2V0dGV4dAogCi1BU1lO Q19XQUlUX1RJTUVPVVQgPSAwLjEgICMgaW4gc2Vjb25kcyBvciAxMDAgbWls bGlzZWNvbmRzCitBU1lOQ19XQUlUX1RJTUVPVVQgPSAwLjAxICAjIGluIHNl Y29uZHMgb3IgMTAgbWlsbGlzZWNvbmRzCiAKIAogY2xhc3MgQ29ubmVjdGlv bihCYXNlQ29ubmVjdGlvbik6CkBAIC0xMDIsNiArMTAyLDExIEBAIGNsYXNz IENvbm5lY3Rpb24oQmFzZUNvbm5lY3Rpb24pOgogICAgICogbWVzc2FnZXMo KQogICAgICAgLSBSZXR1cm5zIHRoZSBsaXN0IG9mIG1lc3NhZ2VzL25vdGlj ZXMgc2VuZHMgZnJvbSB0aGUgUG9zdGdyZVNRTCBkYXRhYmFzZQogICAgICAg ICBzZXJ2ZXIuCisKKyAgICAqIF9mb3JtYXR0ZWRfZXJyb3JfbXNnKGVycl9v YmopCisgICAgICAtIFRoaXMgbWV0aG9kIGlzIHVzZWQgdG8gcGFyc2UgdGhl IHBzeWNvcGcyLkVycm9yIG9iamVjdCBhbmQgcmV0dXJucyB0aGUKKyAgICAg ICAgZm9ybWF0dGVkIGVycm9yIG1lc3NhZ2UuCisKICAgICAiIiIKICAgICBk ZWYgX19pbml0X18oc2VsZiwgbWFuYWdlciwgY29ubl9pZCwgZGIsIGF1dG9f cmVjb25uZWN0PVRydWUsIGFzeW5jPTApOgogICAgICAgICBhc3NlcnQobWFu YWdlciBpcyBub3QgTm9uZSkKQEAgLTQ0NywxNSArNDUyLDE3IEBAIEF0dGVt cHQgdG8gcmVjb25uZWN0IGl0IGZhaWxlZCB3aXRoIHRoZSBiZWxvdyBlcnJv cjoKIAogICAgICAgICByZXR1cm4gVHJ1ZSwgTm9uZQogCi0gICAgZGVmIGV4 ZWN1dGVfYXN5bmMoc2VsZiwgcXVlcnksIHBhcmFtcz1Ob25lKToKKyAgICBk ZWYgZXhlY3V0ZV9hc3luYyhzZWxmLCBxdWVyeSwgcGFyYW1zPU5vbmUsIGZv cm1hdHRlZF9lcnJvcj1GYWxzZSk6CiAgICAgICAgICIiIgogICAgICAgICBU aGlzIGZ1bmN0aW9uIGV4ZWN1dGVzIHRoZSBnaXZlbiBxdWVyeSBhc3luY2hy b25vdXNseSBhbmQgcmV0dXJucyByZXN1bHQuCiAKICAgICAgICAgQXJnczoK ICAgICAgICAgICAgIHF1ZXJ5OiBTUUwgcXVlcnkgdG8gcnVuLgogICAgICAg ICAgICAgcGFyYW1zOiBleHRyYSBwYXJhbWV0ZXJzIHRvIHRoZSBmdW5jdGlv bgorICAgICAgICAgICAgZm9ybWF0dGVkX2Vycm9yOiBpZiBUcnVlIHRoZW4g ZnVuY3Rpb24gcmV0dXJuIHRoZSBmb3JtYXR0ZWQgZXJyb3IKICAgICAgICAg IiIiCiAgICAgICAgIHN0YXR1cywgY3VyID0gc2VsZi5fX2N1cnNvcigpCisg ICAgICAgIHNlbGYuZm9ybWF0dGVkX2Vycm9yID0gZm9ybWF0dGVkX2Vycm9y CiAKICAgICAgICAgaWYgbm90IHN0YXR1czoKICAgICAgICAgICAgIHJldHVy biBGYWxzZSwgc3RyKGN1cikKQEAgLTQ3NSw3ICs0ODIsMTcgQEAgRXhlY3V0 ZSAoYXN5bmMpIGZvciBzZXJ2ZXIgI3tzZXJ2ZXJfaWR9IC0ge2Nvbm5faWR9 IChRdWVyeS1pZDoge3F1ZXJ5X2lkfSk6XG57cXUKICAgICAgICAgICAgIGN1 ci5leGVjdXRlKHF1ZXJ5LCBwYXJhbXMpCiAgICAgICAgICAgICByZXMgPSBz ZWxmLl93YWl0X3RpbWVvdXQoY3VyLmNvbm5lY3Rpb24sIEFTWU5DX1dBSVRf VElNRU9VVCkKICAgICAgICAgZXhjZXB0IHBzeWNvcGcyLkVycm9yIGFzIHBl OgotICAgICAgICAgICAgZXJybXNnID0gc3RyKHBlKQorICAgICAgICAgICAg aWYgc2VsZi5mb3JtYXR0ZWRfZXJyb3I6CisgICAgICAgICAgICAgICAgIyBH ZXQgdGhlIGZvcm1hdHRlZCBlcnJvciBtZXNzYWdlCisgICAgICAgICAgICAg ICAgZXJybXNnID0gc2VsZi5fZm9ybWF0dGVkX2Vycm9yX21zZyhwZSkKKyAg ICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgaWYgcGUucGdlcnJv cjoKKyAgICAgICAgICAgICAgICAgICAgZXJybXNnID0gcGUucGdlcnJvcgor ICAgICAgICAgICAgICAgIGVsaWYgcGUuZGlhZy5tZXNzYWdlX2RldGFpbDoK KyAgICAgICAgICAgICAgICAgICAgZXJybXNnID0gcGUuZGlhZy5tZXNzYWdl X2RldGFpbAorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAg ICAgICAgIGVycm1zZyA9IHN0cihwZSkKKwogICAgICAgICAgICAgY3VycmVu dF9hcHAubG9nZ2VyLmVycm9yKCIiIgogRmFpbGVkIHRvIGV4ZWN1dGUgcXVl cnkgKGV4ZWN1dGVfYXN5bmMpIGZvciB0aGUgc2VydmVyICN7c2VydmVyX2lk fSAtIHtjb25uX2lkfQogKFF1ZXJ5LWlkOiB7cXVlcnlfaWR9KTpcbkVycm9y IE1lc3NhZ2U6e2Vycm1zZ30KQEAgLTcyOCwxMSArNzQ1LDE1IEBAIEZhaWxl ZCB0byByZXNldCB0aGUgY29ubmVjdGlvbiBvZiB0aGUgc2VydmVyIGR1ZSB0 byBmb2xsb3dpbmcgZXJyb3I6CiAgICAgICAgIGlmIHN0YXRlID09IHBzeWNv cGcyLmV4dGVuc2lvbnMuUE9MTF9PSzoKICAgICAgICAgICAgIHJldHVybiBz ZWxmLkFTWU5DX09LCiAgICAgICAgIGVsaWYgc3RhdGUgPT0gcHN5Y29wZzIu ZXh0ZW5zaW9ucy5QT0xMX1dSSVRFOgotICAgICAgICAgICAgc2VsZWN0LnNl bGVjdChbXSwgW2Nvbm4uZmlsZW5vKCldLCBbXSwgdGltZSkKLSAgICAgICAg ICAgIHJldHVybiBzZWxmLkFTWU5DX1dSSVRFX1RJTUVPVVQKKyAgICAgICAg ICAgIGlmIHNlbGVjdC5zZWxlY3QoW10sIFtjb25uLmZpbGVubygpXSwgW10s IHRpbWUpID09IChbXSwgW10sIFtdKToKKyAgICAgICAgICAgICAgICByZXR1 cm4gc2VsZi5BU1lOQ19XUklURV9USU1FT1VUCisgICAgICAgICAgICAjIENh bGwgcmVjdXJzaXZlbHkgaWYgbm8gdGltZW91dAorICAgICAgICAgICAgc2Vs Zi5fd2FpdF90aW1lb3V0KGNvbm4sIHRpbWUpCiAgICAgICAgIGVsaWYgc3Rh dGUgPT0gcHN5Y29wZzIuZXh0ZW5zaW9ucy5QT0xMX1JFQUQ6Ci0gICAgICAg ICAgICBzZWxlY3Quc2VsZWN0KFtjb25uLmZpbGVubygpXSwgW10sIFtdLCB0 aW1lKQotICAgICAgICAgICAgcmV0dXJuIHNlbGYuQVNZTkNfUkVBRF9USU1F T1VUCisgICAgICAgICAgICBpZiBzZWxlY3Quc2VsZWN0KFtjb25uLmZpbGVu bygpXSwgW10sIFtdLCB0aW1lKSA9PSAoW10sIFtdLCBbXSk6CisgICAgICAg ICAgICAgICAgcmV0dXJuIHNlbGYuQVNZTkNfUkVBRF9USU1FT1VUCisgICAg ICAgICAgICAjIENhbGwgcmVjdXJzaXZlbHkgaWYgbm8gdGltZW91dAorICAg ICAgICAgICAgc2VsZi5fd2FpdF90aW1lb3V0KGNvbm4sIHRpbWUpCiAgICAg ICAgIGVsc2U6CiAgICAgICAgICAgICByYWlzZSBwc3ljb3BnMi5PcGVyYXRp b25hbEVycm9yKCJwb2xsKCkgcmV0dXJuZWQgJXMgZnJvbSBfd2FpdF90aW1l b3V0IGZ1bmN0aW9uIiAlIHN0YXRlKQogCkBAIC03NTEsNyArNzcyLDIxIEBA IEZhaWxlZCB0byByZXNldCB0aGUgY29ubmVjdGlvbiBvZiB0aGUgc2VydmVy IGR1ZSB0byBmb2xsb3dpbmcgZXJyb3I6CiAgICAgICAgIGN1cnJlbnRfYXBw LmxvZ2dlci5sb2coMjUsICIiIgogUG9sbGluZyByZXN1bHQgZm9yIChRdWVy eS1pZDoge3F1ZXJ5X2lkfSkiIiIuZm9ybWF0KHF1ZXJ5X2lkPXNlbGYuX19h c3luY19xdWVyeV9pZCkpCiAKLSAgICAgICAgc3RhdHVzID0gc2VsZi5fd2Fp dF90aW1lb3V0KHNlbGYuY29ubiwgQVNZTkNfV0FJVF9USU1FT1VUKQorICAg ICAgICB0cnk6CisgICAgICAgICAgICBzdGF0dXMgPSBzZWxmLl93YWl0X3Rp bWVvdXQoc2VsZi5jb25uLCBBU1lOQ19XQUlUX1RJTUVPVVQpCisgICAgICAg IGV4Y2VwdCBwc3ljb3BnMi5FcnJvciBhcyBwZToKKyAgICAgICAgICAgIGlm IHNlbGYuZm9ybWF0dGVkX2Vycm9yOgorICAgICAgICAgICAgICAgICMgR2V0 IHRoZSBmb3JtYXR0ZWQgZXJyb3IgbWVzc2FnZQorICAgICAgICAgICAgICAg IGVycm1zZyA9IHNlbGYuX2Zvcm1hdHRlZF9lcnJvcl9tc2cocGUpCisgICAg ICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGlmIHBlLnBnZXJyb3I6 CisgICAgICAgICAgICAgICAgICAgIGVycm1zZyA9IHBlLnBnZXJyb3IKKyAg ICAgICAgICAgICAgICBlbGlmIHBlLmRpYWcubWVzc2FnZV9kZXRhaWw6Cisg ICAgICAgICAgICAgICAgICAgIGVycm1zZyA9IHBlLmRpYWcubWVzc2FnZV9k ZXRhaWwKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAg ICAgICBlcnJtc2cgPSBzdHIocGUpCisgICAgICAgICAgICByZXR1cm4gRmFs c2UsIGVycm1zZywgTm9uZQorCiAgICAgICAgIGNvbGluZm8gPSBOb25lCiAg ICAgICAgIGlmIHN0YXR1cyA9PSBzZWxmLkFTWU5DX09LOgogICAgICAgICAg ICAgIyBGZXRjaCB0aGUgY29sdW1uIGluZm9ybWF0aW9uCkBAIC04MzUsNiAr ODcwLDY0IEBAIFBvbGxpbmcgcmVzdWx0IGZvciAoUXVlcnktaWQ6IHtxdWVy eV9pZH0pIiIiLmZvcm1hdChxdWVyeV9pZD1zZWxmLl9fYXN5bmNfcXVlcnlf CiAgICAgICAgICIiIgogICAgICAgICByZXR1cm4gc2VsZi5jb25uLm5vdGlj ZXMgaWYgc2VsZi5jb25uIGVsc2UgW10KIAorICAgIGRlZiBfZm9ybWF0dGVk X2Vycm9yX21zZyhzZWxmLCBlcnJfb2JqKToKKyAgICAgICAgIiIiCisgICAg ICAgIFRoaXMgbWV0aG9kIGlzIHVzZWQgdG8gcGFyc2UgdGhlIHBzeWNvcGcy LkVycm9yIG9iamVjdAorICAgICAgICBhbmQgcmV0dXJucyB0aGUgZm9ybWF0 dGVkIGVycm9yIG1lc3NhZ2UuCisKKyAgICAgICAgQXJnczoKKyAgICAgICAg ICAgIGVycl9vYmo6IHBzeWNvcGcyLkVycm9yIG9iamVjdAorCisgICAgICAg IFJldHVybnM6IEZvcm1hdHRlZCBlcnJvciBtZXNzYWdlCisgICAgICAgICIi IgorCisgICAgICAgIGlmIGVycl9vYmoucGdlcnJvcjoKKyAgICAgICAgICAg IGVycm1zZyA9IGVycl9vYmoucGdlcnJvcgorICAgICAgICBlbGlmIGVycl9v YmouZGlhZy5tZXNzYWdlX2RldGFpbDoKKyAgICAgICAgICAgIGVycm1zZyA9 IGVycl9vYmouZGlhZy5tZXNzYWdlX2RldGFpbAorICAgICAgICBlbHNlOgor ICAgICAgICAgICAgZXJybXNnID0gc3RyKGVycl9vYmopCisKKyAgICAgICAg ZXJybXNnICs9ICcqKioqKioqKioqIEVycm9yICoqKioqKioqKipcblxuJwor CisgICAgICAgIGlmIGVycl9vYmouZGlhZy5zZXZlcml0eSBpcyBub3QgTm9u ZSBcCisgICAgICAgICAgICAgICAgYW5kIGVycl9vYmouZGlhZy5tZXNzYWdl X3ByaW1hcnkgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBlcnJtc2cgKz0g ZXJyX29iai5kaWFnLnNldmVyaXR5ICsgIjogIiArIGVycl9vYmouZGlhZy5t ZXNzYWdlX3ByaW1hcnkKKyAgICAgICAgZWxpZiBlcnJfb2JqLmRpYWcubWVz c2FnZV9wcmltYXJ5IGlzIG5vdCBOb25lOgorICAgICAgICAgICAgZXJybXNn ICs9IGVycl9vYmouZGlhZy5tZXNzYWdlX3ByaW1hcnkKKworICAgICAgICBp ZiBlcnJfb2JqLmRpYWcuc3Fsc3RhdGUgaXMgbm90IE5vbmU6CisgICAgICAg ICAgICBpZiBub3QgZXJybXNnWzotMV0uZW5kc3dpdGgoJ1xuJyk6CisgICAg ICAgICAgICAgICAgZXJybXNnICs9ICdcbicKKyAgICAgICAgICAgIGVycm1z ZyArPSBnZXR0ZXh0KCdTUUwgc3RhdGU6ICcpCisgICAgICAgICAgICBlcnJt c2cgKz0gZXJyX29iai5kaWFnLnNxbHN0YXRlCisKKyAgICAgICAgaWYgZXJy X29iai5kaWFnLm1lc3NhZ2VfZGV0YWlsIGlzIG5vdCBOb25lOgorICAgICAg ICAgICAgaWYgbm90IGVycm1zZ1s6LTFdLmVuZHN3aXRoKCdcbicpOgorICAg ICAgICAgICAgICAgIGVycm1zZyArPSAnXG4nCisgICAgICAgICAgICBlcnJt c2cgKz0gZ2V0dGV4dCgnRGV0YWlsOiAnKQorICAgICAgICAgICAgZXJybXNn ICs9IGVycl9vYmouZGlhZy5tZXNzYWdlX2RldGFpbAorCisgICAgICAgIGlm IGVycl9vYmouZGlhZy5tZXNzYWdlX2hpbnQgaXMgbm90IE5vbmU6CisgICAg ICAgICAgICBpZiBub3QgZXJybXNnWzotMV0uZW5kc3dpdGgoJ1xuJyk6Cisg ICAgICAgICAgICAgICAgZXJybXNnICs9ICdcbicKKyAgICAgICAgICAgIGVy cm1zZyArPSBnZXR0ZXh0KCdIaW50OiAnKQorICAgICAgICAgICAgZXJybXNn ICs9IGVycl9vYmouZGlhZy5tZXNzYWdlX2hpbnQKKworICAgICAgICBpZiBl cnJfb2JqLmRpYWcuc3RhdGVtZW50X3Bvc2l0aW9uIGlzIG5vdCBOb25lOgor ICAgICAgICAgICAgaWYgbm90IGVycm1zZ1s6LTFdLmVuZHN3aXRoKCdcbicp OgorICAgICAgICAgICAgICAgIGVycm1zZyArPSAnXG4nCisgICAgICAgICAg ICBlcnJtc2cgKz0gZ2V0dGV4dCgnQ2hhcmFjdGVyOiAnKQorICAgICAgICAg ICAgZXJybXNnICs9IGVycl9vYmouZGlhZy5zdGF0ZW1lbnRfcG9zaXRpb24K KworICAgICAgICBpZiBlcnJfb2JqLmRpYWcuY29udGV4dCBpcyBub3QgTm9u ZToKKyAgICAgICAgICAgIGlmIG5vdCBlcnJtc2dbOi0xXS5lbmRzd2l0aCgn XG4nKToKKyAgICAgICAgICAgICAgICBlcnJtc2cgKz0gJ1xuJworICAgICAg ICAgICAgZXJybXNnICs9IGdldHRleHQoJ0NvbnRleHQ6ICcpCisgICAgICAg ICAgICBlcnJtc2cgKz0gZXJyX29iai5kaWFnLmNvbnRleHQKKworICAgICAg ICByZXR1cm4gZXJybXNnCisKIAogY2xhc3MgU2VydmVyTWFuYWdlcihvYmpl Y3QpOgogICAgICIiIgo= --001a113dcdcae5d521052f30fdd7 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 --001a113dcdcae5d521052f30fdd7--