On Sat, Mar 27, 2004 at 12:21:07AM -0500, Tom Lane wrote: [...]
> The similar changes that remove the ability to recognize failures > during AbortTransaction are even worse, because cleanup after a failed > transaction is exactly where you would most expect software bugs to > pop up. Hey, I was just adding the code back when I noticed that AbortTransaction() sets the TRANS_ABORT state just _before_ doing it's work, not after. And all functions are executed with interrupts held (HOLD_INTERRUPTS / RELEASE_INTERRUPTS). So the comments I made earlier are irrelevant. After all this, I still think the TRANS state is unnecesary. I will add checks in the low level routines so they see what TBLOCK state they are called in, which should be enough to keep the current functionality and robustness. -- Alvaro Herrera (<alvherre[a]dcc.uchile.cl>) "A wizard is never late, Frodo Baggins, nor is he early. He arrives precisely when he means to." (Gandalf, en LoTR FoTR) ---------------------------(end of broadcast)--------------------------- TIP 9: the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match