Re: Assertion failure from plan cache invalidation
От | Heikki Linnakangas |
---|---|
Тема | Re: Assertion failure from plan cache invalidation |
Дата | |
Msg-id | 4C656302.3030201@enterprisedb.com обсуждение исходный текст |
Ответ на | Re: Assertion failure from plan cache invalidation (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: Assertion failure from plan cache invalidation
|
Список | pgsql-bugs |
On 13/08/10 18:18, Tom Lane wrote: > 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. Yeah, I was undecided on that too. > 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? Let's do the latter, add a comment noting that, and extend it later if necessary. -- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com
В списке pgsql-bugs по дате отправления: