From: | Zoltan Boszormenyi <zb(at)cybertec(dot)at> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Bruce Momjian <bruce(at)momjian(dot)us>, pgsql-patches(at)postgresql(dot)org |
Subject: | Re: IDENTITY/GENERATED v36 Re: Final version of IDENTITY/GENERATED patch |
Date: | 2007-04-04 18:57:02 |
Message-ID: | 4613F4FE.4070906@cybertec.at |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers pgsql-patches |
Tom Lane írta:
> Zoltan Boszormenyi <zb(at)cybertec(dot)at> writes:
>
>>> Before you get too excited about making generated columns disappear
>>> automatically in all these cases, consider that dropping a column
>>> is not something to be done lightly --- it might contain irreplaceable
>>> data.
>>>
>
>
>> The standard says that the GENERATED column should be
>> dropped silently if either of the referenced columns is dropped.
>>
>
> [ itch... ] I think a pretty good case could be made for ignoring that
> provision, on the grounds that it's a foot-gun, and that it's not very
> important to follow the standard slavishly on this point because it's
> hard to conceive of any application actually relying on that behavior.
>
> You could probably implement the auto-drop behavior with some combination
> of (a) AUTO rather than NORMAL dependencies from the default expression
> to the stuff it depends on and (b) INTERNAL rather than AUTO dependency
> from the default expression to its column. But I really question
> whether this is a good idea.
>
So, all dependency should be NORMAL to require
manual CASCADE to avoid accidental data loss.
I have two questions about the dependency system.
1. Is there a built-in defense to avoid circular dependencies?
2. If I register dependencies between column, is there a way
to retrieve all table/column type dependencies for a depender column?
What I would like to achieve is to lift the limit that
a GENERATED column cannot reference another one.
Only self-referencing should be disallowed.
>> The standard says somewhere that GENERATED columns
>> can only be added to and dropped from a table.
>>
>
> This argument carries no weight at all --- there is plenty of stuff in
> PG that is an extension of the capabilities listed in the spec.
>
Point taken. So, just like with SET / DROP IDENTITY,
I should implement SET GENERATED ALWAYS
and DROP GENERATED.
> regards, tom lane
>
>
--
----------------------------------
Zoltán Böszörményi
Cybertec Geschwinde & Schönig GmbH
http://www.postgresql.at/
From | Date | Subject | |
---|---|---|---|
Next Message | Simon Riggs | 2007-04-04 19:01:45 | Re: Auto Partitioning |
Previous Message | Markus Schiltknecht | 2007-04-04 18:55:26 | Re: Auto Partitioning |
From | Date | Subject | |
---|---|---|---|
Next Message | Simon Riggs | 2007-04-04 19:01:45 | Re: Auto Partitioning |
Previous Message | Markus Schiltknecht | 2007-04-04 18:55:26 | Re: Auto Partitioning |