Re: Assertion failure from plan cache invalidation

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Assertion failure from plan cache invalidation
Дата
Msg-id 24521.1281712728@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Assertion failure from plan cache invalidation  (Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>)
Ответы Re: Assertion failure from plan cache invalidation  (Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>)
Список pgsql-bugs
Heikki Linnakangas <heikki.linnakangas@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

В списке pgsql-bugs по дате отправления:

Предыдущее
От: Joshua Tolley
Дата:
Сообщение: Re: BUG #5618: restore won't work with files transferred with NFS
Следующее
От: Heikki Linnakangas
Дата:
Сообщение: Re: Assertion failure from plan cache invalidation