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

  1. Fix some oversights in expression dependency recording.