Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1aqgwr-00034X-8Q for pgadmin-hackers@arkaria.postgresql.org; Thu, 14 Apr 2016 13:04:41 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1aqgwq-0002Gq-NP for pgadmin-hackers@arkaria.postgresql.org; Thu, 14 Apr 2016 13:04:40 +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 1aqgwc-000224-Hj for pgadmin-hackers@postgresql.org; Thu, 14 Apr 2016 13:04:26 +0000 Received: from mail-qg0-x22b.google.com ([2607:f8b0:400d:c04::22b]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1aqgwZ-0000uy-5m for pgadmin-hackers@postgresql.org; Thu, 14 Apr 2016 13:04:25 +0000 Received: by mail-qg0-x22b.google.com with SMTP id j35so62162775qge.0 for ; Thu, 14 Apr 2016 06:04:22 -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=8aQuvSlPnrvV0XEll5vd6dlPvM5VpGzKmRE03lxn6Pg=; b=jeJAZ94xrS0J1HMPgo7rSHeZhjrVxRF6MOCtvH5eIDm12pe5K6qrMqgtMuzIqqSdpq yTU1ccSNqXWZZHZzFW7kmbksvpaK5wvGgfUhGfV9m79i0S9fEs5Q8VEe+IA0lxAMnOGE OQQZ/ePyEspwSCxXxYYXKeGj123uSK1ORJMA8sfSmBVkYHIjY7qIObYOuscODyKz30pp ZkknBztUim4OZxIioDkP7CGhknxeTzxHsS2Kp4vyTuYbkJE6OQpa+lP128sBoU++wmR0 G82qBLPaWIM6FkPylQzSSjPpPEbVttwG/FtLshnZ5K537wQtMO+xojiQYO6A8PJ0vc0I guhw== 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=8aQuvSlPnrvV0XEll5vd6dlPvM5VpGzKmRE03lxn6Pg=; b=es02oO5biaI6azmt7kvNSK0suQJEiyIi0RFD7VQ8i81mBKMOacVT/iIj8jiCrhImB2 92rCzfaaYIWtEVC8nLnIh8y/a0q2bwCXs9AAUJxVKXNp4w573sHAh2uIlsg49HhuLZ3P 4c8kt3AozqzKb9NeiZD1cHmB0SKV3HU6PPY+y+9MT8oDjz3hR95OM45HQSAiuCbuykuj 3RnR4gQhlgQp03R66WbaM4MfHTUsX/0RiwfR1qna9QbdC4KQWnNd7leo1ci9rlZddb3T uewRRG7cKl/Dkp0fm6Fjzg5D2QYs1NZ+4tFswzhNbCOtRyUDpbkaIzYyCjoRPImQsbQE YEcA== X-Gm-Message-State: AOPr4FUjx0EWDWVSSxFGDQFdS91puA3BldEfitnJ/BP76SdMfhduYwiQfMlNnK4B0BS9OD8omZH3w3EmDrYYUr4/ X-Received: by 10.140.250.5 with SMTP id v5mr19152912qhc.9.1460638668622; Thu, 14 Apr 2016 05:57:48 -0700 (PDT) MIME-Version: 1.0 Received: by 10.55.128.132 with HTTP; Thu, 14 Apr 2016 05:57:28 -0700 (PDT) In-Reply-To: References: From: Murtuza Zabuawala Date: Thu, 14 Apr 2016 18:27:28 +0530 Message-ID: Subject: Re: PATCH: Added Node Type & Catalog objects [pgAdmin4] To: Dave Page Cc: pgadmin-hackers Content-Type: multipart/mixed; boundary=001a113ac03efd9f2f05307170c7 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 --001a113ac03efd9f2f05307170c7 Content-Type: multipart/alternative; boundary=001a113ac03efd9f2c05307170c5 --001a113ac03efd9f2c05307170c5 Content-Type: text/plain; charset=UTF-8 Hi Dave, PFA patch to fixed given issues. -- Regards, Murtuza Zabuawala EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company On Thu, Apr 14, 2016 at 5:11 PM, Dave Page wrote: > Thanks - patch applied. Unfortunately there are 3 more minor issues > for you to fix: > > - Renaming or changing the schema for a shell type should not be allowed. > > Done > - I'm allowed to try to add ACL entries or security labels to an > existing shell type. This should be disallowed. > > Done > - Changing the schema on a (non-shell) type doesn't work - the type > name is omitted, e.g. > > Done > ALTER TYPE pem > SET SCHEMA pemhistory; > > Which should be: > > ALTER TYPE pem.foo > SET SCHEMA pemhistory; > > On Thu, Apr 14, 2016 at 8:36 AM, Murtuza Zabuawala > wrote: > > Hi Dave, > > > > PFA updated patch which will fix mentioned issues. > > > > Hopefully the last one :-) > > > > > > -- > > Regards, > > Murtuza Zabuawala > > EnterpriseDB: http://www.enterprisedb.com > > The Enterprise PostgreSQL Company > > > > On Wed, Apr 13, 2016 at 6:18 PM, Dave Page wrote: > >> > >> Hi > >> > >> I'm seeing some more issues now, some related to new functionality: > >> > >> - Please don't include the descriptive header for shell types in > >> create.sql. > > > > Done > >> > >> > >> - Shell types can (and should) have owner/comments set if specified. > >> > > Done > >> > >> - The Type dropdown should just say "Shell" for shell types (no > >> additional text). > >> > > Done > >> > >> - Privileges and labels grids should be disabled for shell types. > >> > > Done > >> > >> - When I select External type, I see the following error (and a 500 > >> error in the browser console): > >> > >> 2016-04-13 13:44:49,953: ERROR pgadmin: Failed to execute query > >> (execute_2darray) for the server #1 - DB:pem (Query-id: 4020898): > >> Error Message:ERROR: syntax error at or near "and" > >> LINE 2: CASE WHEN length(nspname) > 0 AND and length(nspname) !=... > >> > > Done > >> > >> - Length/Precision and scale are not shown in the dialogue for existing > >> types. > >> > > Done (PFA screenshot) > > > >> > >> Thanks. > >> > >> > >> On Fri, Apr 8, 2016 at 2:52 PM, Murtuza Zabuawala > >> wrote: > >> > Hi Dave, > >> > > >> > Please find updated patches to fix all the mentioned issues. > >> > > >> > There are three patches, > >> > 1) One for fixing rendering issue when selecting type > >> > 2) Added utility function to fetch full type name with length & > >> > precision > >> > 3) Added new Shell type for External types. > >> > > >> > > >> > Regards, > >> > Murtuza > >> > > >> > > >> > -- > >> > Regards, > >> > Murtuza Zabuawala > >> > EnterpriseDB: http://www.enterprisedb.com > >> > The Enterprise PostgreSQL Company > >> > > >> > On Thu, Apr 7, 2016 at 5:06 PM, Dave Page wrote: > >> >> > >> >> Hi Murtuza > >> >> > >> >> On Tue, Mar 22, 2016 at 9:22 AM, Dave Page > wrote: > >> >> > Hi > >> >> > > >> >> > On Tue, Mar 22, 2016 at 8:14 AM, Murtuza Zabuawala > >> >> > wrote: > >> >> >> Hi Dave, > >> >> >> > >> >> >> We can create new external type using below method, By running all > >> >> >> of > >> >> >> below > >> >> >> queries at the same time , we can not create separate external > type > >> >> >> by > >> >> >> only > >> >> >> using create type statement. > >> >> >> > >> >> >> So as per my discussion with Ashesh, We should not allow user to > >> >> >> create > >> >> >> external type in pgAdmin4 but only show definition in edit mode. > >> >> > > >> >> > Hmm, would it not make sense to allow the user to create the shell > >> >> > type as well (perhaps, with a new type of "SHELL")? Then they could > >> >> > do > >> >> > what is needed (and that should be easy, as it's just CREATE TYPE > >> >> > foo;) > >> >> > > >> >> > For example: > >> >> > > >> >> > CREATE TYPE box; > >> >> > > >> >> > CREATE FUNCTION my_box_in_function(cstring) RETURNS box AS ... ; > >> >> > CREATE FUNCTION my_box_out_function(box) RETURNS cstring AS ... ; > >> >> > > >> >> > CREATE TYPE box ( > >> >> > INTERNALLENGTH = 16, > >> >> > INPUT = my_box_in_function, > >> >> > OUTPUT = my_box_out_function > >> >> > ); > >> >> > > >> >> > CREATE TABLE myboxes ( > >> >> > id integer, > >> >> > description box > >> >> > ); > >> >> > >> >> In the interests of making progress, I've committed the most recent > >> >> patch, with a number of minor changes most significantly, the > Postgres > >> >> docs and system catalogs seem to have different ideas about what to > >> >> call length, precision and scale. pgAdmin 3 followed the catalogs and > >> >> used length and precision, however I've updated pgAdmin 4 to use > >> >> "Length/precision" and "Scale" which is inline with the Postgres > docs. > >> >> That's only in the UI though - the code follows the catalogs. > >> >> > >> >> There are still a couple of issues - please provide fixes ASAP: > >> >> > >> >> 1) If you create a composite type that contains a sized type (e.g. > >> >> numeric(5, 4), the precision and scale are not shown if you later > open > >> >> the properties dialogue, or in the reverse engineered SQL. > >> >> > >> >> E.g. what pgAdmin3 shows as: > >> >> > >> >> CREATE TYPE pem.blergh AS > >> >> (c1 text COLLATE pg_catalog."C", > >> >> c2 numeric(5)); > >> >> > >> >> Is shown by pgAdmin4 as: > >> >> > >> >> CREATE TYPE pem.blergh AS > >> >> (c1 text COLLATE pg_catalog."C", c2 numeric); > >> >> > >> >> (adding the \n's would be good too). > >> >> > >> >> 2) If you select a different type of type in create mode, the new > >> >> options are shown below those for the previously selected type, > >> >> instead of replacing them. Please see the attached screenshot. > >> >> > >> >> 3) I would still like us to support External types. I believe the > >> >> simple option here is to re-add the code you had previously, and to > >> >> add a new type of type called "SHELL" as discussed in my previous > >> >> email above. The user would then be able to create a SHELL type, add > >> >> the required functions, then come back and create the EXTERNAL type. > >> >> > >> >> I'll add cards to our internal kanban chart for these issues. > >> >> > >> >> Thanks. > >> >> > >> >> -- > >> >> Dave Page > >> >> Blog: http://pgsnake.blogspot.com > >> >> Twitter: @pgsnake > >> >> > >> >> EnterpriseDB UK: http://www.enterprisedb.com > >> >> The Enterprise PostgreSQL Company > >> > > >> > > >> > >> > >> > >> -- > >> Dave Page > >> Blog: http://pgsnake.blogspot.com > >> Twitter: @pgsnake > >> > >> EnterpriseDB UK: http://www.enterprisedb.com > >> The Enterprise PostgreSQL Company > > > > > > > > -- > Dave Page > Blog: http://pgsnake.blogspot.com > Twitter: @pgsnake > > EnterpriseDB UK: http://www.enterprisedb.com > The Enterprise PostgreSQL Company > --001a113ac03efd9f2c05307170c5 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi Dave,

PFA patch to fixed given issue= s.


= --
Regards,
Murtuza Zabuawala=
EnterpriseDB:=C2=A0http://www.ent= erprisedb.com
The Enterprise PostgreSQL Company


On Thu, Apr 14, 2016 at 5:11 PM, Dave Page <= span dir=3D"ltr"><dpage@pgadmin.org> wrote:
= Thanks - patch applied. Unfortunately there are 3 more minor issues
for you to fix:

- Renaming or changing the schema for a shell type should not be allowed.
Done=C2=A0
- I'm allowed to try to add ACL entries or security labels to an
existing shell type. This should be disallowed.

Done=C2=A0
- Changing the schema on a (non-shell) type doesn't work - the type
name is omitted, e.g.

Done=C2=A0
ALTER TYPE pem
=C2=A0 =C2=A0 SET SCHEMA pemhistory;

Which should be:

ALTER TYPE pem.foo
=C2=A0 =C2=A0 SET SCHEMA pemhistory;

On Thu, Apr 14, 2016 at 8:36 AM, Murtuza Zabuawala
<murtuza.zabuawala= @enterprisedb.com> wrote:
> Hi Dave,
>
> PFA updated patch which will fix mentioned issues.
>
> Hopefully the last one :-)
>
>
> --
> Regards,
> Murtuza Zabuawala
> EnterpriseDB: http://www.enterprisedb.com
> The Enterprise PostgreSQL Company
>
> On Wed, Apr 13, 2016 at 6:18 PM, Dave Page <dpage@pgadmin.org> wrote:
>>
>> Hi
>>
>> I'm seeing some more issues now, some related to new functiona= lity:
>>
>> - Please don't include the descriptive header for shell types = in
>> create.sql.
>
> Done
>>
>>
>> - Shell types can (and should) have owner/comments set if specifie= d.
>>
> Done
>>
>> - The Type dropdown should just say "Shell" for shell ty= pes (no
>> additional text).
>>
> Done
>>
>> - Privileges and labels grids should be disabled for shell types.<= br> >>
> Done
>>
>> - When I select External type, I see the following error (and a 50= 0
>> error in the browser console):
>>
>> 2016-04-13 13:44:49,953: ERROR pgadmin: Failed to execute query
>> (execute_2darray) for the server #1 - DB:pem (Query-id: 4020898):<= br> >> Error Message:ERROR:=C2=A0 syntax error at or near "and"=
>> LINE 2:=C2=A0 =C2=A0 =C2=A0CASE WHEN length(nspname) > 0 AND an= d length(nspname) !=3D...
>>
> Done
>>
>> - Length/Precision and scale are not shown in the dialogue for exi= sting
>> types.
>>
> Done (PFA screenshot)
>
>>
>> Thanks.
>>
>>
>> On Fri, Apr 8, 2016 at 2:52 PM, Murtuza Zabuawala
>> <murtuza.= zabuawala@enterprisedb.com> wrote:
>> > Hi Dave,
>> >
>> > Please find updated patches to fix all the mentioned issues.<= br> >> >
>> > There are three patches,
>> > 1) One for fixing rendering issue when selecting type
>> > 2) Added utility function to fetch full type name with length= &
>> > precision
>> > 3) Added new Shell type for External types.
>> >
>> >
>> > Regards,
>> > Murtuza
>> >
>> >
>> > --
>> > Regards,
>> > Murtuza Zabuawala
>> > EnterpriseDB: http://www.enterprisedb.com
>> > The Enterprise PostgreSQL Company
>> >
>> > On Thu, Apr 7, 2016 at 5:06 PM, Dave Page <dpage@pgadmin.org> wrote:
>> >>
>> >> Hi Murtuza
>> >>
>> >> On Tue, Mar 22, 2016 at 9:22 AM, Dave Page <dpage@pgadmin.org> wrote:
>> >> > Hi
>> >> >
>> >> > On Tue, Mar 22, 2016 at 8:14 AM, Murtuza Zabuawala >> >> > <murtuza.zabuawala@enterprisedb.com> wrote:
>> >> >> Hi Dave,
>> >> >>
>> >> >> We can create new external type using below meth= od, By running all
>> >> >> of
>> >> >> below
>> >> >> queries at the same time , we can not create sep= arate external type
>> >> >> by
>> >> >> only
>> >> >> using create type statement.
>> >> >>
>> >> >> So as per my discussion with Ashesh, We should n= ot allow user to
>> >> >> create
>> >> >> external type in pgAdmin4 but only show definiti= on in edit mode.
>> >> >
>> >> > Hmm, would it not make sense to allow the user to cr= eate the shell
>> >> > type as well (perhaps, with a new type of "SHEL= L")? Then they could
>> >> > do
>> >> > what is needed (and that should be easy, as it's= just CREATE TYPE
>> >> > foo;)
>> >> >
>> >> > For example:
>> >> >
>> >> > CREATE TYPE box;
>> >> >
>> >> > CREATE FUNCTION my_box_in_function(cstring) RETURNS = box AS ... ;
>> >> > CREATE FUNCTION my_box_out_function(box) RETURNS cst= ring AS ... ;
>> >> >
>> >> > CREATE TYPE box (
>> >> >=C2=A0 =C2=A0 =C2=A0INTERNALLENGTH =3D 16,
>> >> >=C2=A0 =C2=A0 =C2=A0INPUT =3D my_box_in_function,
>> >> >=C2=A0 =C2=A0 =C2=A0OUTPUT =3D my_box_out_function
>> >> > );
>> >> >
>> >> > CREATE TABLE myboxes (
>> >> >=C2=A0 =C2=A0 =C2=A0id integer,
>> >> >=C2=A0 =C2=A0 =C2=A0description box
>> >> > );
>> >>
>> >> In the interests of making progress, I've committed t= he most recent
>> >> patch, with a number of minor changes most significantly,= the Postgres
>> >> docs and system catalogs seem to have different ideas abo= ut what to
>> >> call length, precision and scale. pgAdmin 3 followed the = catalogs and
>> >> used length and precision, however I've updated pgAdm= in 4 to use
>> >> "Length/precision" and "Scale" which = is inline with the Postgres docs.
>> >> That's only in the UI though - the code follows the c= atalogs.
>> >>
>> >> There are still a couple of issues - please provide fixes= ASAP:
>> >>
>> >> 1) If you create a composite type that contains a sized t= ype (e.g.
>> >> numeric(5, 4), the precision and scale are not shown if y= ou later open
>> >> the properties dialogue, or in the reverse engineered SQL= .
>> >>
>> >> E.g. what pgAdmin3 shows as:
>> >>
>> >> CREATE TYPE pem.blergh AS
>> >>=C2=A0 =C2=A0 (c1 text COLLATE pg_catalog."C", >> >>=C2=A0 =C2=A0 =C2=A0c2 numeric(5));
>> >>
>> >> Is shown by pgAdmin4 as:
>> >>
>> >> CREATE TYPE pem.blergh AS
>> >>=C2=A0 =C2=A0 =C2=A0(c1 text COLLATE pg_catalog."C&qu= ot;, c2 numeric);
>> >>
>> >> (adding the \n's would be good too).
>> >>
>> >> 2) If you select a different type of type in create mode,= the new
>> >> options are shown below those for the previously selected= type,
>> >> instead of replacing them. Please see the attached screen= shot.
>> >>
>> >> 3) I would still like us to support External types. I bel= ieve the
>> >> simple option here is to re-add the code you had previous= ly, and to
>> >> add a new type of type called "SHELL" as discus= sed in my previous
>> >> email above. The user would then be able to create a SHEL= L type, add
>> >> the required functions, then come back and create the EXT= ERNAL type.
>> >>
>> >> I'll add cards to our internal kanban chart for these= issues.
>> >>
>> >> Thanks.
>> >>
>> >> --
>> >> Dave Page
>> >> Blog: http://pgsnake.blogspot.com
>> >> Twitter: @pgsnake
>> >>
>> >> EnterpriseDB UK: http://www.enterprisedb.com
>> >> The Enterprise PostgreSQL Company
>> >
>> >
>>
>>
>>
>> --
>> Dave Page
>> Blog: http://pgsnake.blogspot.com
>> Twitter: @pgsnake
>>
>> EnterpriseDB UK: http://www.enterprisedb.com
>> The Enterprise PostgreSQL Company
>
>



--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

--001a113ac03efd9f2c05307170c5-- --001a113ac03efd9f2f05307170c7 Content-Type: application/octet-stream; name="fixed_type_node_v7.patch" Content-Disposition: attachment; filename="fixed_type_node_v7.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_in0aj9x70 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3R5cGVzL3RlbXBsYXRlcy90 eXBlL2pzL3R5cGUuanMgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90eXBlcy90ZW1wbGF0 ZXMvdHlwZS9qcy90eXBlLmpzCmluZGV4IDdhNDExNzkuLjJkMDA4NzcgMTAw NjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9z ZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3R5cGVzL3RlbXBsYXRlcy90eXBl L2pzL3R5cGUuanMKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJf Z3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdHlwZXMvdGVtcGxh dGVzL3R5cGUvanMvdHlwZS5qcwpAQCAtMjgyLDcgKzI4Miw3IEBAIGZ1bmN0 aW9uKCQsIF8sIFMsIHBnQWRtaW4sIHBnQnJvd3NlciwgYWxlcnRpZnksIEJh Y2tncmlkKSB7CiAgICAgICAgIH0sewogICAgICAgICAgIGlkOiAnc2NoZW1h JywgbGFiZWw6J3t7IF8oJ1NjaGVtYScpIH19JywgY2VsbDogJ3N0cmluZycs CiAgICAgICAgICAgdHlwZTogJ3RleHQnLCBtb2RlOiBbJ2NyZWF0ZScsICdl ZGl0J10sIG5vZGU6ICdzY2hlbWEnLAotICAgICAgICAgIGRpc2FibGVkOiAn aW5TY2hlbWEnLCBmaWx0ZXI6IGZ1bmN0aW9uKGQpIHsKKyAgICAgICAgICBk aXNhYmxlZDogJ3NjaGVtYUNoZWNrJywgZmlsdGVyOiBmdW5jdGlvbihkKSB7 CiAgICAgICAgICAgICAvLyBJZiBzY2hlbWEgbmFtZSBzdGFydCB3aXRoIHBn XyogdGhlbiB3ZSBuZWVkIHRvIGV4Y2x1ZGUgdGhlbQogICAgICAgICAgICAg aWYoZCAmJiBkLmxhYmVsLm1hdGNoKC9ecGdfLykpCiAgICAgICAgICAgICB7 CkBAIC0yOTAsMTggKzI5MCw3IEBAIGZ1bmN0aW9uKCQsIF8sIFMsIHBnQWRt aW4sIHBnQnJvd3NlciwgYWxlcnRpZnksIEJhY2tncmlkKSB7CiAgICAgICAg ICAgICB9CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICB9 LAotICAgICAgICAgIGNvbnRyb2w6IEJhY2tmb3JtLk5vZGVMaXN0QnlOYW1l Q29udHJvbC5leHRlbmQoewotICAgICAgICAgICAgcmVuZGVyOiBmdW5jdGlv bigpewotICAgICAgICAgICAgLy8gSW5pdGlhbGl6ZSBwYXJlbnQncyByZW5k ZXIgbWV0aG9kCi0gICAgICAgICAgICBCYWNrZm9ybS5Ob2RlTGlzdEJ5TmFt ZUNvbnRyb2wucHJvdG90eXBlLnJlbmRlci5hcHBseSh0aGlzLCBhcmd1bWVu dHMpOwotCi0gICAgICAgICAgICAvLyBTZXQgc2NoZW1hIGRlZmF1bHQgdmFs dWUgdG8gaXRzIHBhcmVudCBTY2hlbWEKLSAgICAgICAgICAgIGlmKHRoaXMu bW9kZWwuaXNOZXcoKSl7Ci0gICAgICAgICAgICB0aGlzLm1vZGVsLnNldCh7 J3NjaGVtYSc6IHRoaXMubW9kZWwubm9kZV9pbmZvLnNjaGVtYS5sYWJlbH0p OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgcmV0dXJuIHRoaXM7Ci0g ICAgICAgICAgICB9Ci0gICAgICAgICAgfSkKKyAgICAgICAgICBjb250cm9s OiAnbm9kZS1saXN0LWJ5LW5hbWUnCiAgICAgICAgIH0sewogICAgICAgICAg IGlkOiAndHlwdHlwZScsIGxhYmVsOid7eyBfKCdUeXBlJykgfX0nLAogICAg ICAgICAgIG1vZGU6IFsnY3JlYXRlJywnZWRpdCddLCBkaXNhYmxlZDogJ2lu U2NoZW1hV2l0aE1vZGVsQ2hlY2snLApAQCAtMzE0LDcgKzMwMyw3IEBAIGZ1 bmN0aW9uKCQsIF8sIFMsIHBnQWRtaW4sIHBnQnJvd3NlciwgYWxlcnRpZnks IEJhY2tncmlkKSB7CiAgICAgICAgICAgICAgICAge2xhYmVsOiAiRW51bWVy YXRpb24iLCB2YWx1ZTogImUifSwKICAgICAgICAgICAgICAgICB7bGFiZWw6 ICJFeHRlcm5hbCIsIHZhbHVlOiAiYiJ9LAogICAgICAgICAgICAgICAgIHts YWJlbDogIlJhbmdlIiwgdmFsdWU6ICJyIn0sCi0gICAgICAgICAgICAgICAg e2xhYmVsOiAiU2hlbGwiLCB2YWx1ZTogInMifQorICAgICAgICAgICAgICAg IHtsYWJlbDogIlNoZWxsIiwgdmFsdWU6ICJwIn0KICAgICAgICAgICAgICAg XQogICAgICAgICAgICB9LAogICAgICAgICAgIGRpc2FibGVkOiAnaW5TY2hl bWFXaXRoTW9kZWxDaGVjaycsCkBAIC03MjQsNyArNzEzLDcgQEAgZnVuY3Rp b24oJCwgXywgUywgcGdBZG1pbiwgcGdCcm93c2VyLCBhbGVydGlmeSwgQmFj a2dyaWQpIHsKICAgICAgICAgICB1bmlxdWVDb2wgOiBbJ2dyYW50ZWUnXSwg ZGVwczogWyd0eXB0eXBlJ10sCiAgICAgICAgICAgY2FuQWRkOiBmdW5jdGlv bihtKSB7CiAgICAgICAgICAgICAvLyBEbyBub3QgYWxsb3cgdG8gYWRkIHdo ZW4gc2hlbGwgdHlwZSBpcyBzZWxlY3RlZAotICAgICAgICAgICAgcmV0dXJu ICEobS5nZXQoJ3R5cHR5cGUnKSA9PT0gJ3MnKTsKKyAgICAgICAgICAgIHJl dHVybiAhKG0uZ2V0KCd0eXB0eXBlJykgPT09ICdwJyk7CiAgICAgICAgICAg fQogICAgICAgICB9LHsKICAgICAgICAgICBpZDogJ3NlY2xhYmVscycsIGxh YmVsOiAne3sgXygnU2VjdXJpdHkgTGFiZWxzJykgfX0nLApAQCAtNzM0LDcg KzcyMyw3IEBAIGZ1bmN0aW9uKCQsIF8sIFMsIHBnQWRtaW4sIHBnQnJvd3Nl ciwgYWxlcnRpZnksIEJhY2tncmlkKSB7CiAgICAgICAgICAgY29udHJvbDog J3VuaXF1ZS1jb2wtY29sbGVjdGlvbicsIGRlcHM6IFsndHlwdHlwZSddLAog ICAgICAgICAgIGNhbkFkZDogZnVuY3Rpb24obSkgewogICAgICAgICAgICAg Ly8gRG8gbm90IGFsbG93IHRvIGFkZCB3aGVuIHNoZWxsIHR5cGUgaXMgc2Vs ZWN0ZWQKLSAgICAgICAgICAgIHJldHVybiAhKG0uZ2V0KCd0eXB0eXBlJykg PT09ICdzJyk7CisgICAgICAgICAgICByZXR1cm4gIShtLmdldCgndHlwdHlw ZScpID09PSAncCcpOwogICAgICAgICAgIH0KCiAgICAgICAgIH1dLApAQCAt Nzg5LDYgKzc3OCwxNyBAQCBmdW5jdGlvbigkLCBfLCBTLCBwZ0FkbWluLCBw Z0Jyb3dzZXIsIGFsZXJ0aWZ5LCBCYWNrZ3JpZCkgewogICAgICAgICAgIH0K ICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0sCisgICAgICAg IHNjaGVtYUNoZWNrOiBmdW5jdGlvbihtKSB7CisgICAgICAgICAgaWYodGhp cy5ub2RlX2luZm8gJiYgJ3NjaGVtYScgaW4gdGhpcy5ub2RlX2luZm8pCisg ICAgICAgICAgeworICAgICAgICAgICAgaWYgKG0uaXNOZXcoKSkgeworICAg ICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICB9IGVsc2Ug eworICAgICAgICAgICAgICByZXR1cm4gbS5nZXQoJ3R5cHR5cGUnKSA9PT0g J3AnOworICAgICAgICAgICAgfQorICAgICAgICAgIH0KKyAgICAgICAgICBy ZXR1cm4gZmFsc2U7CisgICAgICAgIH0sCiAgICAgICAgIC8vIFdlIHdpbGwg Y2hlY2sgaWYgd2UgYXJlIHVuZGVyIHNjaGVtYSBub2RlICYgaW4gJ2NyZWF0 ZScgbW9kZQogICAgICAgICBpblNjaGVtYVdpdGhNb2RlbENoZWNrOiBmdW5j dGlvbihtKSB7CiAgICAgICAgICAgaWYodGhpcy5ub2RlX2luZm8gJiYgICdz Y2hlbWEnIGluIHRoaXMubm9kZV9pbmZvKQpkaWZmIC0tZ2l0IGEvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2Vz L3NjaGVtYXMvdHlwZXMvdGVtcGxhdGVzL3R5cGUvc3FsLzkuMV9wbHVzL2Ny ZWF0ZS5zcWwgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMv c2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90eXBlcy90ZW1wbGF0ZXMvdHlw ZS9zcWwvOS4xX3BsdXMvY3JlYXRlLnNxbAppbmRleCAzNTQwM2I2Li5iNGE0 NGQ0IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90eXBlcy90ZW1wbGF0 ZXMvdHlwZS9zcWwvOS4xX3BsdXMvY3JlYXRlLnNxbAorKysgYi93ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMv c2NoZW1hcy90eXBlcy90ZW1wbGF0ZXMvdHlwZS9zcWwvOS4xX3BsdXMvY3Jl YXRlLnNxbApAQCAtMSw3ICsxLDcgQEAKIHslIGltcG9ydCAnbWFjcm9zL3Nj aGVtYXMvc2VjdXJpdHkubWFjcm9zJyBhcyBTRUNMQUJMRSAlfQogeyUgaW1w b3J0ICdtYWNyb3Mvc2NoZW1hcy9wcml2aWxlZ2UubWFjcm9zJyBhcyBQUklW SUxFR0UgJX0KIHsjIyBJZiB1c2VyIHNlbGVjdGVkIHNoZWxsIHR5cGUgdGhl biBqdXN0IGNyZWF0ZSB0eXBlIHRlbXBsYXRlICMjfQoteyUgaWYgZGF0YSBh bmQgZGF0YS50eXB0eXBlID09ICdzJyAlfQoreyUgaWYgZGF0YSBhbmQgZGF0 YS50eXB0eXBlID09ICdwJyAlfQogQ1JFQVRFIFRZUEUge3sgY29ubnxxdElk ZW50KGRhdGEuc2NoZW1hLCBkYXRhLm5hbWUpIH19OwogeyUgZW5kaWYgJX0K IHsjIyMgIENvbXBvc2l0ZSBUeXBlICMjI30KZGlmZiAtLWdpdCBhL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNl cy9zY2hlbWFzL3R5cGVzL3RlbXBsYXRlcy90eXBlL3NxbC85LjFfcGx1cy91 cGRhdGUuc3FsIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBz L3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdHlwZXMvdGVtcGxhdGVzL3R5 cGUvc3FsLzkuMV9wbHVzL3VwZGF0ZS5zcWwKaW5kZXggMTcwYjAzYS4uYWI2 MTdiMCAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJf Z3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdHlwZXMvdGVtcGxh dGVzL3R5cGUvc3FsLzkuMV9wbHVzL3VwZGF0ZS5zcWwKKysrIGIvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2Vz L3NjaGVtYXMvdHlwZXMvdGVtcGxhdGVzL3R5cGUvc3FsLzkuMV9wbHVzL3Vw ZGF0ZS5zcWwKQEAgLTEzMSw5ICsxMzEsOSBAQCBBTFRFUiBUWVBFIHt7IGNv bm58cXRJZGVudChvX2RhdGEuc2NoZW1hLCBvX2RhdGEubmFtZSkgfX0KIHsj IEJlbG93IHdpbGwgY2hhbmdlIHRoZSBzY2hlbWEgZm9yIG9iamVjdCAjfQog eyMgd2l0aCBleHRyYSBpZiBjb25kaXRpb24gd2Ugd2lsbCBhbHNvIG1ha2Ug c3VyZSB0aGF0IG9iamVjdCBoYXMgY29ycmVjdCBuYW1lICN9CiB7JSBpZiBk YXRhLnNjaGVtYSBhbmQgZGF0YS5zY2hlbWEgIT0gb19kYXRhLnNjaGVtYSAl fQotQUxURVIgVFlQRSB7JSBpZiBkYXRhLm5hbWUgIT0gb19kYXRhLm5hbWUg JX17eyBjb25ufHF0SWRlbnQob19kYXRhLnNjaGVtYSwgZGF0YS5uYW1lKSB9 fQoteyUgZWxzZSAlfXt7IGNvbm58cXRJZGVudChvX2RhdGEuc2NoZW1hLCBv X2RhdGEubmFtZSkgfX17JSBlbmRpZiAlfQorQUxURVIgVFlQRSB7JSBpZiBk YXRhLm5hbWUgYW5kIGRhdGEubmFtZSAhPSBvX2RhdGEubmFtZSAlfXt7IGNv bm58cXRJZGVudChvX2RhdGEuc2NoZW1hLCBkYXRhLm5hbWUpIH19Cit7JSBl bHNlICV9e3sgY29ubnxxdElkZW50KG9fZGF0YS5zY2hlbWEsIG9fZGF0YS5u YW1lKSB9fQoreyUgZW5kaWYgJX0KICAgICBTRVQgU0NIRU1BIHt7IGNvbm58 cXRJZGVudChkYXRhLnNjaGVtYSkgfX07Ci0KIHslIGVuZGlmICV9CiB7JSBl bmRpZiAlfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK --001a113ac03efd9f2f05307170c7 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 --001a113ac03efd9f2f05307170c7--