Heikki Linnakangas <heikki.linnakan...@enterprisedb.com> writes: > PushOverrideSearchPath() assumes that if the temporary namespace existed > when an override search path was memorized with GetOverrideSearchPath(), > it must still exist. That's not true in the above example, rolling back > the transaction that the temporary namespace was created in drops it.
Hm ... seems like there are two possibilities here. We could forcibly recreate the temp schema, or we could just ignore the useTemp flag. The former would more nearly approximate the situation that prevailed at GetOverrideSearchPath() time, but on the other hand it's not clear that it's a good idea for PushOverrideSearchPath() to have side-effects like that. I *think* that it'd be safe, at least for the two existing callers, but ... In the plancache case it could be argued that there's no real reason to recreate the temp schema: it would necessarily be empty, so it couldn't affect the results of planning anyhow. So the second solution would work just fine for the current usage. Thoughts? regards, tom lane -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs