Re: msdtc with 32-bit app fails to resolve in-doubt or not-notifed transactions - Mailing list pgsql-odbc

From Craig Ringer
Subject Re: msdtc with 32-bit app fails to resolve in-doubt or not-notifed transactions
Date
Msg-id 53AADC07.3090206@2ndquadrant.com
Whole thread Raw
In response to Re: msdtc with 32-bit app fails to resolve in-doubt or not-notifed transactions  (Craig Ringer <craig@2ndquadrant.com>)
Responses Git history author/committer fields (was Re: msdtc with 32-bit app fails to resolve in-doubt or not-notifed transactions)  (Heikki Linnakangas <hlinnakangas@vmware.com>)
Re: msdtc with 32-bit app fails to resolve in-doubt or not-notifed transactions  (Craig Ringer <craig@2ndquadrant.com>)
List pgsql-odbc
On 06/24/2014 11:07 AM, Craig Ringer wrote:
> On 06/24/2014 05:23 AM, Inoue, Hiroshi wrote:
>>
>> XARMCreate() triggers xa_open() ( and xa_close()) probably so as to
>> check that the XADLL works. Currently xa_open() doesn't connect to
>> the database and simply saves the connection information for subsequent
>> xa_commit(), xa_rollback() or xa_recover() call. When original process
>> finished COMMIT/ROLLBACK PREPARED properly, No database access occurs
>> in msdtc process. We can change xa_open() so that it connects to the
>> database immediately and causes an error to XARMCreate() when the
>> connection fails.
>
> That's enlightening. Thankyou very much.
>
> I'll happily implement that and send in a patch. It may take a week or
> two as I have some other projects on the boil, but hopefully it won't
> take super long.

... and done.

Please merge branch fix-syswow64-msdtc from my repo at
https://github.com/ringerc/psqlODBC.git .

see: https://github.com/ringerc/psqlODBC/pull/2

Patch attached if you prefer that. See patch header and in-code comments
for details.

It may well be better to just rewrite pgxalib.dll to use libpq, but I
wanted to stay non-intrusive and simple if possible. For now at least.

I'm not sure the unicode vs ansi dance is necessary in the patch is
necessary - it's probably ok to just always use the unicode driver.
Again, though, deviating from what the driver already does as little as
possible seemed reasonable.

--
 Craig Ringer                   http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services

Attachment

pgsql-odbc by date:

Previous
From: "Jan-Peter Seifert"
Date:
Subject: Re: Crash when using 'Use Declare/Fetch' and the result set does contain one row only
Next
From: Craig Ringer
Date:
Subject: Re: msdtc with 32-bit app fails to resolve in-doubt or not-notifed transactions