Subject ?s on returned values/suspend/stored procedures/their termination, etc.
Author learntrade
Various places indicate its necessary to place a "suspend" in stored
procedures in order for the output data generated to be retrievable.
Experiments (except with ISQL) seem to bear this out.

The paper at:
http://www.ibphoenix.com/main.nfs?a=ibphoenix&s=1158263099:20022&page=ibp_intro_sp_trig

indicates this is necessary "to prevent the stored procedure from
terminating until the client has fetched the results."

Can someone(s) please elaborate on this?

Is it possible to "leak" results (inside the server) from stored
procedures if the client does not fetch them all?

Does a connection termination/closure cause all suspended procedures
on that connection to be terminated and release their resources?

Is there a "cancel" of some sort that can be invoked to "release" a
suspended procedure and/or its result sets?

Is it possible to (safely) have simultaneous (same connection)
executions of a stored procedure with different input parameters,
returning different output datasets, and interleave the retrieving of
results from them?

Does the use of "commit", with possibly multiple transactions, have
any ramifications on the outstanding result data from/of (suspend'ed)
stored procedures?

Why does ISQL seem to be able to successfully retrieve a single output
parameter from a stored procedure (that doesn't have suspend) via
EXECUTE PROCEDURE, when a select from same procedure via custom client
program fails to do so? (I've seen that isql seems to do something
specific with an "execute procedure" command vs other statements, but
don't understand its significance.)

Any other points that should be noted with regard to
procedures/suspend/returned_values/invocation/termination?

Thanks.