From: | Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> |
---|---|
To: | Merlin Moncure <mmoncure(at)gmail(dot)com> |
Cc: | PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: inherits clause for CREATE TYPE? - |
Date: | 2019-12-19 10:52:38 |
Message-ID: | CAFj8pRBQY6Ohk0B_NWFfX=a_qNhAMBwSnSk29CXsQ2-HzJv6jQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
st 18. 12. 2019 v 21:12 odesílatel Merlin Moncure <mmoncure(at)gmail(dot)com>
napsal:
> On Wed, Dec 18, 2019 at 12:38 PM Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
> wrote:
> >
> > Hi
> >
> > I had a talk with one boy about development in plpgsql. He uses table's
> functions. More times he uses returns types based on some table type + few
> attributes. Now he use a ugly hack - he create a view on table plus some
> columns - and then he use the view related type as table function result
> type. For similar uses cases there can be interesting to have a possibility
> to create types by extending other types. Probably almost all functionality
> is inside now - so it should not be hard work.
> >
> > My idea is implement inherits clause for CREATE TYPE command.
> >
> > Some like
> >
> > CREATE TYPE fx_rt (xx int) INHERITS(pg_class);
> >
> > What do you think about this idea?
>
> How about using composition style approaches?
>
> create type base as (...)
>
> create type extended as (b base, ...)
>
> create function foo() returns extended as ...
>
It is a possibility, but it is not practical, because base type will be
nested, it is hard to access to nested fields ..
Currently I can do
CREATE TABLE base (...); -- instead CREATE TYPE
CREATE TABLE extended (...) -- INHERITS (base)
CREATE FUNCTION foo() RETURNS SETOF extended AS ..
This is working perfect - just disadvantage is garbage table "extended"
> merlin
>
From | Date | Subject | |
---|---|---|---|
Next Message | Amit Kapila | 2019-12-19 11:05:06 | Re: [HACKERS] Block level parallel vacuum |
Previous Message | Simon Riggs | 2019-12-19 09:50:44 | Re: Read Uncommitted |