1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
= New Features
* A sharded_timed_queue connection pool has been added. This offers
most of the same features as the sharded_threaded connection pool,
but uses the new Queue#pop :timeout features added in Ruby 3.2 to
allow for a simpler and possibly faster and more robust
implementation.
* If a :pool_class option is not specified when creating a Database,
Sequel will now look at the SEQUEL_DEFAULT_CONNECTION_POOL
environment variable to determine the connection pool class to use.
This allows you to set SEQUEL_DEFAULT_CONNECTION_POOL=timed_queue
on Ruby 3.2 to test with the timed_queue connection pool without
making any code changes. If the :servers Database option is given,
Sequel will automatically use the sharded version of the connection
pool specified by SEQUEL_DEFAULT_CONNECTION_POOL.
= Other Improvements
* The connection_validator, connection_expiration, and
async_thread_pool extensions now work with the timed_queue and
sharded_timed_queue connection pools.
* The sharded_threaded connection pool now disconnects connections
for all specified servers instead of just the last specified server
when using remove_server.
* The static_cache plugin now recognizes when the forbid_lazy_load
plugin is already loaded, and does not return instances that
forbid lazy load for methods that return a single object, such as
Database.{[],cache_get_pk,first}.
* Sequel now displays an informative error message if attempting to
load the connection_validator or connection_expiration extensions
when using the single threaded connection pool.
|