Re: How to use SPI_saveplan
От | Jack Orenstein |
---|---|
Тема | Re: How to use SPI_saveplan |
Дата | |
Msg-id | 45037C45.8090405@geophile.com обсуждение исходный текст |
Ответ на | Re: How to use SPI_saveplan (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | pgsql-general |
Tom Lane wrote: > Jack Orenstein <jao@geophile.com> writes: >> Assigning SPI_prepare output to a local makes sense. Assigning >> SPI_saveplan output to a static makes sense. But I don't see >> the point in assigning SPI_saveplan output to a local, yet >> that's what one case the doc specifically mentions. > > Hm, are you speaking of this? > > <para> > <function>SPI_saveplan</function> saves a passed plan (prepared by > <function>SPI_prepare</function>) in memory protected from freeing > by <function>SPI_finish</function> and by the transaction manager > and returns a pointer to the saved plan. This gives you the > ability to reuse prepared plans in the subsequent invocations of > your procedure in the current session. You may save the pointer > returned in a local variable. Always check if this pointer is > <symbol>NULL</symbol> or not either when preparing a plan or using > an already prepared plan in <function>SPI_execute_plan</function>. > </para> > > My inclination is to just delete the last two sentences, on the grounds > that they are essentially content-free. Perhaps the original author's > intent would be met by s/local variable/static variable/, but this is > reference material not beginner hints. Yes, that's the passage I was referring to. I agree that it would be clearer with your suggested edit. Jack Orenstein
В списке pgsql-general по дате отправления: