Changes for version 0.000045 - 2026-06-02
- Switched PostgreSQL shutdown back to SIGTERM (smart shutdown) for a proper, clean shutdown when possible. The earlier hang risk is now covered: stop() disconnects our own lingering handles first, forces a CHECKPOINT, and the watcher's SIGKILL grace period is generous and tunable
- Driver stop() now forces a CHECKPOINT (PostgreSQL) before shutting the server down. If the shutdown is slow enough to be SIGKILLed, the data dir is already consistent, so cloning it no longer triggers crash recovery that jumps SERIAL sequences forward by SEQ_LOG_VALS (32) -- the FreeBSD smoke failure where a cloned row got id 34 instead of 2
- Increased the watcher's graceful-shutdown window before escalating to SIGKILL (4s -> 15s) and made it configurable via the QDB_STOP_GRACE environment variable, so slow hosts can finish a clean shutdown
- Made the Pool tests tolerant of non-deterministic SERIAL ids (verify row values and that ids are strictly increasing, rather than exact id values)
- Fixed t/stop_socket_cleanup.t failing on platforms without DBI/IO::Socket::UNIX (e.g. Windows, smoke hosts lacking DBI): it now skips cleanly instead of dying
Documentation
Modules
Quickly start a db server.
Base class for DBIx::QuickDB drivers.
DuckDB driver for DBIx::QuickDB.
MariaDB MySQL driver for DBIx::QuickDB.
Get ANY MySQL driver for DBIx::QuickDB.
MySQL MySQL driver for DBIx::QuickDB.
Percona MySQL driver for DBIx::QuickDB.
PostgreSQL driver for DBIx::QuickDB.
SQLite driver for DBIx::QuickDB.
Define a pool of databases to clone on demand.
Build hash based classes.
Daemon that sits between main process and the server.
Quickly spin up temporary Database servers for tests.
Provides
in lib/DBIx/QuickDB/Util.pm