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

Поиск
Список
Период
Сортировка
От Murtuza Zabuawala
Тема Re: PATCH: Added Node Type & Catalog objects [pgAdmin4]
Дата
Msg-id CAKKotZQ7tGDP8BR63pqYzpKi=8TfXZ02p+CMQzWvOqL3tZRZvA@mail.gmail.com
обсуждение исходный текст
Ответ на Re: PATCH: Added Node Type & Catalog objects [pgAdmin4]  (Dave Page <dpage@pgadmin.org>)
Ответы Re: PATCH: Added Node Type & Catalog objects [pgAdmin4]  (Dave Page <dpage@pgadmin.org>)
Список 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@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 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

Вложения

В списке pgadmin-hackers по дате отправления:

Предыдущее
От: Arun Kollan
Дата:
Сообщение: Re: Styling SQL box layout on dialogue
Следующее
От: Akshay Joshi
Дата:
Сообщение: Re: [pgAdmin4] [Patch] Implementation of the Data Grid and Query Tool