views:

15

answers:

0

Hi all!

maybe I totally misunderstand XA Transactions (I'm no DBA), but I have the following problem:
- I open two sql connections (to the same DB)
- "set autocommit=0" in both sessions
- XA start '1234','56'; in one session
- XA start '1234','57'; in other session
- insert something in both sessions
- "xa end", "xa prepare" and "xa commit" in one session
- "xa end", "xa rollback" in other session

My expectation is, that both parts (56 and 57) of the global transaction 1234 will be rolled back, BUT the data of the session that commited, gets visible and persistent globally.
... Why?
I think, one failed part (the rolled back session) should fail (rollback) all parts, shouldn't it?

Where is my mistake?