NAME
DBIO::MySQL::Async - Async MySQL/MariaDB storage for DBIO via EV::MariaDB
VERSION
version 0.900000
SYNOPSIS
# Schema setup
my $schema = MyApp::Schema->connect(
'DBIO::MySQL::Async',
{
host => 'localhost',
dbname => 'myapp',
user => 'myapp',
password => 'secret',
pool_size => 10,
},
);
# Async queries return Futures
$schema->resultset('Artist')->all_async->then(sub {
my @artists = @_;
say $_->name for @artists;
});
# Pipeline mode — batch queries in one round-trip
$schema->storage->pipeline(sub {
my @futures;
push @futures, $schema->resultset('Artist')
->create_async({ name => $_ }) for @names;
return Future->needs_all(@futures);
});
# Sync methods still work (block the event loop)
my @all = $schema->resultset('Artist')->all;
DESCRIPTION
Async MySQL/MariaDB support for DBIO using EV::MariaDB, a non-blocking MariaDB client built on MariaDB's C client library. Bypasses DBI entirely for maximum performance.
Supports pipeline mode (batching queries in a single round-trip) and prepared statements.
EVENT LOOP COMPATIBILITY
EV::MariaDB uses the EV event loop. This works with:
AUTHOR
DBIO Authors
COPYRIGHT AND LICENSE
Copyright (C) 2026 DBIO Authors
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.