Re: BUG #14867: Cascade drop type error
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Andres Freund <andres@anarazel.de>
Cc: gomer94@yandex.ru, pgsql-bugs@postgresql.org
Date: 2017-10-23T16:33:52Z
Lists: pgsql-bugs
Andres Freund <andres@anarazel.de> writes: > On 2017-10-23 12:09:24 -0400, Tom Lane wrote: >> Cute. Type my_type isn't exposed as a dependency of the view, >> because it's only referenced internally in the expression tree >> not as a result column type. We can fix that easily enough by >> teaching dependency.c to log the result type of a FieldSelect >> as a dependency. > That does remind me of patch 0001 in > http://archives.postgresql.org/message-id/20170314224706.nxvtapenky6eom3z%40alap3.anarazel.de It is in the same part of the code, but seems directed at a different goal (which I disapproved of, IIRC). But we definitely need the principle that any type OID appearing in an expression tree needs to be logged, except in cases where there's necessarily an indirect dependency (eg, a function or operator's result type doesn't need to be logged separately). regards, tom lane
Commits
-
Fix some oversights in expression dependency recording.
- dde99de1169e 9.3.20 landed
- 900a9fd64a0c 9.2.24 landed
- f3ea3e3e820b 11.0 landed
- df4aa6e4e874 10.1 landed
- d8a3be52f44d 9.4.15 landed
- aa0518301fd8 9.5.10 landed
- 285b850d518d 9.6.6 landed