Stephen Margheim
Stephen Margheim
> What is the default busy timeout? Should it be higher? For tests, Rails sets up connections for the fixtures with a 5 second timeout (see [here](https://github.com/rails/rails/blob/main/activerecord/test/config.example.yml)). This matches the...
Still failing. It is a pretty consistent, and small, collection of test cases that are failing. My current hypothesis is that these tests have connections that aren't covered by the...
@dhh: Unrelated `ujs` and `app:update` test failures aside, this PR is green. Needed to ensure that fixture transactions were deferred. Instead of introducing a new option to the `transaction` method...
Ah, I pushed what I thought was an irrelevant change (removing the `default_transaction_mode: deferred` from the test config), and it was clearly very relevant. There are a number of tests...
An alternative thought I just had: We could go another direction altogether and _only_ have the automatically created transactions used to wrap ActiveRecord's write operations run as `immediate`, while keeping...
@dhh: I found the entry point for ActiveRecord write operation transactions. I have refactored the entire PR to _only_ make these operations INMEDIATE transactions. So, the default of deferred transactions...
> Other option is allowing the adapters to be able to take over that transaction method. True. I can try that out and push it up and you can consider...
@dhh: `ActiveRecord::Base#with_transaction_returning_status` now calls `Adapter#transaction_returning_status` instead of `Adapter#transaction` directly. By default, that method is simply as alias, but the SQLite3 adapter implements the `transaction_returning_status` method to ensure that the immediate...
If we override every call to `transaction` to use immediate mode, many tests fail. There are a lot of tests that manually call `transaction` multiple times to the same database....
@matthewd @byroot: I resolved conflicts on the CHANGELOG, and I will squash commits once we agree on a direction. I'd greatly appreciate your thoughts here. I updated the initial post...