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

Поиск
Список
Период
Сортировка
От Dave Page
Тема Re: PATCH: Added Node Type & Catalog objects [pgAdmin4]
Дата
Msg-id CA+OCxoxyCifnk7KT9ZZGBNYtH6gjCoJ7j8tUwSoBxzgAtCPZFA@mail.gmail.com
обсуждение исходный текст
Ответ на Re: PATCH: Added Node Type & Catalog objects [pgAdmin4]  (Dave Page <dpage@pgadmin.org>)
Ответы Re: PATCH: Added Node Type & Catalog objects [pgAdmin4]  (Murtuza Zabuawala <murtuza.zabuawala@enterprisedb.com>)
Re: PATCH: Added Node Type & Catalog objects [pgAdmin4]  (Murtuza Zabuawala <murtuza.zabuawala@enterprisedb.com>)
Список pgadmin-hackers
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 tab navigation and close buttons
Следующее
От: Murtuza Zabuawala
Дата:
Сообщение: Re: PATCH: Added Node Type & Catalog objects [pgAdmin4]