xa_start TMJOIN supported ?
Posted in 1999
Topics: SQL Development & Query Writing, Connectivity: ESQL/C, 4GL & Embedded SQL
I'm trying to evaluate the support for XA in ESQL/C. The standard documentation doesn't seem to detail exactly what functionality is supported. Specifically, I need to be able to get an ESQL/C app to join a global transaction started elsewhere. Is this achievable & where can I find more documentation ? Thanks Nick Rumble
Nick, The TP/XA manual online at www.informix.com/answers/english/pdf_docs/201sdk/4164.pdf Informix participates in XA txns but cannot manage them itself. Beware that the entire 2 phase commit layer of Informix seems to be largely replaced by any 3rd party XA txn management. This can lead to locking problems between services in the same txn for instance. We've been using it and it runs well using Transarc Encina as the transaction manager. But we're having problems getting MQseries to manage a transaction. IBM support is not too helpful but I'm still hopeful we'll get it to work! Mark Nick Rumble wrote: > I'm trying to evaluate the support for XA in ESQL/C. > > The standard documentation doesn't seem to detail exactly what functionality > is supported. > > Specifically, I need to be able to get an ESQL/C app to join a global > transaction started elsewhere. > > Is this achievable & where can I find more documentation ? > > Thanks > > Nick Rumble -- wrenGen Ltd, 8 The Acre, Chagford, Devon TQ13 8BQ Tel: 0976-363556, Fax: 0976-212289
Thanks Mark - some more questions if I may .... You say that there can be locking problems between services in the same txn - is a "service" what is described in the manual as a "branch" ? I'm not clear of the relationship between branches and (global) transactions. Does this effectively mean that two local transactions participating within the same global transaction can lock each other out ? Also, I've scanned the documentation and I can't find documentation describes how you join an existing global transaction - is this done through xa_start() and if so how ? Many thanks Nick Rumble Mark Wren <markwren@wren-gen.dircon.co.uk> wrote in message news:377249C8.FE4FA213@wren-gen.dircon.co.uk... > Nick, > > The TP/XA manual online at > www.informix.com/answers/english/pdf_docs/201sdk/4164.pdf > > Informix participates in XA txns but cannot manage them itself. Beware that the > entire 2 phase commit layer of Informix seems to be largely replaced by any 3rd > party XA txn management. This can lead to locking problems between services in > the same txn for instance. > > We've been using it and it runs well using Transarc Encina as the transaction > manager. > But we're having problems getting MQseries to manage a transaction. IBM support > is not too helpful but I'm still hopeful we'll get it to work! > > Mark > > Nick Rumble wrote: > > > I'm trying to evaluate the support for XA in ESQL/C. > > > > The standard documentation doesn't seem to detail exactly what functionality > > is supported. > > > > Specifically, I need to be able to get an ESQL/C app to join a global > > transaction started elsewhere. > > > > Is this achievable & where can I find more documentation ? > > > > Thanks > > > > Nick Rumble > > -- > wrenGen Ltd, 8 The Acre, Chagford, Devon TQ13 8BQ > Tel: 0976-363556, Fax: 0976-212289 > > >
I just design the stuff for the programmers in the department! But I guess that a branch and a service mean the same. It is definite that 2 services (branches) can lock each other out though. Each branch is seen as an independent connection by Informix. It just takes sensible design to deal with, as it is obvious in some ways that this would occur if you're giving the global transaction responsibility to something other than Informix. My experience is with Encina. You're bypassing the entire intelligent Informix txn system. It cannot even do 2 phase commits as each Encina service has to be to a single named database xa_start seems the right sort of call. It is simple in ESQL/C - just replace the begin and commit with the xa call equivalents. There's just all of that messing about getting the service registration and monitoring stuff done. Mark Nick Rumble wrote: > Thanks Mark - some more questions if I may .... > > You say that there can be locking problems between services in the same > txn - is a "service" what is described in the manual as a "branch" ? > > I'm not clear of the relationship between branches and (global) > transactions. > > Does this effectively mean that two local transactions participating within > the same global transaction can lock each other out ? > > Also, I've scanned the documentation and I can't find documentation > describes how you join an existing global transaction - is this done through > xa_start() and if so how ? > > Many thanks > > Nick Rumble > > Mark Wren <markwren@wren-gen.dircon.co.uk> wrote in message > news:377249C8.FE4FA213@wren-gen.dircon.co.uk... > > Nick, > > > > The TP/XA manual online at > > www.informix.com/answers/english/pdf_docs/201sdk/4164.pdf > > > > Informix participates in XA txns but cannot manage them itself. Beware > that the > > entire 2 phase commit layer of Informix seems to be largely replaced by > any 3rd > > party XA txn management. This can lead to locking problems between > services in > > the same txn for instance. > > > > We've been using it and it runs well using Transarc Encina as the > transaction > > manager. > > But we're having problems getting MQseries to manage a transaction. IBM > support > > is not too helpful but I'm still hopeful we'll get it to work! > > > > Mark > > > > Nick Rumble wrote: > > > > > I'm trying to evaluate the support for XA in ESQL/C. > > > > > > The standard documentation doesn't seem to detail exactly what > functionality > > > is supported. > > > > > > Specifically, I need to be able to get an ESQL/C app to join a global > > > transaction started elsewhere. > > > > > > Is this achievable & where can I find more documentation ? > > > > > > Thanks > > > > > > Nick Rumble > > > > -- > > wrenGen Ltd, 8 The Acre, Chagford, Devon TQ13 8BQ > > Tel: 0976-363556, Fax: 0976-212289 > > > > > > -- wrenGen Ltd, 8 The Acre, Chagford, Devon TQ13 8BQ Tel: 0976-363556, Fax: 0976-212289