From: | Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> |
---|---|
To: | Jan Wieck <janwieck(at)yahoo(dot)com> |
Cc: | jack <datactrl(at)tpg(dot)com(dot)au>, pgsql-sql(at)postgresql(dot)org |
Subject: | Re: call the same pl/pgsql procedure twice in the same connection |
Date: | 2002-04-23 16:15:33 |
Message-ID: | 200204231615.g3NGFXa10160@candle.pha.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
Jan Wieck wrote:
> Bruce Momjian wrote:
> > Jan Wieck wrote:
> > > Bruce Momjian wrote:
> > > >
> > > > Jan, instead of doing cache invalidation to fix temporary tables, can we
> > > > disable cached plans for functions that use temporary tables?
> > >
> > > I was thinking of a different approach. Enhancing the SPI
> > > manager to detect if a plan uses temporary objects and to
> > > remember the original querystring in the SPI_plan. Having
> > > callbacks when temp object beeing destroyed into the SPI
> > > manager, causing it to reparse and plan on the next call to
> > > SPI_execp() would do it for everything that uses SPI.
> >
> > I was merely proposing that preventing caching of functions ueing temp
> > tables may be easier than trying to invalidation them on temp table
> > destruction.
>
> It's neat to say "preventing caching of functions using ...",
> now tell in detail how you detect that a function "is" using
> a temp table? No, I don't mean how "you" can detect it, how
> can the PL/pgSQL parser or executor detect it. And when do
> you detect it? Remember that PL/pgSQL has delayed SPI
> preparation?
>
> Second, it doesn't really look smart to me to prevent saving
> of all query plans just because one of them uses a temp
> table.
Well, I assume you could spin through the plan at save time and look at
every relation reference to see if it is a temp table.
--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026
From | Date | Subject | |
---|---|---|---|
Next Message | Jan Wieck | 2002-04-23 16:31:45 | Re: call the same pl/pgsql procedure twice in the same connection |
Previous Message | Stephan Szabo | 2002-04-23 15:01:02 | Re: Cannot get to use index scan on a big table! |