Commit 88ae813
Pin is_disconnect OS-level branches
DqliteDialect.is_disconnect classifies OSError, ConnectionError,
BrokenPipeError, and TimeoutError alongside the dbapi-level
OperationalError / InterfaceError taxonomy so SA's pool can
invalidate slot on transport failures. Tests only pinned the
dbapi-level paths and the wrapped DqliteConnectionError __cause__
chain; the three OS-level types had no direct assertion, leaving
a refactor that narrows the tuple (e.g. "OSError covers Linux,
drop ConnectionError") to silently break pool recycling.
Parametrize across OSError, BrokenPipeError, ConnectionError,
ConnectionResetError, and TimeoutError. Add an inverse pin that
ProgrammingError is not classified as a disconnect — guarding
against the symmetric widening regression.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent 5c1755e commit 88ae813
1 file changed
Lines changed: 33 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
381 | 381 | | |
382 | 382 | | |
383 | 383 | | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
384 | 417 | | |
385 | 418 | | |
386 | 419 | | |
| |||
0 commit comments