| From: | Vlad Krupin <vlad(at)echospace(dot)com> | 
|---|---|
| To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> | 
| Cc: | "scott(dot)marlowe" <scott(dot)marlowe(at)ihs(dot)com>, pgsql-general(at)postgresql(dot)org | 
| Subject: | Re: 'DROP INDEX' kills stored rpocedures | 
| Date: | 2003-04-03 19:11:50 | 
| Message-ID: | 3E8C8776.6050801@echospace.com | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-general | 
Tom Lane wrote:
>"scott.marlowe" <scott(dot)marlowe(at)ihs(dot)com> writes:
>  
>
>>Don't make assumptions like that.  In postgresql, DDL is transactionable.
>>    
>>
>
>I think his actual problem is that plpgsql cached a query plan for some
>command while the index was in place, and then on a later re-execution
>of the function, it tried to re-use the cached plan.  This is a general
>problem that we know we need to fix sooner or later --- cached plans
>need to be invalidated when there are DDL changes to the underlying
>tables, views, etc.
>
that totally makes sense (in fact, I sent another message to the list 15 
minutes ago guessing that this could be the case. You can ignore it now).
So, if I first re-create indexes and then do a 'VACUUM ANALYZE' on the 
table where those indexes were dropped, it should discard the old cached 
plans and create a new one, right?
Vlad
-- 
Vlad Krupin
Software Engineer
echospace.com
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Clarence Gardner | 2003-04-03 19:16:32 | triggers using row values | 
| Previous Message | Tom Lane | 2003-04-03 19:11:13 | Re: RelationBuildDesc Notice (corrupt DB?) |