Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bZXaY-0000II-IC for pgadmin-hackers@arkaria.postgresql.org; Tue, 16 Aug 2016 06:11:02 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1bZXaX-0000Go-1l for pgadmin-hackers@arkaria.postgresql.org; Tue, 16 Aug 2016 06:11:01 +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 1bZXaI-0008Bq-K0 for pgadmin-hackers@postgresql.org; Tue, 16 Aug 2016 06:10:46 +0000 Received: from mail-qt0-x22f.google.com ([2607:f8b0:400d:c0d::22f]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1bZXaF-0003Di-AZ for pgadmin-hackers@postgresql.org; Tue, 16 Aug 2016 06:10:45 +0000 Received: by mail-qt0-x22f.google.com with SMTP id u25so30780657qtb.1 for ; Mon, 15 Aug 2016 23:10:43 -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=kCXS5NGHGIcmoHKzNzVX5tF1dprnwHFY8YWRn5GGc+c=; b=JNPA8xnsKvL2iL112zCIyB32/Me04OwwrcKHfyUg3XY0YDLmhdXEJr4cBdqXxLp35z +ivjl7h5ej1+VdzH2TBWp1sm5IJFdxbH8rnhpPm4/FCd4qlz9+PXzRlzCqfAnpN8GTWy +usKGusirJaDA6qeOWefzEKb3kdGwlPXQy5mshVsMTQuSqfqZGyEwboiAYy4VuTEfbsy 3g822nZ80W0NW4u7j2gdzGLCrHqHEEoT1KqlrzWqJLTwoAXFuk7kVdQIWdUmWh7WdBKG 8Enh2fHQCH+2U1TIEiktM7TAkoDaEm7p3jSxLLpi4PcRIxp7Wab6LjcafLiEvtdXSrjf NiNw== 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=kCXS5NGHGIcmoHKzNzVX5tF1dprnwHFY8YWRn5GGc+c=; b=BtgCLysgv0K79W6UjUwlBr+xctYX9B6O/bORZNE0EEmcHGlqbLVRVAleXRMu0A2+bj iI0+wZKZxksvsI4F48hbMYRF+vroMe91dfdIi8gHIfNK1/c8dyxLhWL7A4HBfsLCfio5 /HB/jekxRAU5UZ6/DulJh71cdV2zr86vCSegrcjCHE4yCfhhcGIKgQSQ8T5YXR948am1 ONcBH9TS8fImFjS9/COhVl7e8z2nb3zVpDnWWoO63Fs+lyHkhsMozOsRhxvoNxYZgRKz tWUeWfuZAn7OFEJTRBTsBr8XigxKmNSQDKF7suRccFeJqE+vJKwVs9NSXDZ2+pHXY3W+ o4WQ== X-Gm-Message-State: AEkoousO1wiDDTyvkpaFg1522aad8XpGRrZ++w04PnV0rRtQEQGor8tLriSNJ3bNVYKxRcQ2yDkGRyBd1NTl2WCk X-Received: by 10.200.54.185 with SMTP id a54mr36731814qtc.63.1471327842379; Mon, 15 Aug 2016 23:10:42 -0700 (PDT) MIME-Version: 1.0 Received: by 10.55.195.24 with HTTP; Mon, 15 Aug 2016 23:10:21 -0700 (PDT) In-Reply-To: References: From: Murtuza Zabuawala Date: Tue, 16 Aug 2016 11:40:21 +0530 Message-ID: Subject: Re: PATCH: To fix the issue where message panel was showing incomplete info (pgAdmin4) To: Dave Page Cc: Ashesh Vashi , pgadmin-hackers Content-Type: multipart/mixed; boundary=001a11397e2a64dbc3053a2a35cf 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 --001a11397e2a64dbc3053a2a35cf Content-Type: multipart/alternative; boundary=001a11397e2a64dbbf053a2a35cd --001a11397e2a64dbbf053a2a35cd Content-Type: text/plain; charset=UTF-8 Hi Dave, PFA patch with incremental messages. RM#1523 Regards, Murtuza -- Regards, Murtuza Zabuawala EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company On Tue, Aug 9, 2016 at 6:58 PM, Dave Page wrote: > > > On Tue, Aug 9, 2016 at 2:21 PM, Ashesh Vashi < > ashesh.vashi@enterprisedb.com> wrote: > >> On Tue, Aug 9, 2016 at 6:47 PM, Dave Page wrote: >> >>> >>> >>> On Tue, Aug 9, 2016 at 2:07 PM, Ashesh Vashi < >>> ashesh.vashi@enterprisedb.com> wrote: >>> >>>> On Tue, Aug 9, 2016 at 6:34 PM, Dave Page wrote: >>>> >>>>> >>>>> >>>>> On Tue, Aug 9, 2016 at 2:01 PM, Ashesh Vashi < >>>>> ashesh.vashi@enterprisedb.com> wrote: >>>>> >>>>>> On Tue, Aug 9, 2016 at 6:28 PM, Dave Page wrote: >>>>>> >>>>>>> Hi >>>>>>> >>>>>>> On Tue, Aug 9, 2016 at 8:07 AM, Murtuza Zabuawala >>>>>>> wrote: >>>>>>> > Hi, >>>>>>> > >>>>>>> > PFA patch to fix the issue where message panel was showing >>>>>>> incomplete info. >>>>>>> > We may still miss some messages from Psycopg2 driver due to >>>>>>> limited size of >>>>>>> > notices queue. >>>>>>> > (RM#1523) >>>>>>> >>>>>>> A few thoughts on this (mostly based on my discussions with Ashesh): >>>>>>> >>>>>>> 1) You seem to have removed the poll delay. I assume that is to try >>>>>>> to >>>>>>> avoid missing messages? Can we re-introduce the delay (to avoid >>>>>>> excessive network requests), but collect messages while we're >>>>>>> waiting? >>>>>>> >>>>>> Using thread? >>>>>> Start a thread during the timeout? >>>>>> >>>>> >>>>> Not necessarily. If we want a 2 second polling delay, we could just >>>>> sleep for 0.5 secs, collect messages, sleep for 0.5 sec, collect messages, >>>>> return to client. >>>>> >>>> That's a very huge delay in practical. >>>> We were hardly waiting for during poll (that was in milliseconds), but >>>> - still we were loosing a lot of the messages. (a lot more from the current >>>> implementation). >>>> >>> >>> What was the original delay? Now there appears to be none at all. >>> >> That was 10 milliseconds >> > > Hmm, Ok - for some reason I thought it was much longer. Ignore that point > then :-) > > -- > Dave Page > Blog: http://pgsnake.blogspot.com > Twitter: @pgsnake > > EnterpriseDB UK: http://www.enterprisedb.com > The Enterprise PostgreSQL Company > --001a11397e2a64dbbf053a2a35cd Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi Dave,

PFA patch with incremental mes= sages.
RM#1523


Regards,
Murtuza

--
Regards,Murt= uza Zabuawala
EnterpriseDB:=C2=A0http://www.enterprisedb.com
<= span style=3D"color:rgb(136,136,136)">The Enterprise PostgreSQL Company


On Tue, Aug 9, 2016 at 6:58 PM, Dave Page <= dpage@pgadmin.org> wrote:
<= div dir=3D"ltr">

On Tue, Aug 9, 2016 at 2:21 PM, Ashesh Vashi <ashesh.vashi@= enterprisedb.com> wrote:
<= p style=3D"margin:0pt">On Tue, Aug 9, 2016 at 6:47 PM, Dave Page <dpage@p= gadmin.org> wrote:



On Tue, Aug 9, 2016= at 2:07 PM, Ashesh Vashi <ashesh.vashi@enterprisedb.com> wrote:

On Tue, Aug 9= , 2016 at 6:34 PM, Dave Page <dpage@pgadmin.org> wrote:
<= /p>



On Tue, Aug 9, 2016 at 2:01 PM, Ashesh Vashi <ashesh.vashi@enterprisedb.com> wrote:

On Tue, Aug 9, 2016 at 6:28 PM, Dave Page <dpag= e@pgadmin.org> wrote:

<= div class=3D"gmail_quote">
Hi

On Tue, Aug 9, 2016 at 8:07 AM, Murtuza Zabuawala
<murtuza.zabuawala@enterprisedb.com> wrote:
> Hi,
>
> PFA patch to fix the issue where message panel was showing incomplete = info.
> We may still miss some messages from Psycopg2 driver due to limited si= ze of
> notices queue.
> (RM#1523)

A few thoughts on this (mostly based on my discussions with Ashesh):=

1) You seem to have removed the poll delay. I assume that is to try to
avoid missing messages? Can we re-introduce the delay (to avoid
excessive network requests), but collect messages while we're waiting?<= br>
Using thread?
Start a thread during t= he timeout?

= Not necessarily. If we want a 2 second polling delay, we could just sleep f= or 0.5 secs, collect messages, sleep for 0.5 sec, collect messages, <rep= eat...> return to client.
That's a very huge delay in practical.
We were hardly waiti= ng for during poll (that was in milliseconds), but - still we were loosing = a lot of the messages. (a lot more from the current implementation).
<= /div>

What was the origi= nal delay? Now there appears to be none at all.
That was 10 milliseconds

Hmm, Ok - for some reason I thought it was much = longer. Ignore that point then :-)
=C2=A0
--
Dave P= age
Blog: http= ://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterpri= sedb.com
The Enterprise PostgreSQL Company

