Provided by: postgresql-client-8.0_8.0.7-2build1_i386 bug

NAME

       SPI_saveplan - save a plan

SYNOPSIS

       void * SPI_saveplan(void * plan)

DESCRIPTION

       SPI_saveplan  saves  a  passed plan (prepared by SPI_prepare) in memory
       protected from freeing by SPI_finish 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  NULL  or  not  either  when
       preparing a plan or using an already prepared plan in SPI_execute_plan.

ARGUMENTS

       void * plan
              the plan to be saved

RETURN VALUE

       Pointer to the saved plan; NULL if unsuccessful.  On error,  SPI_result
       is set thus:

       SPI_ERROR_ARGUMENT
              if plan is NULL

       SPI_ERROR_UNCONNECTED
              if called from an unconnected procedure

NOTES

       If  one  of  the  objects  (a  table, function, etc.) referenced by the
       prepared plan is  dropped  during  the  session  then  the  results  of
       SPI_execute_plan for this plan will be unpredictable.

                                  2005-01-17                    SPI_saveplan()