Re: PATCH: Added Node Type & Catalog objects [pgAdmin4]

From: Murtuza Zabuawala <murtuza(dot)zabuawala(at)enterprisedb(dot)com>
To: Dave Page <dpage(at)pgadmin(dot)org>
Cc: pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org>
Subject: Re: PATCH: Added Node Type & Catalog objects [pgAdmin4]
Date: 2016-04-08 13:52:37
Message-ID: CAKKotZQ7tGDP8BR63pqYzpKi=8TfXZ02p+CMQzWvOqL3tZRZvA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers

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 <dpage(at)pgadmin(dot)org> wrote:

> Hi Murtuza
>
> On Tue, Mar 22, 2016 at 9:22 AM, Dave Page <dpage(at)pgadmin(dot)org> wrote:
> > Hi
> >
> > On Tue, Mar 22, 2016 at 8:14 AM, Murtuza Zabuawala
> > <murtuza(dot)zabuawala(at)enterprisedb(dot)com> 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
>

Attachment Content-Type Size
added_fulltype_function_v1.patch application/octet-stream 3.6 KB
Fixed_rendering_issue.patch application/octet-stream 2.1 KB
updated_type_node.patch application/octet-stream 8.8 KB

In response to

Responses

Browse pgadmin-hackers by date

  From Date Subject
Next Message Akshay Joshi 2016-04-08 14:39:20 Re: [pgAdmin4] [Patch] Implementation of the Data Grid and Query Tool
Previous Message Arun Kollan 2016-04-08 13:23:01 Re: Styling SQL box layout on dialogue