--001a11397e2a64dbbf053a2a35cd-- --001a11397e2a64dbc3053a2a35cf Content-Type: text/x-patch; charset=US-ASCII; name="RM_1523_with_incremental_msgs.patch" Content-Disposition: attachment; filename="RM_1523_with_incremental_msgs.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_irx2l4oj0 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL3NxbGVkaXRvci9fX2lu aXRfXy5weSBiL3dlYi9wZ2FkbWluL3Rvb2xzL3NxbGVkaXRvci9fX2luaXRf Xy5weQppbmRleCBiYjVjMjZiLi42ZGU0MmIwIDEwMDY0NAotLS0gYS93ZWIv cGdhZG1pbi90b29scy9zcWxlZGl0b3IvX19pbml0X18ucHkKKysrIGIvd2Vi L3BnYWRtaW4vdG9vbHMvc3FsZWRpdG9yL19faW5pdF9fLnB5CkBAIC00MDYs OCArNDA2LDEwIEBAIGRlZiBwb2xsKHRyYW5zX2lkKToKICAgICAgICAgdHJh bnNfaWQ6IHVuaXF1ZSB0cmFuc2FjdGlvbiBpZAogICAgICIiIgogICAgIGNv bF9pbmZvID0gTm9uZQorICAgIHJlc3VsdCA9IE5vbmUKICAgICBwcmltYXJ5 X2tleXMgPSBOb25lCiAgICAgcm93c19hZmZlY3RlZCA9IDAKKyAgICBhZGRp dGlvbmFsX3Jlc3VsdCA9IFtdCiAKICAgICAjIENoZWNrIHRoZSB0cmFuc2Fj dGlvbiBhbmQgY29ubmVjdGlvbiBzdGF0dXMKICAgICBzdGF0dXMsIGVycm9y X21zZywgY29ubiwgdHJhbnNfb2JqLCBzZXNzaW9uX29iaiA9IGNoZWNrX3Ry YW5zYWN0aW9uX3N0YXR1cyh0cmFuc19pZCkKQEAgLTQzMCw2ICs0MzIsMTAg QEAgZGVmIHBvbGwodHJhbnNfaWQpOgogICAgICAgICAgICAgc3RhdHVzID0g J0NhbmNlbCcKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHN0YXR1cyA9 ICdCdXN5JworICAgICAgICAgICAgbWVzc2FnZXMgPSBjb25uLm1lc3NhZ2Vz KCkKKyAgICAgICAgICAgIGlmIG1lc3NhZ2VzIGFuZCBsZW4obWVzc2FnZXMp ID4gMDoKKyAgICAgICAgICAgICAgICByZXN1bHQgPSAnJy5qb2luKG1lc3Nh Z2VzKQorCiAgICAgZWxzZToKICAgICAgICAgc3RhdHVzID0gJ05vdENvbm5l Y3RlZCcKICAgICAgICAgcmVzdWx0ID0gZXJyb3JfbXNnCkBAIC00NTAsMjAg KzQ1NiwyNSBAQCBkZWYgcG9sbCh0cmFuc19pZCk6CiAgICAgICAgICMgcmVz dG9yZSBpdCBhbmQgdXBkYXRlIHRoZSBzZXNzaW9uIHZhcmlhYmxlLgogICAg ICAgICBzZXNzaW9uX29ialsnY29sdW1uc19pbmZvJ10gPSBjb2x1bW5zCiAg ICAgICAgIHVwZGF0ZV9zZXNzaW9uX2dyaWRfdHJhbnNhY3Rpb24odHJhbnNf aWQsIHNlc3Npb25fb2JqKQotICAgIGVsc2U6Ci0gICAgICAgIGlmIHJlc3Vs dCBpcyBOb25lOgotICAgICAgICAgICAgcmVzdWx0ID0gY29ubi5zdGF0dXNf bWVzc2FnZSgpCi0gICAgICAgICAgICBhZGRpdGlvbmFsX3Jlc3VsdCA9IGNv bm4ubWVzc2FnZXMoKQotICAgICAgICAgICAgIiIiCi0gICAgICAgICAgICBQ cm9jZWR1cmUvRnVuY3Rpb24gb3V0cHV0IG1heSBjb21lcyBpbiB0aGUgZm9y bSBvZiBOb3RpY2VzIGZyb20gdGhlCi0gICAgICAgICAgICBkYXRhYmFzZSBz ZXJ2ZXIsIHNvIHdlIG5lZWQgdG8gYXBwZW5kIHRob3NlIG91dHB1dHMgd2l0 aCB0aGUKLSAgICAgICAgICAgIG9yaWdpbmFsIHJlc3VsdC4KLSAgICAgICAg ICAgICIiIgotICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShhZGRpdGlvbmFs X3Jlc3VsdCwgbGlzdCkgXAotICAgICAgICAgICAgICAgICAgICBhbmQgbGVu KGFkZGl0aW9uYWxfcmVzdWx0KSA+IDA6Ci0gICAgICAgICAgICAgICAgcmVz dWx0ID0gInswfSB7MX0iLmZvcm1hdChhZGRpdGlvbmFsX3Jlc3VsdFstMV0s IHJlc3VsdCkKLQotICAgICAgICAgICAgcm93c19hZmZlY3RlZCA9IGNvbm4u cm93c19hZmZlY3RlZCgpCisKKyAgICAiIiIKKyAgICAgICAgUHJvY2VkdXJl L0Z1bmN0aW9uIG91dHB1dCBtYXkgY29tZXMgaW4gdGhlIGZvcm0gb2YgTm90 aWNlcyBmcm9tIHRoZQorICAgICAgICBkYXRhYmFzZSBzZXJ2ZXIsIHNvIHdl IG5lZWQgdG8gYXBwZW5kIHRob3NlIG91dHB1dHMgd2l0aCB0aGUKKyAgICAg ICAgb3JpZ2luYWwgcmVzdWx0LgorICAgICIiIgorICAgIGlmIHN0YXR1cyA9 PSAnU3VjY2VzcycgYW5kIHJlc3VsdCBpcyBOb25lOgorICAgICAgICByZXN1 bHQgPSBjb25uLnN0YXR1c19tZXNzYWdlKCkKKyAgICAgICAgbWVzc2FnZXMg PSBjb25uLm1lc3NhZ2VzKCkKKyAgICAgICAgaWYgbWVzc2FnZXM6CisgICAg ICAgICAgICBhZGRpdGlvbmFsX3Jlc3VsdCA9ICcnLmpvaW4obWVzc2FnZXMp CisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBhZGRpdGlvbmFsX3Jlc3Vs dCA9ICcnCisgICAgICAgIGlmIHJlc3VsdCAhPSAnU0VMRUNUIDEnIGFuZCBy ZXN1bHQgaXMgbm90IE5vbmU6CisgICAgICAgICAgICByZXN1bHQgPSBhZGRp dGlvbmFsX3Jlc3VsdCArIHJlc3VsdAorICAgICAgICBlbHNlOgorICAgICAg ICAgICAgcmVzdWx0ID0gYWRkaXRpb25hbF9yZXN1bHQKKworICAgICAgICBy b3dzX2FmZmVjdGVkID0gY29ubi5yb3dzX2FmZmVjdGVkKCkKIAogICAgIHJl dHVybiBtYWtlX2pzb25fcmVzcG9uc2UoCiAgICAgICAgIGRhdGE9ewpkaWZm IC0tZ2l0IGEvd2ViL3BnYWRtaW4vdG9vbHMvc3FsZWRpdG9yL3RlbXBsYXRl cy9zcWxlZGl0b3IvanMvc3FsZWRpdG9yLmpzIGIvd2ViL3BnYWRtaW4vdG9v bHMvc3FsZWRpdG9yL3RlbXBsYXRlcy9zcWxlZGl0b3IvanMvc3FsZWRpdG9y LmpzCmluZGV4IDY1NjQ3YzEuLmY3ZjMzNTggMTAwNjQ0Ci0tLSBhL3dlYi9w Z2FkbWluL3Rvb2xzL3NxbGVkaXRvci90ZW1wbGF0ZXMvc3FsZWRpdG9yL2pz L3NxbGVkaXRvci5qcworKysgYi93ZWIvcGdhZG1pbi90b29scy9zcWxlZGl0 b3IvdGVtcGxhdGVzL3NxbGVkaXRvci9qcy9zcWxlZGl0b3IuanMKQEAgLTEy ODYsNyArMTI4Niw5IEBAIGRlZmluZSgKICAgICAgICAgICAgICAgICAgICAg ZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgLy8gU2hvdyBtZXNzYWdl IGluIG1lc3NhZ2UgYW5kIGhpc3RvcnkgdGFiIGluIGNhc2Ugb2YgcXVlcnkg dG9vbAogICAgICAgICAgICAgICAgICAgICAgIHNlbGYudG90YWxfdGltZSA9 IHNlbGYuZ2V0X3F1ZXJ5X3J1bl90aW1lKHNlbGYucXVlcnlfc3RhcnRfdGlt ZSwgc2VsZi5xdWVyeV9lbmRfdGltZSk7Ci0gICAgICAgICAgICAgICAgICAg ICAgc2VsZi51cGRhdGVfbXNnX2hpc3RvcnkodHJ1ZSwgcmVzLmRhdGEucmVz dWx0KTsKKyAgICAgICAgICAgICAgICAgICAgICBzZWxmLnVwZGF0ZV9tc2df aGlzdG9yeSh0cnVlLCByZXMuZGF0YS5yZXN1bHQsIGZhbHNlKTsKKyAgICAg ICAgICAgICAgICAgICAgICB2YXIgbXNnID0gUygne3sgXygnVG90YWwgcXVl cnkgcnVudGltZTogJXMuJykgfX0nKS5zcHJpbnRmKHNlbGYudG90YWxfdGlt ZSkudmFsdWUoKTsKKyAgICAgICAgICAgICAgICAgICAgICBhbGVydGlmeS5z dWNjZXNzKG1zZywgc2VsZi5pbmZvX25vdGlmaWVyX3RpbWVvdXQpOwogICAg ICAgICAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgICAgICAgICAgLy8g RW5hYmxlL0Rpc2FibGUgcXVlcnkgdG9vbCBidXR0b24gb25seSBpZiBpc19x dWVyeV90b29sIGlzIHRydWUuCkBAIC0xMjk2LDYgKzEyOTgsOSBAQCBkZWZp bmUoCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHJlcy5kYXRhLnN0YXR1 cyA9PT0gJ0J1c3knKSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChyZXMu ZGF0YS5yZXN1bHQpIHsKKyAgICAgICAgICAgICAgICAgICAgICBzZWxmLnVw ZGF0ZV9tc2dfaGlzdG9yeShyZXMuZGF0YS5zdGF0dXMsIHJlcy5kYXRhLnJl c3VsdCwgZmFsc2UpOworICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICAgICAgIC8vIElmIHN0YXR1cyBpcyBCdXN5IHRoZW4gcG9sbCB0 aGUgcmVzdWx0IGJ5IHJlY3Vyc2l2ZSBjYWxsIHRvIHRoZSBwb2xsIGZ1bmN0 aW9uCiAgICAgICAgICAgICAgICAgICAgIHNlbGYuX3BvbGwoKTsKICAgICAg ICAgICAgICAgICAgIH0KQEAgLTEzMDYsMTAgKzEzMTEsMTAgQEAgZGVmaW5l KAogICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZGlzYWJsZV90b29sX2J1 dHRvbnMoZmFsc2UpOwogICAgICAgICAgICAgICAgICAgICAgICQoIiNidG4t Y2FuY2VsLXF1ZXJ5IikucHJvcCgnZGlzYWJsZWQnLCB0cnVlKTsKICAgICAg ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICBzZWxmLnVw ZGF0ZV9tc2dfaGlzdG9yeShmYWxzZSwgcmVzLmRhdGEucmVzdWx0KTsKKyAg ICAgICAgICAgICAgICAgICAgc2VsZi51cGRhdGVfbXNnX2hpc3RvcnkoZmFs c2UsIHJlcy5kYXRhLnJlc3VsdCwgdHJ1ZSk7CiAgICAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChyZXMuZGF0YS5zdGF0 dXMgPT09ICdDYW5jZWwnKSB7Ci0gICAgICAgICAgICAgICAgICAgIHNlbGYu dXBkYXRlX21zZ19oaXN0b3J5KGZhbHNlLCAiRXhlY3V0aW9uIENhbmNlbGxl ZCEiKQorICAgICAgICAgICAgICAgICAgICBzZWxmLnVwZGF0ZV9tc2dfaGlz dG9yeShmYWxzZSwgIkV4ZWN1dGlvbiBDYW5jZWxsZWQhIiwgdHJ1ZSkKICAg ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9LAogICAgICAg ICAgICAgICAgIGVycm9yOiBmdW5jdGlvbihlKSB7CkBAIC0xNjg0LDMxICsx Njg5LDM1IEBAIGRlZmluZSgKICAgICAgICAgICBpZiAoY2xlYXJfZ3JpZCA9 PT0gdW5kZWZpbmVkKQogICAgICAgICAgICAgY2xlYXJfZ3JpZCA9IHRydWU7 CiAKLSAgICAgICAgICBzZWxmLnRyaWdnZXIoJ3BnYWRtaW4tc3FsZWRpdG9y OmxvYWRpbmctaWNvbjpoaWRlJyk7Ci0gICAgICAgICAgJCgiI2J0bi1mbGFz aCIpLnByb3AoJ2Rpc2FibGVkJywgZmFsc2UpOwotCi0gICAgICAgICAgJCgn LnNxbC1lZGl0b3ItbWVzc2FnZScpLnRleHQobXNnKTsKICAgICAgICAgICBz ZWxmLmdyaWRWaWV3Lm1lc3NhZ2VzX3BhbmVsLmZvY3VzKCk7CiAKLSAgICAg ICAgICBpZiAoc2VsZi5pc19xdWVyeV90b29sICYmIGNsZWFyX2dyaWQpIHsK LSAgICAgICAgICAgIC8vIERlbGV0ZSBncmlkIGFuZCBwYWdpbmF0b3IKLSAg ICAgICAgICAgIGlmIChzZWxmLmdyaWRWaWV3LmdyaWQpIHsKLSAgICAgICAg ICAgICAgc2VsZi5ncmlkVmlldy5ncmlkLnJlbW92ZSgpOworICAgICAgICAg IGlmIChzZWxmLmlzX3F1ZXJ5X3Rvb2wpIHsKKyAgICAgICAgICAgIGlmIChj bGVhcl9ncmlkKSB7CisgICAgICAgICAgICAgIC8vIERlbGV0ZSBncmlkIGFu ZCBwYWdpbmF0b3IKKyAgICAgICAgICAgICAgaWYgKHNlbGYuZ3JpZFZpZXcu Z3JpZCkgeworICAgICAgICAgICAgICAgIHNlbGYuZ3JpZFZpZXcuZ3JpZC5y ZW1vdmUoKTsKKyAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAvLyBN aXNjIGNsZWFuaW5nCiAgICAgICAgICAgICAgIHNlbGYuY29sdW1ucyA9IHVu ZGVmaW5lZDsKICAgICAgICAgICAgICAgc2VsZi5jb2xsZWN0aW9uID0gdW5k ZWZpbmVkOwotICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBpZiAoc2Vs Zi5ncmlkVmlldy5wYWdpbmF0b3IpCi0gICAgICAgICAgICAgc2VsZi5ncmlk Vmlldy5wYWdpbmF0b3IucmVtb3ZlKCk7CisgICAgICAgICAgICAgIGlmIChz ZWxmLmdyaWRWaWV3LnBhZ2luYXRvcikKKyAgICAgICAgICAgICAgICBzZWxm LmdyaWRWaWV3LnBhZ2luYXRvci5yZW1vdmUoKTsKKyAgICAgICAgICAgICAg JCgnLnNxbC1lZGl0b3ItbWVzc2FnZScpLnRleHQobXNnKTsKKyAgICAgICAg ICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICQoJy5zcWwtZWRpdG9yLW1l c3NhZ2UnKS5hcHBlbmQobXNnKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAg ICB9CisgICAgICAgICAgaWYoc3RhdHVzICE9ICdCdXN5JykgeworICAgICAg ICAgICAgJCgiI2J0bi1mbGFzaCIpLnByb3AoJ2Rpc2FibGVkJywgZmFsc2Up OworICAgICAgICAgICAgc2VsZi50cmlnZ2VyKCdwZ2FkbWluLXNxbGVkaXRv cjpsb2FkaW5nLWljb246aGlkZScpOworICAgICAgICAgICAgc2VsZi5ncmlk Vmlldy5oaXN0b3J5X2NvbGxlY3Rpb24uYWRkKHsKKyAgICAgICAgICAgICAg J3N0YXR1cycgOiBzdGF0dXMsICdzdGFydF90aW1lJzogc2VsZi5xdWVyeV9z dGFydF90aW1lLnRvU3RyaW5nKCksCisgICAgICAgICAgICAgICdxdWVyeSc6 IHNlbGYucXVlcnksICdyb3dfYWZmZWN0ZWQnOiBzZWxmLnJvd3NfYWZmZWN0 ZWQsCisgICAgICAgICAgICAgICd0b3RhbF90aW1lJzogc2VsZi50b3RhbF90 aW1lLCAnbWVzc2FnZSc6bXNnCisgICAgICAgICAgICB9KTsKKyAgICAgICAg ICAgIHNlbGYuZ3JpZFZpZXcuaGlzdG9yeV9jb2xsZWN0aW9uLnNvcnQoKTsK ICAgICAgICAgICB9Ci0KLSAgICAgICAgICBzZWxmLmdyaWRWaWV3Lmhpc3Rv cnlfY29sbGVjdGlvbi5hZGQoCi0gICAgICAgICAgICB7J3N0YXR1cycgOiBz dGF0dXMsICdzdGFydF90aW1lJzogc2VsZi5xdWVyeV9zdGFydF90aW1lLnRv U3RyaW5nKCksCi0gICAgICAgICAgICAgJ3F1ZXJ5Jzogc2VsZi5xdWVyeSwg J3Jvd19hZmZlY3RlZCc6IHNlbGYucm93c19hZmZlY3RlZCwKLSAgICAgICAg ICAgICAndG90YWxfdGltZSc6IHNlbGYudG90YWxfdGltZSwgJ21lc3NhZ2Un Om1zZwotICAgICAgICAgIH0pOwotCi0gICAgICAgICAgc2VsZi5ncmlkVmll dy5oaXN0b3J5X2NvbGxlY3Rpb24uc29ydCgpOwogICAgICAgICB9LAogCiAg ICAgICAgIC8vIFRoaXMgZnVuY3Rpb24gd2lsbCByZXR1cm4gdGhlIHRvdGFs IHF1ZXJ5IGV4ZWN1dGlvbiBUaW1lLgpAQCAtMjEzMywxMCArMjE0MiwxMiBA QCBkZWZpbmUoCiAgICAgICAgICAgdmFyIHNlbGYgPSB0aGlzOwogCiAgICAg ICAgICAgLy8gU3RhcnQgZXhlY3V0aW9uIG9mIHRoZSBxdWVyeS4KLSAgICAg ICAgICBpZiAoc2VsZi5pc19xdWVyeV90b29sKQorICAgICAgICAgIGlmIChz ZWxmLmlzX3F1ZXJ5X3Rvb2wpIHsKKyAgICAgICAgICAgICQoJy5zcWwtZWRp dG9yLW1lc3NhZ2UnKS5odG1sKCcnKTsKICAgICAgICAgICAgIHNlbGYuX2V4 ZWN1dGUoKTsKLSAgICAgICAgICBlbHNlCisgICAgICAgICAgfSBlbHNlIHsK ICAgICAgICAgICAgIHNlbGYuX2V4ZWN1dGVfZGF0YV9xdWVyeSgpOworICAg ICAgICAgIH0KICAgICAgICAgfSwKIAogICAgICAgICAvLyBUaGlzIGZ1bmN0 aW9uIHdpbGwgc2hvdyB0aGUgZmlsdGVyIGluIHRoZSB0ZXh0IGFyZWEuCmRp ZmYgLS1naXQgYS93ZWIvcGdhZG1pbi91dGlscy9kcml2ZXIvcHN5Y29wZzIv X19pbml0X18ucHkgYi93ZWIvcGdhZG1pbi91dGlscy9kcml2ZXIvcHN5Y29w ZzIvX19pbml0X18ucHkKaW5kZXggZmJkZTYwMy4uYmRlZDkzMSAxMDA2NDQK LS0tIGEvd2ViL3BnYWRtaW4vdXRpbHMvZHJpdmVyL3BzeWNvcGcyL19faW5p dF9fLnB5CisrKyBiL3dlYi9wZ2FkbWluL3V0aWxzL2RyaXZlci9wc3ljb3Bn Mi9fX2luaXRfXy5weQpAQCAtMTc4LDYgKzE3OCw3IEBAIGNsYXNzIENvbm5l Y3Rpb24oQmFzZUNvbm5lY3Rpb24pOgogICAgICAgICBzZWxmLl9fYmFja2Vu ZF9waWQgPSBOb25lCiAgICAgICAgIHNlbGYuZXhlY3V0aW9uX2Fib3J0ZWQg PSBGYWxzZQogICAgICAgICBzZWxmLnJvd19jb3VudCA9IDAKKyAgICAgICAg c2VsZi5fX25vdGljZXMgPSBOb25lCiAKICAgICAgICAgc3VwZXIoQ29ubmVj dGlvbiwgc2VsZikuX19pbml0X18oKQogCkBAIC02MzksNiArNjQwLDcgQEAg QXR0ZW1wdCB0byByZWNvbm5lY3QgaXQgZmFpbGVkIHdpdGggdGhlIGVycm9y OgogICAgICAgICApCiAKICAgICAgICAgdHJ5OgorICAgICAgICAgICAgc2Vs Zi5fX25vdGljZXMgPSBbXQogICAgICAgICAgICAgc2VsZi5leGVjdXRpb25f YWJvcnRlZCA9IEZhbHNlCiAgICAgICAgICAgICBjdXIuZXhlY3V0ZShxdWVy eSwgcGFyYW1zKQogICAgICAgICAgICAgcmVzID0gc2VsZi5fd2FpdF90aW1l b3V0KGN1ci5jb25uZWN0aW9uLCBBU1lOQ19XQUlUX1RJTUVPVVQpCkBAIC05 MDQsMzEgKzkwNiw5IEBAIEZhaWxlZCB0byByZXNldCB0aGUgY29ubmVjdGlv biB0byB0aGUgc2VydmVyIGR1ZSB0byBmb2xsb3dpbmcgZXJyb3I6CiAgICAg ICAgIGlmIHN0YXRlID09IHBzeWNvcGcyLmV4dGVuc2lvbnMuUE9MTF9PSzoK ICAgICAgICAgICAgIHJldHVybiBzZWxmLkFTWU5DX09LCiAgICAgICAgIGVs aWYgc3RhdGUgPT0gcHN5Y29wZzIuZXh0ZW5zaW9ucy5QT0xMX1dSSVRFOgot ICAgICAgICAgICAgIyBXYWl0IGZvciB0aGUgZ2l2ZW4gdGltZSBhbmQgdGhl biBjaGVjayB0aGUgcmV0dXJuIHN0YXR1cwotICAgICAgICAgICAgIyBJZiB0 aHJlZSBlbXB0eSBsaXN0cyBhcmUgcmV0dXJuZWQgdGhlbiB0aGUgdGltZS1v dXQgaXMgcmVhY2hlZC4KLSAgICAgICAgICAgIHRpbWVvdXRfc3RhdHVzID0g c2VsZWN0LnNlbGVjdChbXSwgW2Nvbm4uZmlsZW5vKCldLCBbXSwgdGltZSkK LSAgICAgICAgICAgIGlmIHRpbWVvdXRfc3RhdHVzID09IChbXSwgW10sIFtd KToKLSAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5BU1lOQ19XUklURV9U SU1FT1VUCi0KLSAgICAgICAgICAgICMgcG9sbCBhZ2FpbiB0byBjaGVjayB0 aGUgc3RhdGUgaWYgaXQgaXMgc3RpbGwgUE9MTF9XUklURQotICAgICAgICAg ICAgIyB0aGVuIHJldHVybiBBU1lOQ19XUklURV9USU1FT1VUIGVsc2UgcmV0 dXJuIEFTWU5DX09LLgotICAgICAgICAgICAgc3RhdGUgPSBjb25uLnBvbGwo KQotICAgICAgICAgICAgaWYgc3RhdGUgPT0gcHN5Y29wZzIuZXh0ZW5zaW9u cy5QT0xMX1dSSVRFOgotICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLkFT WU5DX1dSSVRFX1RJTUVPVVQKLSAgICAgICAgICAgIHJldHVybiBzZWxmLkFT WU5DX09LCisgICAgICAgICAgICByZXR1cm4gc2VsZi5BU1lOQ19XUklURV9U SU1FT1VUCiAgICAgICAgIGVsaWYgc3RhdGUgPT0gcHN5Y29wZzIuZXh0ZW5z aW9ucy5QT0xMX1JFQUQ6Ci0gICAgICAgICAgICAjIFdhaXQgZm9yIHRoZSBn aXZlbiB0aW1lIGFuZCB0aGVuIGNoZWNrIHRoZSByZXR1cm4gc3RhdHVzCi0g ICAgICAgICAgICAjIElmIHRocmVlIGVtcHR5IGxpc3RzIGFyZSByZXR1cm5l ZCB0aGVuIHRoZSB0aW1lLW91dCBpcyByZWFjaGVkLgotICAgICAgICAgICAg dGltZW91dF9zdGF0dXMgPSBzZWxlY3Quc2VsZWN0KFtjb25uLmZpbGVubygp XSwgW10sIFtdLCB0aW1lKQotICAgICAgICAgICAgaWYgdGltZW91dF9zdGF0 dXMgPT0gKFtdLCBbXSwgW10pOgotICAgICAgICAgICAgICAgIHJldHVybiBz ZWxmLkFTWU5DX1JFQURfVElNRU9VVAotCi0gICAgICAgICAgICAjIHBvbGwg YWdhaW4gdG8gY2hlY2sgdGhlIHN0YXRlIGlmIGl0IGlzIHN0aWxsIFBPTExf UkVBRAotICAgICAgICAgICAgIyB0aGVuIHJldHVybiBBU1lOQ19SRUFEX1RJ TUVPVVQgZWxzZSByZXR1cm4gQVNZTkNfT0suCi0gICAgICAgICAgICBzdGF0 ZSA9IGNvbm4ucG9sbCgpCi0gICAgICAgICAgICBpZiBzdGF0ZSA9PSBwc3lj b3BnMi5leHRlbnNpb25zLlBPTExfUkVBRDoKLSAgICAgICAgICAgICAgICBy ZXR1cm4gc2VsZi5BU1lOQ19SRUFEX1RJTUVPVVQKLSAgICAgICAgICAgIHJl dHVybiBzZWxmLkFTWU5DX09LCisgICAgICAgICAgICByZXR1cm4gc2VsZi5B U1lOQ19SRUFEX1RJTUVPVVQKICAgICAgICAgZWxzZToKICAgICAgICAgICAg IHJhaXNlIHBzeWNvcGcyLk9wZXJhdGlvbmFsRXJyb3IoCiAgICAgICAgICAg ICAgICAgInBvbGwoKSByZXR1cm5lZCAlcyBmcm9tIF93YWl0X3RpbWVvdXQg ZnVuY3Rpb24iICUgc3RhdGUKQEAgLTk2NSw2ICs5NDUsMTAgQEAgRmFpbGVk IHRvIHJlc2V0IHRoZSBjb25uZWN0aW9uIHRvIHRoZSBzZXJ2ZXIgZHVlIHRv IGZvbGxvd2luZyBlcnJvcjoKICAgICAgICAgICAgIGVycm1zZyA9IHNlbGYu X2Zvcm1hdHRlZF9leGNlcHRpb25fbXNnKHBlLCBmb3JtYXR0ZWRfZXhjZXB0 aW9uX21zZykKICAgICAgICAgICAgIHJldHVybiBGYWxzZSwgZXJybXNnLCBO b25lCiAKKyAgICAgICAgaWYgc2VsZi5jb25uLm5vdGljZXMgYW5kIHNlbGYu X19ub3RpY2VzIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgd2hpbGUgc2Vs Zi5jb25uLm5vdGljZXM6CisgICAgICAgICAgICAgICAgc2VsZi5fX25vdGlj ZXMuYXBwZW5kKHNlbGYuY29ubi5ub3RpY2VzLnBvcCgwKVs6XSkKKwogICAg ICAgICBjb2xpbmZvID0gTm9uZQogICAgICAgICByZXN1bHQgPSBOb25lCiAg ICAgICAgIHNlbGYucm93X2NvdW50ID0gMApAQCAtOTk2LDcgKzk4MCw2IEBA IEZhaWxlZCB0byByZXNldCB0aGUgY29ubmVjdGlvbiB0byB0aGUgc2VydmVy IGR1ZSB0byBmb2xsb3dpbmcgZXJyb3I6CiAgICAgICAgICAgICAgICAgICAg ICAgICByZXN1bHQuYXBwZW5kKGRpY3Qocm93KSkKICAgICAgICAgICAgICAg ICBleGNlcHQgcHN5Y29wZzIuUHJvZ3JhbW1pbmdFcnJvcjoKICAgICAgICAg ICAgICAgICAgICAgcmVzdWx0ID0gTm9uZQotCiAgICAgICAgIHJldHVybiBz dGF0dXMsIHJlc3VsdCwgY29saW5mbwogCiAgICAgZGVmIHN0YXR1c19tZXNz YWdlKHNlbGYpOgpAQCAtMTA5NCw3ICsxMDc3LDcgQEAgRmFpbGVkIHRvIHJl c2V0IHRoZSBjb25uZWN0aW9uIHRvIHRoZSBzZXJ2ZXIgZHVlIHRvIGZvbGxv d2luZyBlcnJvcjoKICAgICAgICAgIiIiCiAgICAgICAgIFJldHVybnMgdGhl IGxpc3Qgb2YgdGhlIG1lc3NhZ2VzL25vdGljZXMgc2VuZCBmcm9tIHRoZSBk YXRhYmFzZSBzZXJ2ZXIuCiAgICAgICAgICIiIgotICAgICAgICByZXR1cm4g c2VsZi5jb25uLm5vdGljZXMgaWYgc2VsZi5jb25uIGVsc2UgW10KKyAgICAg ICAgcmV0dXJuIHNlbGYuX19ub3RpY2VzCiAKICAgICBkZWYgX2Zvcm1hdHRl ZF9leGNlcHRpb25fbXNnKHNlbGYsIGV4Y2VwdGlvbl9vYmosIGZvcm1hdHRl ZF9tc2cpOgogICAgICAgICAiIiIK --001a11397e2a64dbc3053a2a35cf 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 --001a11397e2a64dbc3053a2a35cf--