From: David E. W. <da...@ju...> - 2014-01-29 04:03:32
|
On Jan 28, 2014, at 8:00 PM, Koichi Suzuki <koi...@gm...> wrote: > Yes, utility statements are not allowed in functions and you cannot > use temporary object if more than one node are involved in a > transaction. So: 1. What is a utility statement? 2. How does one limit the nodes on which something executes? > The background of the latter is the implicit 2PC. You can set > enforce_two_phase_commit to OFF to use temporary object but this may > come up with data inconsistency among the nodes. I believe we can > allow temporary objects in such a transaction because temporary > objects don't have to survive beyond the session. As long as only > implicit 2PCs are involved, we may be able to allow temporary objects > and can extend current XC core. Yeah, I only need a temporary table on the node on which stuff is executing, if that makes sense. Basically, for pgTAP tests, a transaction is started, temporary tables are created to store the test state, then the tests run, the state is shown to the user, and then the temporary tables are dropped (or allowed to disappear on disconnect). Thanks, David |