• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

mpyw / laravel-database-advisory-lock / 29297540423 / 9
100%
master: 100%

Build:
Build:
LAST BUILD BRANCH: dependabot/github_actions/actions/checkout-7
DEFAULT BRANCH: master
Ran 14 Jul 2026 01:39AM UTC
Files 28
Run time 1s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

13 Jun 2026 03:54AM UTC coverage: 100.0%. Remained the same
29297540423.9

push

github

web-flow
[Claude] Support the dedicated `mariadb` driver (closes #15) (#16)

* Support the dedicated `mariadb` driver (closes #15)

Laravel 11 introduced a dedicated `Illuminate\Database\MariaDbConnection`
(extending `MySqlConnection`) used whenever the connection driver is
`mariadb`. Because this package only registered resolvers for `mysql`
and `pgsql`, a connection configured with `'driver' => 'mariadb'` was
resolved to Laravel's own `MariaDbConnection` *without* the
`AdvisoryLocks` trait, so `advisoryLocker()` was unavailable there.

- Add `Connections\MariaDbConnection` (extends the base + uses the trait)
- Register a `mariadb` resolver in `ConnectionServiceProvider`
  - `LockerFactory` already routes it correctly via
    `instanceof MySqlConnection` (the base MariaDbConnection extends it)
- Tests: make the `mariadb` connection actually use `'driver' => 'mariadb'`
  (it previously inherited the `mysql` driver), so the whole mariadb test
  matrix now exercises the new class end-to-end

Also, while here:
- Fix a real null-safety issue flagged by PHPStan in PostgresSessionLock:
  `Connection::getEventDispatcher()` returns `Dispatcher|null`, but
  `TransactionEventHub::initializeWithDispatcher()` requires a non-null
  `Dispatcher`. Guard against a missing dispatcher.
- README: document that a transaction-level advisory lock is bound to the
  top-level transaction. With Laravel's savepoint-based nested
  transactions, committing a nested transaction does NOT release a lock
  acquired inside it (it is promoted to the enclosing transaction and held
  until the outermost one ends); only a rollback to the savepoint releases
  it early. Reliable, but it may be held longer than intended — a tradeoff
  vs session-level locks. Verified against Postgres and cited to the docs.
- Widen the supported Laravel range to `^13.0` (already in composer.json,
  was missing from the README) and proactively allow `^14.0`.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthr... (continued)

167 of 167 relevant lines covered (100.0%)

12.12 hits per line

Source Files on job laravel:^12.0 php:8.2 - 29297540423.9
  • Tree
  • List 28
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 29297540423
  • 96c3ae49 on github
  • Prev Job for on claude/dependabot (#20214073855.6)
  • Next Job for on claude/dependabot (#29297541576.10)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc