Commit 0206f3f
committed
Rewrite of System.Transactions support
* We previously had quite a complicated setup with a PSPE/durable
enlistment, implemented with AppDomains and remoting, but with
actually implement any sort of recovery. Reimplemented using a
volatile resource manager, vastly simplifying the code.
* In the future we'll be implement distributed transaction recovery,
at which point a PSPE/durable resource manager would be implemented.
See npgsql#1378.
* Considerably simplified the scenario where a connection is closed
before its transaction completes. Before we put the connection in a
"fake closed" mode, we now properly close the connection and return
the connector to a special list on the pool. The list is checked when
opening a new connection with the same transaction.
Based on work and discussions with @omatrot, @amirtuval, @skikiker -
thanks!
Closes npgsql#1221 parent 22f2f66 commit 0206f3f
15 files changed
Lines changed: 1746 additions & 1897 deletions
File tree
- src/Npgsql
- test/Npgsql.Tests
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
187 | 187 | | |
188 | 188 | | |
189 | 189 | | |
190 | | - | |
191 | | - | |
| 190 | + | |
192 | 191 | | |
193 | 192 | | |
194 | | - | |
195 | 193 | | |
196 | 194 | | |
197 | 195 | | |
| |||
236 | 234 | | |
237 | 235 | | |
238 | 236 | | |
239 | | - | |
| 237 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1179 | 1179 | | |
1180 | 1180 | | |
1181 | 1181 | | |
1182 | | - | |
1183 | | - | |
1184 | | - | |
1185 | | - | |
1186 | | - | |
1187 | | - | |
1188 | | - | |
1189 | | - | |
1190 | | - | |
1191 | | - | |
1192 | | - | |
| 1182 | + | |
1193 | 1183 | | |
1194 | 1184 | | |
1195 | 1185 | | |
| |||
0 commit comments