"Merlin Moncure" <[EMAIL PROTECTED]> writes: >> 1. Executing outside the database engine, and therefore being able to >> start/commit transactions. (This is *fundamentally* different from our >> current concept of functions, and I think that any implementation that >> tries to gloss over the difference will be doomed to failure.)
> Back in the early days of nested transactions, you could begin/commit > while within a transaction...they could be pushed and popped off of a > stack. Those weren't actual transaction starts or commits though; they were (in our current terminology) savepoints. People want *real* commits in stored procedures, not fakes. For instance consider an SP that wants to issue a series of VACUUM commands --- if there's a hidden transaction block around the SP, this must fail. Locking considerations may force use of real commits and real rollbacks, too. You can't release a lock by committing a subtransaction. regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 7: don't forget to increase your free space map settings