Re: inherits clause for CREATE TYPE? -

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
>

In response to

Browse pgsql-hackers by date

  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