New Features¶ ↑
-
A :preconnect Database option has been added, for automatically creating the maximum number of connections to the database on instantiation. This is useful when there is high latency for initial connection setup, where Sequel’s usual approach of connecting as needed can cause pauses at runtime.
-
Database#sharded? has been added for checking whether the Database object uses multiple servers.
-
Dataset#server? has been added, for returning a cloned dataset associated with the given server/shard if the dataset does not already have a server set. This returns the receiver if the server has already been set or the Database is not sharded.
Other Improvements¶ ↑
-
Sequel
now uses the correct shard when deleting model instances. Previously, the correct shard was only used in the unoptimized case, not in the optimized case. -
Sequel
now uses the correct shard when using Dataset#insert_select on PostgreSQL. This was first broken in the 4.13.0 release. -
Sequel
now correctly handlesSequel::SQL::Blob
instances used in bound variables in the postgres adapter. Previously this resulted in duplicate apostrophes being used. -
When using the jdbc/sqlite3 adapter with jdbc-sqlite3 3.8.7,
Sequel
now handles date objects and empty blobs correctly, working around bugs in the driver.
Backwards Compatibility¶ ↑
-
In the update_or_create plugin, Model.update_or_create now always returns the object. Previously it would not return the object if the object already existed but no updates were necessary.