Closed jamadden closed 3 years ago
I'm not incredibly familiar with this code, but it LGTM. The reasoning to avoid deadlocks also seems sound. Thanks!
Thanks. I plan to release this to PyPI as 3.5.0a1 as soon as CI finishes going green. Wheels should be available within two hours.
Fixes #469.
Also explicitly distinguishes exceptions that are caused by deadlocks (in PostgreSQL and MySQL); those shouldn't be happening anymore after this.
PostgreSQL goes from heuristic to deterministic about which lock error it raises (and is always sure to unlock rows if there is a share lock conflict).
/cc @jzuech3 @cutz