Fixed
Project:
Drupal core
Version:
main
Component:
database system
Priority:
Normal
Category:
Task
Assigned:
Unassigned
Issue tags:
Reporter:
Created:
24 Nov 2021 at 09:53 UTC
Updated:
14 Sep 2026 at 20:41 UTC
Jump to comment: Most recent, Most recent file
Comments
Comment #2
mondrake#3129043: Move core database drivers to modules of their own landed.
Comment #3
arantxioHere is a start for this change. I removed some function that was designed for D8 and then mapped and adjusted all the functions that referred to Drupal\Driver. Some might be removable, but we have to decided on that because its also kind off test coverage.
Comment #4
arantxioSetting the version to D11 because 10.2 doesn't exist yet, we'll need to adjust this when the it's added.
Comment #5
smustgrave commented10.2 will just be a tag off 11.x so as long as it works there it should be good.
Requeuing tests to make sure mysql and sqllite passes.
Comment #6
smustgrave commentedRefactor didn't seem to cause a regression. Think it would be good to get this in early for 10.2
Comment #7
daffie commentedUpdated the title and the IS.
Comment #8
daffie commentedComment #9
catchThis could have gone in prior to 10.0.0 but I think it will need to wait until (actual) 11.x now.
Comment #10
catchComment #11
smustgrave commentedSeems like postponed makes sense then.
Is Major version only how you find D11 tickets or is there another tag?
Comment #12
mondrakeThis is actionable now. Needs rebase and change to MR workflow.
Comment #13
arantxioI've added most of the patch to a issue fork, however some of the code has changed already and some classes are gone.
I don't see any more tests that reference Drupal\Driver or Drupal\\Driver. But a check on it would be great.
I couldn't run the tests locally so I hope someone else could go through it.
Comment #14
andypostComment #15
andypostAs I see only 4 usages left
Comment #16
quietone commentedI wasn't sure about this issue so I confirmed with @daffie that this is still relevant. In the same message they mentioned that there are other higher priority issues than removing these tests.
Comment #20
zeeshan_khan commentedThe 'custom' and 'core' fixture directories under core/tests/fixtures/database_drivers/ simulated database drivers
placed directly in DRUPAL_ROOT/drivers, a layout that is no longer supported now that all core and contrib database drivers are provided
by modules. No test file references these fixtures anymore; the only fixture still in use is 'module', which represents the current, supported driver location.
AI-assisted, reviewed and tested by Zeeshan Khan (Manually)
Comment #21
daffie commentedThe MR needs to be rebased and the Gitlab CI pipeline needs to return green.
Comment #22
zeeshan_khan commented@daffie Thanks for the review
Rebased onto current main and CI has been re-run.
The pipeline is green except for two jobs: PHPUnit Unit (Component): [8.6-ubuntu] and PHPUnit Unit (Core): [8.6-ubuntu]. These are not caused by this fix. Both come from the same root cause: the mikey179/vfsstream package (used across hundreds of core unit tests for virtual filesystem mocking) calls spl_object_hash(), which PHP 8.6 deprecates. That single deprecation notice is what fails these two jobs, not any actual test failure, all 6466 tests in the affected suite pass.
This is a pre-existing, project-wide issue, not something introduced by this MR. I checked an unrelated open MR (!15266) touching a completely different part of the codebase, and it fails on the exact same two jobs with the exact same numbers. Both jobs are also marked allow_failure: true in the pipeline config, so they don't block merge status.
I also manually ran the full additional test matrix (MariaDB, PostgreSQL-adjacent, Kernel, Functional, FunctionalJavaScript) against this change, all green.
Let me know if there's anything else needed here.
Comment #23
daffie commentedLooks good to me.
The 2 fake database drivers can be removed.
For me it is RTBC.
Comment #25
longwaveCommitted and pushed 595e1cffb5a to main. Thanks!