Changes for version 0.58 - 2026-02-20

  • BUG FIX
    • ResultSet::create() now detects scalar-ref values targeting primary key columns and croaks immediately with a descriptive error message. Previously, scalar refs used to embed inline SQL expressions (e.g. \'UUID()') were silently stringified during IPC serialisation to the worker process, causing DBIC to fall back to last_insert_id() on a non-autoincrement char column and return a wrong value ('1' on SQLite, undef on MySQL). Callers should generate PK values in Perl before calling create(), e.g. Data::UUID->new->create_str.
  • TEST SUITE
    • t/149-scalar-ref-char-pk.t: new test covering the scalar-ref char PK guard and confirming that Perl-side UUID generation works correctly as the fix.
    • t/lib/TestSchema/Result/Event.pm: new test fixture.
    • t/003-basic.t, t/004-simple-get.t: updated source count from 3 to 4 to reflect the addition of the Event fixture to TestSchema.

Modules

Non-blocking, multi-worker asynchronous wrapper for DBIx::Class
Non-blocking resultset proxy with Future-based execution
Asynchronous pagination handling for Async ResultSets
Asynchronous operations on a single ResultSource column
Asynchronous Row object representing a single database record.
Non-blocking, worker-pool based Proxy for DBIx::Class::Schema
Storage Layer for DBIx::Class::Async
DBI-based async storage backend for DBIx::Class::Async
Asynchronous cursor for DBIx::Class ResultSets using Futures