Re: Wrong order of tests in findDependentObjects()

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Jim Nasby <Jim.Nasby@bluetreble.com>
Cc: pgsql-hackers@postgreSQL.org
Date: 2016-11-27T16:15:01Z
Lists: pgsql-hackers
Jim Nasby <Jim.Nasby@bluetreble.com> writes:
> I suspect this is unrelated, but I've run into another oddity with 
> extension dependency: if an extension creates any temporary objects the 
> extension will install and function correctly... until the backend that 
> created the extension quits. This is VERY confusing if you've never come 
> across it before, because you'll do a bunch of work in a single script 
> but when you try to use the extension for real it will "randomly" just 
> vanish.

Yeah, I was wondering about that yesterday --- that comment mentions
the case of temporary objects, but it only fixes the problem while the
script runs.  Maybe there should be a separate test for "we're doing
temporary-object cleanup" that would similarly prevent recursion to
an extension?

			regards, tom lane


Commits

  1. Delete deleteWhatDependsOn() in favor of more performDeletion() flag bits.

  2. Fix some issues with temp/transient tables in extension scripts.