- Issue created by @mondrake
- last update
over 1 year ago 29,411 pass - @mondrake opened merge request.
- 🇮🇹Italy mondrake 🇮🇹
The MR introduces the TransactionManagerInterface and its implementation for SQLite. MySql and PostgreSQL will come later.
- last update
over 1 year ago 29,411 pass - last update
over 1 year ago 29,411 pass - last update
over 1 year ago Custom Commands Failed - last update
over 1 year ago 29,416 pass - last update
over 1 year ago 29,416 pass - last update
over 1 year ago Custom Commands Failed - last update
over 1 year ago Custom Commands Failed - last update
over 1 year ago 29,438 pass, 1 fail - last update
over 1 year ago 29,445 pass, 2 fail - last update
over 1 year ago Custom Commands Failed - last update
over 1 year ago Custom Commands Failed - last update
over 1 year ago 29,446 pass - last update
over 1 year ago 29,438 pass, 1 fail - last update
over 1 year ago 29,446 pass - last update
over 1 year ago Custom Commands Failed - last update
over 1 year ago 29,446 pass - last update
over 1 year ago 29,446 pass - last update
over 1 year ago 29,446 pass - last update
over 1 year ago 29,451 pass - last update
over 1 year ago 29,447 pass, 5 fail - last update
over 1 year ago 29,451 pass - last update
over 1 year ago 29,451 pass - last update
over 1 year ago 29,448 pass, 2 fail - last update
over 1 year ago 29,451 pass - last update
over 1 year ago 29,450 pass, 1 fail - last update
over 1 year ago 29,449 pass, 4 fail - last update
over 1 year ago 29,451 pass - last update
over 1 year ago 29,449 pass, 3 fail - last update
over 1 year ago 29,447 pass, 8 fail - Issue was unassigned.
- Status changed to Needs review
over 1 year ago 9:06pm 12 June 2023 - 🇮🇹Italy mondrake 🇮🇹
Apart from some loony random (?) test failures on pgsql, this is now at least ready for a first ‘architectural’ review.
Please leave CR, typo, deprecation related comments to a later stage, and help answer the question ‘does this make sense doing?’
- last update
over 1 year ago 29,442 pass, 4 fail - last update
over 1 year ago 29,447 pass, 4 fail - 🇫🇷France andypost
Quickly skimmed and only question about exposed client connection
Also some naming questions about using "Client" in method names, it probably supposed all to be client related
- Assigned to mondrake
- 🇮🇹Italy mondrake 🇮🇹
I reckon there’s an error in the pgsql conversion that could explain (but not justify) the test failures. I will try and fix it. Leaving NR as the architecture review can happen independently from the pgsql implementation.
- last update
over 1 year ago 29,459 pass - last update
over 1 year ago 29,459 pass - last update
over 1 year ago 29,458 pass, 2 fail - Issue was unassigned.
- 🇮🇹Italy mondrake 🇮🇹
In 7d0e3196, reverted the changes to pgsql database operation classes that were forcing to open a transaction always and not just savepoints when a transaction is open already. Per se that should theoretically not be a problem, but it may explain the apparently random pgsql test failures.
- last update
over 1 year ago 29,458 pass, 1 fail - last update
over 1 year ago 29,459 pass - last update
over 1 year ago 29,482 pass - last update
over 1 year ago 29,481 pass, 2 fail - last update
over 1 year ago 29,482 pass - last update
over 1 year ago 29,484 pass - Status changed to RTBC
over 1 year ago 2:47pm 23 June 2023 - 🇺🇸United States smustgrave
Lets get into committer eyes.
Updated IS with some remaining tasks though.
- last update
over 1 year ago 29,560 pass - last update
over 1 year ago 29,562 pass - Status changed to Needs work
over 1 year ago 7:29am 26 June 2023 - 🇳🇱Netherlands daffie
This is not ready to be committed. Therefor I am putting it back to NW.
@mondrake: I like the basic idea! Great work. The main question that I have is this a real stack of ordered item or a random list of transactions?
- last update
over 1 year ago 29,571 pass - last update
over 1 year ago 29,571 pass - last update
over 1 year ago 29,571 pass - Status changed to Needs review
over 1 year ago 4:55pm 28 June 2023 - 🇮🇹Italy mondrake 🇮🇹
As part of this issue, I would suggest to deprecate:
Connection::transactionDepth()
- it's an internal detail, should not be exposed IMHOConnection::rollback()
- likewise::commit()
that was removed from the Connection, also::rollback()
should be called from the transaction objectConnection::addRootTransactionEndCallback()
- it's called rarely, better call the method on the new transacgtion manager insteadConnection::commit()
- it's there just to throw an exception, probably cruft from an earlier deprecationConnection::doCommit()
- becomes unused when the TransactionManager is in placeConnection::popCommittableTransactions()
- becomes unused when the TransactionManager is in placeConnection::popTransaction()
- becomes unused when the TransactionManager is in placeConnection::pushTransaction()
- becomes unused when the TransactionManager is in place
- last update
over 1 year ago 29,882 pass - Status changed to Needs work
over 1 year ago 12:48pm 31 July 2023 - 🇳🇱Netherlands daffie
The MR looks good to me.
I opened a couple of threads on the MR. - Status changed to Needs review
over 1 year ago 3:46pm 31 July 2023 - Status changed to Needs work
over 1 year ago 4:45pm 31 July 2023 - last update
over 1 year ago 23,375 pass, 1,984 fail - last update
over 1 year ago 29,904 pass, 2 fail - last update
over 1 year ago 29,920 pass, 2 fail - last update
over 1 year ago 29,921 pass - last update
over 1 year ago 29,919 pass, 3 fail - last update
over 1 year ago Custom Commands Failed - 🇮🇹Italy mondrake 🇮🇹
Filed ✨ Allow arbitrary data types for PHPStan compatibility in @return class methods Active in Coder issue queue for the last PHPCS failure.
- last update
over 1 year ago 29,955 pass - last update
over 1 year ago 29,955 pass - last update
over 1 year ago 29,955 pass - last update
over 1 year ago 29,958 pass - last update
over 1 year ago 29,960 pass, 2 fail - Status changed to Needs review
over 1 year ago 1:48pm 2 August 2023 - 🇮🇹Italy mondrake 🇮🇹
Thanks @daffie. Wrt tests, the refactor is done in a way that the existing tests are untouched, and they should cover already the cases you mention. In fact the API to transaction consumers is unchanged, it's the internals within the Database code that changes. I added a couple of tests that were clearly missing, the others should suffice. Please indicate specific use-cases that need test coverage, in case.
- last update
over 1 year ago 29,960 pass, 2 fail - last update
over 1 year ago 29,961 pass - last update
over 1 year ago 29,960 pass, 2 fail - last update
over 1 year ago 29,949 pass, 2 fail - last update
over 1 year ago 29,961 pass - last update
over 1 year ago 29,961 pass - Status changed to Needs work
over 1 year ago 7:55am 11 August 2023 - 🇳🇱Netherlands daffie
All my points have been addressed.
All code changes look good to me.
The IS needs an update.
We need to add a CR.
Back to needs work for those 2 points.@mondrake: Great work.
- Assigned to yustinTR
- 🇳🇱Netherlands yustinTR
I created the change records and updated the issues summary.
- last update
about 1 year ago Custom Commands Failed - last update
about 1 year ago 30,075 pass - last update
about 1 year ago 30,074 pass, 2 fail - last update
about 1 year ago 30,075 pass - Issue was unassigned.
- Status changed to Needs review
about 1 year ago 6:42pm 28 August 2023 - 🇮🇹Italy mondrake 🇮🇹
Rebased, adjusted references to CR, added PHPStan ignores for BC deprecated method calls.
- last update
about 1 year ago 30,063 pass, 2 fail - last update
about 1 year ago 30,075 pass - Status changed to RTBC
about 1 year ago 7:36am 29 August 2023 - 🇳🇱Netherlands daffie
All code changes look good to me.
The IS and the CR are in order.
The testbot is green.
The issue is ready for a review by backend framework manager. - last update
about 1 year ago 30,113 pass - last update
about 1 year ago 30,113 pass - last update
about 1 year ago 30,113 pass - Status changed to Needs review
about 1 year ago 10:37am 30 August 2023 - 🇬🇧United Kingdom catch
OK I hadn't looked at the database transaction code for a long time, and it's hard to follow. This issue makes it a lot better, it'll be even better when we're able to remove the bc layers. I made some UI commits to the MR to fix the deprecation version from 10.0.2 to 10.2.0 for some things.
I wanted to commit this but there is an unresolved question from @andypost on the MR https://git.drupalcode.org/project/drupal/-/merge_requests/4101/diffs#3c...
Happy to commit once that's answered/resolved. There might be more improvements we can make once the bc layers are resolved like making some more methods protected to reduce the API surface, but this is all only called by database drivers anyway.
- Status changed to RTBC
about 1 year ago 10:57am 30 August 2023 - 🇮🇹Italy mondrake 🇮🇹
Replied inline to @andypost's comment, to the best of my knowledge. Back to RTBC.
- last update
about 1 year ago 30,113 pass - last update
about 1 year ago 30,113 pass - 🇫🇷France andypost
Thank you! RTBC++
but method return value should be
?object
https://git.drupalcode.org/project/drupal/-/merge_requests/4101#note_204242 - 🇮🇹Italy mondrake 🇮🇹
Tried anticipating the implementation in the mysqli driver repo on GitHub, https://github.com/mondrake/mysqli/commit/fd902b931a1ee9ea4f9a16f34d827a...
Few things to fix, but apart from that the implementation is much more clear than if we were to use current HEAD.
- Status changed to Fixed
about 1 year ago 8:23am 31 August 2023 - 🇬🇧United Kingdom catch
I think if the property is always set in the constructor it's OK to prevent it from being null.
Rest looks good to me, as above we can improve further once it's in and especially once the bc layers are removed.
Committed/pushed to 11.x, thanks!
- 🇮🇹Italy mondrake 🇮🇹
A couple of nasty edge cases requiring follow-up, filed 🐛 Strengthen TransactionManager Needs work . Hopefully we still have time for some fixes as this is not released yet.
- 🇮🇹Italy mondrake 🇮🇹
Added some more follow-ups:
Automatically closed - issue fixed for 2 weeks with no activity.