Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1alwFV-0001qd-7R for pgadmin-hackers@arkaria.postgresql.org; Fri, 01 Apr 2016 10:24:17 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1alwFU-0007LS-M6 for pgadmin-hackers@arkaria.postgresql.org; Fri, 01 Apr 2016 10:24:16 +0000 Received: from makus.postgresql.org ([2001:4800:1501:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1alwFF-000764-Ms for pgadmin-hackers@postgresql.org; Fri, 01 Apr 2016 10:24:01 +0000 Received: from mail-ig0-x229.google.com ([2607:f8b0:4001:c05::229]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1alwF8-0005lg-CF for pgadmin-hackers@postgresql.org; Fri, 01 Apr 2016 10:24:00 +0000 Received: by mail-ig0-x229.google.com with SMTP id sy18so13620790igc.1 for ; Fri, 01 Apr 2016 03:23:54 -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:from:date:message-id:subject:to :cc; bh=SwdCTND6MGjHvyX2mmOfQs01qgee/8ecKMzLGasbv9k=; b=xjHCUo4qA6Tal/+TM8A/pD5/Hp5TbY30K0FsyQQYWzpnlGL3Dv4dRB+9U9OW/d7XI+ 7X1jYcq74Q1ApBMtMuAwdvZVf0a65b5V0qVXo+uzsYzp/nfakluQlzJIUeBxOnNACqY3 owK68rU7oBr4leZRWsEkoFexYQ4zVFsknrviEjYWD7CKJhAG7K1Rkh0Z28ftmEOY8dW+ +gq0pnnDRICfi3k1f+DB4BPlhdNjI3uDD//pvWZwlnx57Lk1IJ+IvEtcg7HxJpNwgfAR ErknRV3uhWWniVbqIZbwlxDw2tIzIdUWCc38AwfEC0VH22dyDVfTiM9fdL/cjHpncOaH qxHA== 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:from:date :message-id:subject:to:cc; bh=SwdCTND6MGjHvyX2mmOfQs01qgee/8ecKMzLGasbv9k=; b=egkYKp0TfL+yIw5zR2hzEX5dE7t6pr0OEvfKcqUo0HHRNEKpY4TWEd7G5G+O5/R/Ys YABhalzJyFndcCqzb+W0wwTF6iGfwHwpWzvjulRKKF0/29IrxUnQQjbTfZsndzsscaPB Jdam7FGmo7dYxgtHN6NjM/ACp+FjrQQ4h/3uA77HbO1MSf5eTYJ/cs9KogLbAqjIHO/r 1NAuIxKrsscbzJAdVxmNMtPEhQfBi+i/7UfcMdC6FJ73ikR6Bdk8Qb+JjJz8yKIXqLBP SgIQ/QtP9XDQ8BslQyn3TjxrthzMe09PMy6Wp7grVA8ouYBlcqTDmL9Rb4tny8cL5mQa strw== X-Gm-Message-State: AD7BkJJcKW59Md9aPmoRIIO7ILGxCbb3bBghqgtRLCS6JsnnZIGJ1u2C6u9rJsUf8AfrMiy7EFgxg0jJKqO9x6lc X-Received: by 10.50.119.101 with SMTP id kt5mr2299865igb.70.1459506233350; Fri, 01 Apr 2016 03:23:53 -0700 (PDT) MIME-Version: 1.0 Received: by 10.107.39.5 with HTTP; Fri, 1 Apr 2016 03:23:33 -0700 (PDT) In-Reply-To: References: From: Ashesh Vashi Date: Fri, 1 Apr 2016 15:53:33 +0530 Message-ID: Subject: Re: [pgAdmin4][Patch] Add formatted error message support in psycopg2 To: Akshay Joshi Cc: pgadmin-hackers Content-Type: multipart/mixed; boundary=089e0111c1bc964246052f69c610 X-Pg-Spam-Score: -1.9 (-) 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 --089e0111c1bc964246052f69c610 Content-Type: multipart/alternative; boundary=089e0111c1bc964241052f69c60e --089e0111c1bc964241052f69c60e Content-Type: text/plain; charset=UTF-8 Hi Akshay, I've update the patch a little bit as discussed offline. Also, renamed the variable 'is_cancel_transaction' to 'execution_aborted', and enum value to 'ASYNC_EXECUTION_ABORTED'. -- Thanks & Regards, Ashesh Vashi EnterpriseDB INDIA: Enterprise PostgreSQL Company *http://www.linkedin.com/in/asheshvashi* On Thu, Mar 31, 2016 at 4:55 PM, Akshay Joshi wrote: > Hi > > Please ignore the last two patches, While implementing Query Tool I have > found one more issue in poll function when run queries like "create table" > , "insert table". I have added exception handling before fetching the row > from the cursor directly. > > Attached is the modified patch. Please review it and if it looks good > please commit it. > > On Thu, Mar 31, 2016 at 12:37 PM, Akshay Joshi < > akshay.joshi@enterprisedb.com> wrote: > >> Hi >> >> On Tue, Mar 29, 2016 at 8:09 PM, Akshay Joshi > .com> 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* >> > > > > -- > *Akshay Joshi* > *Principal Software Engineer * > > > > *Phone: +91 20-3058-9517Mobile: +91 976-788-8246* > > > -- > Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgadmin-hackers > > --089e0111c1bc964241052f69c60e Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi Akshay,

I've update the patch a = little bit as discussed offline.
Also, renamed the variable '= is_cancel_transaction' to 'execution_aborted', and enum value t= o 'ASYNC_EXECUTION_ABORTED'.
=

--

Thanks & Re= gards,

Ashesh Vashi
EnterpriseDB INDIA: Enterprise P= ostgreSQL Company

<= br>

<= a href=3D"http://www.linkedin.com/in/asheshvashi" target=3D"_blank">http= ://www.linkedin.com/in/asheshvashi


On Thu, Mar 31, 2016 at 4:55 PM, Akshay Josh= i <akshay.joshi@enterprisedb.com> wrote:
Hi=C2=A0

Ple= ase ignore the last two patches, While implementing Query Tool I have found= one more issue in poll function when run queries like "create table&q= uot; , "insert table". I have added exception handling before fet= ching the row from the cursor directly.=C2=A0
Attached is the modified patc= h. Please review it and if it looks good please commit it.=C2=A0
=

On Thu, Mar 31, 2016 at 12:37 PM,= Akshay Joshi <akshay.joshi@enterprisedb.com> wr= ote:
Hi=C2=A0

On Tue, Mar 29, 2016 = at 8:09 PM, Akshay Joshi <aksh= ay.joshi@enterprisedb.com> w= rote:
Hi All=C2=A0

= While implementing Query Tool, I came to know we need error message's w= ith some extra information and also I have faced one issue regarding asynch= ronous connection polling. I have added support for formatted error message= and also fixed the issue.=C2=A0

Attached is the p= atch file. Please review it and let me know the review comments if any.

=C2=A0 =C2=A0Apart from abo= ve, today I fixed one more issue. In case of user cancel the running transa= ction, 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 w= ill be true if user purposely cancel the transaction and from our poll func= tion we return new status i.e. ASYNC_CANCEL_TRANSACTION.
=

=C2=A0Attached is the modified patch. Please review it = and if it looks good please commit it. =C2=A0=C2=A0

=

--
Akshay Joshi
Principal Software Engineer= =C2=A0

=


--
Akshay Joshi
<= font color=3D"#3333FF">Principal Software Eng= ineer=C2=A0


Phone: +91 20-3058-9517
Mobile: +91 976-788-8246
<= /div>



--
Akshay= Joshi
Principal Software Engineer=C2=A0


Phone: +91 20-3058-9517
Mobil= e: +91 976-788-8246


--
Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgadmin-hackers=


--089e0111c1bc964241052f69c60e-- --089e0111c1bc964246052f69c610 Content-Type: application/octet-stream; name="psycopg2.patch" Content-Disposition: attachment; filename="psycopg2.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_imhkbb511 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3V0aWxzL2RyaXZlci9hYnN0cmFj dC5weSBiL3dlYi9wZ2FkbWluL3V0aWxzL2RyaXZlci9hYnN0cmFjdC5weQpp bmRleCA4YTIzY2NiLi5hYTQ4ZjI1IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1p bi91dGlscy9kcml2ZXIvYWJzdHJhY3QucHkKKysrIGIvd2ViL3BnYWRtaW4v dXRpbHMvZHJpdmVyL2Fic3RyYWN0LnB5CkBAIC0xNDcsNiArMTQ3LDcgQEAg Y2xhc3MgQmFzZUNvbm5lY3Rpb24ob2JqZWN0KToKICAgICBBU1lOQ19SRUFE X1RJTUVPVVQgPSAyCiAgICAgQVNZTkNfV1JJVEVfVElNRU9VVCA9IDMKICAg ICBBU1lOQ19OT1RfQ09OTkVDVEVEID0gNAorICAgIEFTWU5DX0VYRUNVVElP Tl9BQk9SVEVEID0gNQogCiAgICAgQGFic3RyYWN0bWV0aG9kCiAgICAgZGVm IGNvbm5lY3Qoc2VsZiwgKiprd2FyZ3MpOgpkaWZmIC0tZ2l0IGEvd2ViL3Bn YWRtaW4vdXRpbHMvZHJpdmVyL3BzeWNvcGcyL19faW5pdF9fLnB5IGIvd2Vi L3BnYWRtaW4vdXRpbHMvZHJpdmVyL3BzeWNvcGcyL19faW5pdF9fLnB5Cmlu ZGV4IGRiOTM4YmMuLjhmNTkzM2EgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWlu L3V0aWxzL2RyaXZlci9wc3ljb3BnMi9fX2luaXRfXy5weQorKysgYi93ZWIv cGdhZG1pbi91dGlscy9kcml2ZXIvcHN5Y29wZzIvX19pbml0X18ucHkKQEAg LTM1LDcgKzM1LDcgQEAgZnJvbSAua2V5d29yZHMgaW1wb3J0IFNjYW5LZXl3 b3JkCiAKIF8gPSBnZXR0ZXh0CiAKLUFTWU5DX1dBSVRfVElNRU9VVCA9IDAu MSAgIyBpbiBzZWNvbmRzIG9yIDEwMCBtaWxsaXNlY29uZHMKK0FTWU5DX1dB SVRfVElNRU9VVCA9IDAuMDEgICMgaW4gc2Vjb25kcyBvciAxMCBtaWxsaXNl Y29uZHMKIAogCiBjbGFzcyBDb25uZWN0aW9uKEJhc2VDb25uZWN0aW9uKToK QEAgLTEwMiw2ICsxMDIsMTEgQEAgY2xhc3MgQ29ubmVjdGlvbihCYXNlQ29u bmVjdGlvbik6CiAgICAgKiBtZXNzYWdlcygpCiAgICAgICAtIFJldHVybnMg dGhlIGxpc3Qgb2YgbWVzc2FnZXMvbm90aWNlcyBzZW5kcyBmcm9tIHRoZSBQ b3N0Z3JlU1FMIGRhdGFiYXNlCiAgICAgICAgIHNlcnZlci4KKworICAgICog X2Zvcm1hdHRlZF9lcnJvcl9tc2coZXJyX29iaikKKyAgICAgIC0gVGhpcyBt ZXRob2QgaXMgdXNlZCB0byBwYXJzZSB0aGUgcHN5Y29wZzIuRXJyb3Igb2Jq ZWN0IGFuZCByZXR1cm5zIHRoZQorICAgICAgICBmb3JtYXR0ZWQgZXJyb3Ig bWVzc2FnZS4KKwogICAgICIiIgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBt YW5hZ2VyLCBjb25uX2lkLCBkYiwgYXV0b19yZWNvbm5lY3Q9VHJ1ZSwgYXN5 bmM9MCk6CiAgICAgICAgIGFzc2VydChtYW5hZ2VyIGlzIG5vdCBOb25lKQpA QCAtMTE2LDYgKzEyMSw4IEBAIGNsYXNzIENvbm5lY3Rpb24oQmFzZUNvbm5l Y3Rpb24pOgogICAgICAgICBzZWxmLl9fYXN5bmNfY3Vyc29yID0gTm9uZQog ICAgICAgICBzZWxmLl9fYXN5bmNfcXVlcnlfaWQgPSBOb25lCiAgICAgICAg IHNlbGYuX19iYWNrZW5kX3BpZCA9IE5vbmUKKyAgICAgICAgc2VsZi5mb3Jt YXR0ZWRfZXJyb3IgPSBOb25lCisgICAgICAgIHNlbGYuZXhlY3V0aW9uX2Fi b3J0ZWQgPSBGYWxzZQogCiAgICAgICAgIHN1cGVyKENvbm5lY3Rpb24sIHNl bGYpLl9faW5pdF9fKCkKIApAQCAtMjI0LDYgKzIzMSw3IEBAIEZhaWxlZCB0 byBjb25uZWN0IHRvIHRoZSBkYXRhYmFzZSBzZXJ2ZXIoI3tzZXJ2ZXJfaWR9 KSBmb3IgY29ubmVjdGlvbiAoe2Nvbm5faWR9CiAKICAgICAgICAgc2VsZi5j b25uID0gcGdfY29ubgogICAgICAgICBzZWxmLl9fYmFja2VuZF9waWQgPSBw Z19jb25uLmdldF9iYWNrZW5kX3BpZCgpCisgICAgICAgIHNlbGYuZXhlY3V0 aW9uX2Fib3J0ZWQgPSBGYWxzZQogCiAgICAgICAgICMgYXV0b2NvbW1pdCBm bGFnIGRvZXMgbm90IHdvcmsgd2l0aCBhc3luY2hyb25vdXMgY29ubmVjdGlv bnMuCiAgICAgICAgICMgQnkgZGVmYXVsdCBhc3luY2hyb25vdXMgY29ubmVj dGlvbiBydW5zIGluIGF1dG9jb21taXQgbW9kZS4KQEAgLTQ0NywxNSArNDU1 LDE3IEBAIEF0dGVtcHQgdG8gcmVjb25uZWN0IGl0IGZhaWxlZCB3aXRoIHRo ZSBiZWxvdyBlcnJvcjoKIAogICAgICAgICByZXR1cm4gVHJ1ZSwgTm9uZQog Ci0gICAgZGVmIGV4ZWN1dGVfYXN5bmMoc2VsZiwgcXVlcnksIHBhcmFtcz1O b25lKToKKyAgICBkZWYgZXhlY3V0ZV9hc3luYyhzZWxmLCBxdWVyeSwgcGFy YW1zPU5vbmUsIGZvcm1hdHRlZF9lcnJvcj1GYWxzZSk6CiAgICAgICAgICIi IgogICAgICAgICBUaGlzIGZ1bmN0aW9uIGV4ZWN1dGVzIHRoZSBnaXZlbiBx dWVyeSBhc3luY2hyb25vdXNseSBhbmQgcmV0dXJucyByZXN1bHQuCiAKICAg ICAgICAgQXJnczoKICAgICAgICAgICAgIHF1ZXJ5OiBTUUwgcXVlcnkgdG8g cnVuLgogICAgICAgICAgICAgcGFyYW1zOiBleHRyYSBwYXJhbWV0ZXJzIHRv IHRoZSBmdW5jdGlvbgorICAgICAgICAgICAgZm9ybWF0dGVkX2Vycm9yOiBp ZiBUcnVlIHRoZW4gZnVuY3Rpb24gcmV0dXJuIHRoZSBmb3JtYXR0ZWQgZXJy b3IKICAgICAgICAgIiIiCiAgICAgICAgIHN0YXR1cywgY3VyID0gc2VsZi5f X2N1cnNvcigpCisgICAgICAgIHNlbGYuZm9ybWF0dGVkX2Vycm9yID0gZm9y bWF0dGVkX2Vycm9yCiAKICAgICAgICAgaWYgbm90IHN0YXR1czoKICAgICAg ICAgICAgIHJldHVybiBGYWxzZSwgc3RyKGN1cikKQEAgLTQ3MiwxMCArNDgy LDIxIEBAIEV4ZWN1dGUgKGFzeW5jKSBmb3Igc2VydmVyICN7c2VydmVyX2lk fSAtIHtjb25uX2lkfSAoUXVlcnktaWQ6IHtxdWVyeV9pZH0pOlxue3F1CiAg ICAgICAgICkKIAogICAgICAgICB0cnk6CisgICAgICAgICAgICBzZWxmLmV4 ZWN1dGlvbl9hYm9ydGVkID0gRmFsc2UKICAgICAgICAgICAgIGN1ci5leGVj dXRlKHF1ZXJ5LCBwYXJhbXMpCiAgICAgICAgICAgICByZXMgPSBzZWxmLl93 YWl0X3RpbWVvdXQoY3VyLmNvbm5lY3Rpb24sIEFTWU5DX1dBSVRfVElNRU9V VCkKICAgICAgICAgZXhjZXB0IHBzeWNvcGcyLkVycm9yIGFzIHBlOgotICAg ICAgICAgICAgZXJybXNnID0gc3RyKHBlKQorICAgICAgICAgICAgaWYgc2Vs Zi5mb3JtYXR0ZWRfZXJyb3I6CisgICAgICAgICAgICAgICAgIyBHZXQgdGhl IGZvcm1hdHRlZCBlcnJvciBtZXNzYWdlCisgICAgICAgICAgICAgICAgZXJy bXNnID0gc2VsZi5fZm9ybWF0dGVkX2Vycm9yX21zZyhwZSkKKyAgICAgICAg ICAgIGVsc2U6CisgICAgICAgICAgICAgICAgaWYgcGUucGdlcnJvcjoKKyAg ICAgICAgICAgICAgICAgICAgZXJybXNnID0gcGUucGdlcnJvcgorICAgICAg ICAgICAgICAgIGVsaWYgcGUuZGlhZy5tZXNzYWdlX2RldGFpbDoKKyAgICAg ICAgICAgICAgICAgICAgZXJybXNnID0gcGUuZGlhZy5tZXNzYWdlX2RldGFp bAorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAg IGVycm1zZyA9IHN0cihwZSkKKwogICAgICAgICAgICAgY3VycmVudF9hcHAu bG9nZ2VyLmVycm9yKCIiIgogRmFpbGVkIHRvIGV4ZWN1dGUgcXVlcnkgKGV4 ZWN1dGVfYXN5bmMpIGZvciB0aGUgc2VydmVyICN7c2VydmVyX2lkfSAtIHtj b25uX2lkfQogKFF1ZXJ5LWlkOiB7cXVlcnlfaWR9KTpcbkVycm9yIE1lc3Nh Z2U6e2Vycm1zZ30KQEAgLTcyOCwxMSArNzQ5LDE1IEBAIEZhaWxlZCB0byBy ZXNldCB0aGUgY29ubmVjdGlvbiBvZiB0aGUgc2VydmVyIGR1ZSB0byBmb2xs b3dpbmcgZXJyb3I6CiAgICAgICAgIGlmIHN0YXRlID09IHBzeWNvcGcyLmV4 dGVuc2lvbnMuUE9MTF9PSzoKICAgICAgICAgICAgIHJldHVybiBzZWxmLkFT WU5DX09LCiAgICAgICAgIGVsaWYgc3RhdGUgPT0gcHN5Y29wZzIuZXh0ZW5z aW9ucy5QT0xMX1dSSVRFOgotICAgICAgICAgICAgc2VsZWN0LnNlbGVjdChb XSwgW2Nvbm4uZmlsZW5vKCldLCBbXSwgdGltZSkKLSAgICAgICAgICAgIHJl dHVybiBzZWxmLkFTWU5DX1dSSVRFX1RJTUVPVVQKKyAgICAgICAgICAgIGlm IHNlbGVjdC5zZWxlY3QoW10sIFtjb25uLmZpbGVubygpXSwgW10sIHRpbWUp ID09IChbXSwgW10sIFtdKToKKyAgICAgICAgICAgICAgICByZXR1cm4gc2Vs Zi5BU1lOQ19XUklURV9USU1FT1VUCisgICAgICAgICAgICAjIENhbGwgcmVj dXJzaXZlbHkgaWYgbm8gdGltZW91dAorICAgICAgICAgICAgc2VsZi5fd2Fp dF90aW1lb3V0KGNvbm4sIHRpbWUpCiAgICAgICAgIGVsaWYgc3RhdGUgPT0g cHN5Y29wZzIuZXh0ZW5zaW9ucy5QT0xMX1JFQUQ6Ci0gICAgICAgICAgICBz ZWxlY3Quc2VsZWN0KFtjb25uLmZpbGVubygpXSwgW10sIFtdLCB0aW1lKQot ICAgICAgICAgICAgcmV0dXJuIHNlbGYuQVNZTkNfUkVBRF9USU1FT1VUCisg ICAgICAgICAgICBpZiBzZWxlY3Quc2VsZWN0KFtjb25uLmZpbGVubygpXSwg W10sIFtdLCB0aW1lKSA9PSAoW10sIFtdLCBbXSk6CisgICAgICAgICAgICAg ICAgcmV0dXJuIHNlbGYuQVNZTkNfUkVBRF9USU1FT1VUCisKKyAgICAgICAg ICAgIHNlbGYuX3dhaXRfdGltZW91dChjb25uLCB0aW1lKQogICAgICAgICBl bHNlOgogICAgICAgICAgICAgcmFpc2UgcHN5Y29wZzIuT3BlcmF0aW9uYWxF cnJvcigicG9sbCgpIHJldHVybmVkICVzIGZyb20gX3dhaXRfdGltZW91dCBm dW5jdGlvbiIgJSBzdGF0ZSkKIApAQCAtNzUxLDE5ICs3NzYsNDYgQEAgRmFp bGVkIHRvIHJlc2V0IHRoZSBjb25uZWN0aW9uIG9mIHRoZSBzZXJ2ZXIgZHVl IHRvIGZvbGxvd2luZyBlcnJvcjoKICAgICAgICAgY3VycmVudF9hcHAubG9n Z2VyLmxvZygyNSwgIiIiCiBQb2xsaW5nIHJlc3VsdCBmb3IgKFF1ZXJ5LWlk OiB7cXVlcnlfaWR9KSIiIi5mb3JtYXQocXVlcnlfaWQ9c2VsZi5fX2FzeW5j X3F1ZXJ5X2lkKSkKIAotICAgICAgICBzdGF0dXMgPSBzZWxmLl93YWl0X3Rp bWVvdXQoc2VsZi5jb25uLCBBU1lOQ19XQUlUX1RJTUVPVVQpCisgICAgICAg IHRyeToKKyAgICAgICAgICAgIHN0YXR1cyA9IHNlbGYuX3dhaXRfdGltZW91 dChzZWxmLmNvbm4sIEFTWU5DX1dBSVRfVElNRU9VVCkKKyAgICAgICAgZXhj ZXB0IHBzeWNvcGcyLkVycm9yIGFzIHBlOgorICAgICAgICAgICAgaWYgc2Vs Zi5mb3JtYXR0ZWRfZXJyb3I6CisgICAgICAgICAgICAgICAgIyBHZXQgdGhl IGZvcm1hdHRlZCBlcnJvciBtZXNzYWdlCisgICAgICAgICAgICAgICAgZXJy bXNnID0gc2VsZi5fZm9ybWF0dGVkX2Vycm9yX21zZyhwZSkKKyAgICAgICAg ICAgIGVsc2U6CisgICAgICAgICAgICAgICAgaWYgcGUucGdlcnJvcjoKKyAg ICAgICAgICAgICAgICAgICAgZXJybXNnID0gcGUucGdlcnJvcgorICAgICAg ICAgICAgICAgIGVsaWYgcGUuZGlhZy5tZXNzYWdlX2RldGFpbDoKKyAgICAg ICAgICAgICAgICAgICAgZXJybXNnID0gcGUuZGlhZy5tZXNzYWdlX2RldGFp bAorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAg IGVycm1zZyA9IHN0cihwZSkKKyAgICAgICAgICAgIHJldHVybiBGYWxzZSwg ZXJybXNnLCBOb25lCisKICAgICAgICAgY29saW5mbyA9IE5vbmUKICAgICAg ICAgaWYgc3RhdHVzID09IHNlbGYuQVNZTkNfT0s6CisKKyAgICAgICAgICAg ICMgaWYgdXNlciBoYXMgY2FuY2VsbGVkIHRoZSB0cmFuc2FjdGlvbiB0aGVu IGNoYW5nZWQgdGhlIHN0YXR1cworICAgICAgICAgICAgaWYgc2VsZi5leGVj dXRpb25fYWJvcnRlZDoKKyAgICAgICAgICAgICAgICBzdGF0dXMgPSBzZWxm LkFTWU5DX0NBTkNFTF9UUkFOU0FDVElPTgorICAgICAgICAgICAgICAgIHNl bGYuZXhlY3V0aW9uX2Fib3J0ZWQgPSBGYWxzZQorICAgICAgICAgICAgICAg IHJldHVybiBzdGF0dXMsIE5vbmUsIGNvbGluZm8KKwogICAgICAgICAgICAg IyBGZXRjaCB0aGUgY29sdW1uIGluZm9ybWF0aW9uCi0gICAgICAgICAgICBj b2xpbmZvID0gW2Rlc2MgZm9yIGRlc2MgaW4gY3VyLmRlc2NyaXB0aW9uXQor ICAgICAgICAgICAgaWYgY3VyLmRlc2NyaXB0aW9uIGlzIG5vdCBOb25lOgor ICAgICAgICAgICAgICAgIGNvbGluZm8gPSBbZGVzYyBmb3IgZGVzYyBpbiBj dXIuZGVzY3JpcHRpb25dCiAKKyAgICAgICAgICAgIHJlc3VsdCA9IGN1ci5z dGF0dXNtZXNzYWdlCiAgICAgICAgICAgICBpZiBjdXIucm93Y291bnQgPiAw OgogICAgICAgICAgICAgICAgIHJlc3VsdCA9IFtdCi0gICAgICAgICAgICAg ICAgIyBGZXRjaCB0aGUgZGF0YSByb3dzLgotICAgICAgICAgICAgICAgIGZv ciByb3cgaW4gY3VyOgotICAgICAgICAgICAgICAgICAgICByZXN1bHQuYXBw ZW5kKGRpY3Qocm93KSkKLSAgICAgICAgICAgICAgICBzZWxmLl9fYXN5bmNf Y3Vyc29yID0gTm9uZQotICAgICAgICAgICAgICAgIHJldHVybiBzdGF0dXMs IHJlc3VsdCwgY29saW5mbworCisgICAgICAgICAgICAgICAgdHJ5OgorICAg ICAgICAgICAgICAgICAgICBmb3Igcm93IGluIGN1cjoKKyAgICAgICAgICAg ICAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoZGljdChyb3cpKQorICAgICAg ICAgICAgICAgIGV4Y2VwdCBwc3ljb3BnMi5Qcm9ncmFtbWluZ0Vycm9yIGFz IGU6CisgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IGN1ci5zdGF0dXNt ZXNzYWdlCisgICAgICAgICAgICBzZWxmLl9fYXN5bmNfY3Vyc29yID0gTm9u ZQorICAgICAgICAgICAgcmV0dXJuIHN0YXR1cywgcmVzdWx0LCBjb2xpbmZv CisKICAgICAgICAgcmV0dXJuIHN0YXR1cywgTm9uZSwgY29saW5mbwogCiAg ICAgZGVmIGNhbmNlbF90cmFuc2FjdGlvbihzZWxmLCBjb25uX2lkLCBkaWQ9 Tm9uZSk6CkBAIC04MjMsNiArODc1LDkgQEAgUG9sbGluZyByZXN1bHQgZm9y IChRdWVyeS1pZDoge3F1ZXJ5X2lkfSkiIiIuZm9ybWF0KHF1ZXJ5X2lkPXNl bGYuX19hc3luY19xdWVyeV8KICAgICAgICAgZWxzZToKICAgICAgICAgICAg IGlmIHNlbGYuY29ubmVjdGVkKCk6CiAgICAgICAgICAgICAgICAgc3RhdHVz LCBtc2cgPSBzZWxmLmV4ZWN1dGVfdm9pZChxdWVyeSkKKworICAgICAgICAg ICAgICAgIGlmIHN0YXR1czoKKyAgICAgICAgICAgICAgICAgICAgY2FuY2Vs X2Nvbm4uZXhlY3V0aW9uX2Fib3J0ZWQgPSBUcnVlCiAgICAgICAgICAgICBl bHNlOgogICAgICAgICAgICAgICAgIHN0YXR1cyA9IEZhbHNlCiAgICAgICAg ICAgICAgICAgbXNnID0gZ2V0dGV4dCgiTm90IGNvbm5lY3RlZCB0byB0aGUg ZGF0YWJhc2Ugc2VydmVyLiIpCkBAIC04MzUsNiArODkwLDY0IEBAIFBvbGxp bmcgcmVzdWx0IGZvciAoUXVlcnktaWQ6IHtxdWVyeV9pZH0pIiIiLmZvcm1h dChxdWVyeV9pZD1zZWxmLl9fYXN5bmNfcXVlcnlfCiAgICAgICAgICIiIgog ICAgICAgICByZXR1cm4gc2VsZi5jb25uLm5vdGljZXMgaWYgc2VsZi5jb25u IGVsc2UgW10KIAorICAgIGRlZiBfZm9ybWF0dGVkX2Vycm9yX21zZyhzZWxm LCBlcnJfb2JqKToKKyAgICAgICAgIiIiCisgICAgICAgIFRoaXMgbWV0aG9k IGlzIHVzZWQgdG8gcGFyc2UgdGhlIHBzeWNvcGcyLkVycm9yIG9iamVjdAor ICAgICAgICBhbmQgcmV0dXJucyB0aGUgZm9ybWF0dGVkIGVycm9yIG1lc3Nh Z2UuCisKKyAgICAgICAgQXJnczoKKyAgICAgICAgICAgIGVycl9vYmo6IHBz eWNvcGcyLkVycm9yIG9iamVjdAorCisgICAgICAgIFJldHVybnM6IEZvcm1h dHRlZCBlcnJvciBtZXNzYWdlCisgICAgICAgICIiIgorCisgICAgICAgIGlm IGVycl9vYmoucGdlcnJvcjoKKyAgICAgICAgICAgIGVycm1zZyA9IGVycl9v YmoucGdlcnJvcgorICAgICAgICBlbGlmIGVycl9vYmouZGlhZy5tZXNzYWdl X2RldGFpbDoKKyAgICAgICAgICAgIGVycm1zZyA9IGVycl9vYmouZGlhZy5t ZXNzYWdlX2RldGFpbAorICAgICAgICBlbHNlOgorICAgICAgICAgICAgZXJy bXNnID0gc3RyKGVycl9vYmopCisKKyAgICAgICAgZXJybXNnICs9ICcqKioq KioqKioqIEVycm9yICoqKioqKioqKipcblxuJworCisgICAgICAgIGlmIGVy cl9vYmouZGlhZy5zZXZlcml0eSBpcyBub3QgTm9uZSBcCisgICAgICAgICAg ICAgICAgYW5kIGVycl9vYmouZGlhZy5tZXNzYWdlX3ByaW1hcnkgaXMgbm90 IE5vbmU6CisgICAgICAgICAgICBlcnJtc2cgKz0gZXJyX29iai5kaWFnLnNl dmVyaXR5ICsgIjogIiArIGVycl9vYmouZGlhZy5tZXNzYWdlX3ByaW1hcnkK KyAgICAgICAgZWxpZiBlcnJfb2JqLmRpYWcubWVzc2FnZV9wcmltYXJ5IGlz IG5vdCBOb25lOgorICAgICAgICAgICAgZXJybXNnICs9IGVycl9vYmouZGlh Zy5tZXNzYWdlX3ByaW1hcnkKKworICAgICAgICBpZiBlcnJfb2JqLmRpYWcu c3Fsc3RhdGUgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBpZiBub3QgZXJy bXNnWzotMV0uZW5kc3dpdGgoJ1xuJyk6CisgICAgICAgICAgICAgICAgZXJy bXNnICs9ICdcbicKKyAgICAgICAgICAgIGVycm1zZyArPSBnZXR0ZXh0KCdT UUwgc3RhdGU6ICcpCisgICAgICAgICAgICBlcnJtc2cgKz0gZXJyX29iai5k aWFnLnNxbHN0YXRlCisKKyAgICAgICAgaWYgZXJyX29iai5kaWFnLm1lc3Nh Z2VfZGV0YWlsIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgaWYgbm90IGVy cm1zZ1s6LTFdLmVuZHN3aXRoKCdcbicpOgorICAgICAgICAgICAgICAgIGVy cm1zZyArPSAnXG4nCisgICAgICAgICAgICBlcnJtc2cgKz0gZ2V0dGV4dCgn RGV0YWlsOiAnKQorICAgICAgICAgICAgZXJybXNnICs9IGVycl9vYmouZGlh Zy5tZXNzYWdlX2RldGFpbAorCisgICAgICAgIGlmIGVycl9vYmouZGlhZy5t ZXNzYWdlX2hpbnQgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBpZiBub3Qg ZXJybXNnWzotMV0uZW5kc3dpdGgoJ1xuJyk6CisgICAgICAgICAgICAgICAg ZXJybXNnICs9ICdcbicKKyAgICAgICAgICAgIGVycm1zZyArPSBnZXR0ZXh0 KCdIaW50OiAnKQorICAgICAgICAgICAgZXJybXNnICs9IGVycl9vYmouZGlh Zy5tZXNzYWdlX2hpbnQKKworICAgICAgICBpZiBlcnJfb2JqLmRpYWcuc3Rh dGVtZW50X3Bvc2l0aW9uIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgaWYg bm90IGVycm1zZ1s6LTFdLmVuZHN3aXRoKCdcbicpOgorICAgICAgICAgICAg ICAgIGVycm1zZyArPSAnXG4nCisgICAgICAgICAgICBlcnJtc2cgKz0gZ2V0 dGV4dCgnQ2hhcmFjdGVyOiAnKQorICAgICAgICAgICAgZXJybXNnICs9IGVy cl9vYmouZGlhZy5zdGF0ZW1lbnRfcG9zaXRpb24KKworICAgICAgICBpZiBl cnJfb2JqLmRpYWcuY29udGV4dCBpcyBub3QgTm9uZToKKyAgICAgICAgICAg IGlmIG5vdCBlcnJtc2dbOi0xXS5lbmRzd2l0aCgnXG4nKToKKyAgICAgICAg ICAgICAgICBlcnJtc2cgKz0gJ1xuJworICAgICAgICAgICAgZXJybXNnICs9 IGdldHRleHQoJ0NvbnRleHQ6ICcpCisgICAgICAgICAgICBlcnJtc2cgKz0g ZXJyX29iai5kaWFnLmNvbnRleHQKKworICAgICAgICByZXR1cm4gZXJybXNn CisKIAogY2xhc3MgU2VydmVyTWFuYWdlcihvYmplY3QpOgogICAgICIiIgo= --089e0111c1bc964246052f69c610 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 --089e0111c1bc964246052f69c610--