# ANN: Sequel 3.16.0 Released

**URL:** <https://www.ruby-forum.com/t/ann-sequel-3-16-0-released/195876>\
**Category:** Ruby\
**Created:** [October 1, 2010, 6:40pm UTC](https://www.ruby-forum.com/t/ann-sequel-3-16-0-released/195876 "2010-10-01T18:40:31Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![nerdmaster](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/c68b51/32.png) [@nerdmaster](https://www.ruby-forum.com/u/nerdmaster)\
**Post date:** [October 1, 2010, 6:40pm UTC](https://www.ruby-forum.com/t/ann-sequel-3-16-0-released/195876/1 "2010-10-01T18:40:31Z")

</div>

Sequel is a lightweight database access toolkit for Ruby.

- Sequel provides thread safety, connection pooling and a concise  
DSL for constructing SQL queries and table schemas.
- Sequel includes a comprehensive ORM layer for mapping records to  
Ruby objects and handling associated records.
- Sequel supports advanced database features such as prepared  
statements, bound variables, stored procedures, savepoints,  
two-phase commit, transaction isolation, master/slave  
configurations, and database sharding.
- Sequel currently has adapters for ADO, Amalgalite, DataObjects,  
DB2, DBI, Firebird, Informix, JDBC, MySQL, Mysql2, ODBC, OpenBase,  
Oracle, PostgreSQL, SQLite3, and Swift.

Sequel 3.16.0 has been released and should be available on the gem  
mirrors.

= New Adapter

- A swift adapter was added to Sequel. Swift is a relatively new  
ruby database library, built on top of a relatively new backend  
called dbic++. While not yet considered production ready, it is  
very fast. The swift adapter is about 33% faster and 40% more  
memory efficient for selects than the postgres adapter using pg  
with sequel\_pg, though it is slower and less memory efficient  
for inserts and updates.

= Other Improvements

- Sequel now correctly literalizes DateTime objects on ruby 1.9 for  
databases that support fractional seconds.

- The identity\_map plugin now handles composite keys in many\_to\_one  
associations.

- The rcte\_tree plugin now works when the model’s dataset does not  
select all columns. This can happen when using the lazy\_attributes  
plugin on the same model.

- Sequel now supports INTERSECT and EXCEPT on Microsoft SQL Server  
2005+.

- The Database#create\_language method in the shared PostgreSQL  
adapter now accepts a :replace option to replace the currently  
loaded procedural language if it already exists. This option  
is ignored for PostgreSQL versions before 9.0.

- The identity\_map plugin now handles cases where the plugin is  
loaded separately by two different models.

= Backwards Compatibility

- While not technically backwards compatibility related, it was  
discovered that the identity\_map plugin is incompatible with  
the standard eager loading of many\_to\_many and many\_through\_many  
associations. If you want to eagerly load those associations and  
use the identity\_map plugin, you should use eager\_graph instead  
of eager.

Thanks,  
Jeremy

- {Website}[[http://sequel.rubyforge.org](http://sequel.rubyforge.org)]
- {Source code}[[GitHub - jeremyevans/sequel: Sequel: The Database Toolkit for Ruby](http://github.com/jeremyevans/sequel)]
- {Blog}[[http://sequel.heroku.com](http://sequel.heroku.com)]
- {Bug tracking}[[Google Code Archive - Long-term storage for Google Code Project Hosting.](http://code.google.com/p/ruby-sequel/issues/list)]
- {Google group}[[http://groups.google.com/group/sequel-talk](http://groups.google.com/group/sequel-talk)]
- {RDoc}[[http://sequel.rubyforge.org/rdoc](http://sequel.rubyforge.org/rdoc)]
