Provided by: postgresql-doc-12_12.2-4_all bug


       SPI_is_cursor_plan - return true if a statement prepared by SPI_prepare can be used with


       bool SPI_is_cursor_plan(SPIPlanPtr plan)


       SPI_is_cursor_plan returns true if a statement prepared by SPI_prepare can be passed as an
       argument to SPI_cursor_open, or false if that is not the case. The criteria are that the
       plan represents one single command and that this command returns tuples to the caller; for
       example, SELECT is allowed unless it contains an INTO clause, and UPDATE is allowed only
       if it contains a RETURNING clause.


       SPIPlanPtr plan
           prepared statement (returned by SPI_prepare)


       true or false to indicate if the plan can produce a cursor or not, with SPI_result set to
       zero. If it is not possible to determine the answer (for example, if the plan is NULL or
       invalid, or if called when not connected to SPI), then SPI_result is set to a suitable
       error code and false is returned.