Skip to content

v0.5.3 — cross-database hardening (MySQL install fix)

Choose a tag to compare

@anousss007 anousss007 released this 15 Jun 23:37
· 5 commits to main since this release

Cross-database hardening. The test suite previously ran only on SQLite in CI; this release adds PostgreSQL 16 and MariaDB 11.4 to CI (the suite is now connection-configurable via VIGILANCE_TEST_DB), which surfaced and fixed real bugs the other engines hit.

Fixed

  • 🔴 MySQL / MariaDB install was completely broken. The vigilance_aggregates unique index auto-named to 65 chars — over MySQL's 64-char identifier limit (error 1059) — so migrations failed outright. PostgreSQL silently truncates and SQLite has no limit, which is why SQLite-only CI never caught it. Index names are now explicit.
  • PostgreSQL: float → bigint. wait_ms / duration_ms wrote Carbon-3 float milliseconds into bigint columns (PG rejects; MySQL/SQLite truncate). Now cast to int.
  • Cross-driver LIKE filters. Silenced-jobs and name/message searches used LIKE with class names whose backslashes are escape chars on PG/MySQL (not SQLite), so they silently failed there — new Like helper with an explicit ESCAPE clause.
  • Queue-depth probe. A missing jobs table threw, and on PostgreSQL a thrown query inside a transaction aborts it — QueueDepth now checks the table exists first.

Verified

  • Full suite green on SQLite, PostgreSQL 16, MariaDB 11.4 (234 tests each).
  • Worker supervisor drained real queues on the database and redis drivers; failed jobs routed to failed_jobs; all runs captured.
  • Octane state-reset hook flushes the in-flight trace on RequestReceived (no cross-request leakage).