From: Jeremy Evans Date: 2010-10-02T01:40:43+09:00 Subject: ANN: Sequel 3.16.0 Released 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. Sequel's swift adapter currently supports only PostgreSQL and MySQL, but support for other databases will probably be added in the future. = 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] * {Source code}[http://github.com/jeremyevans/sequel] * {Blog}[http://sequel.heroku.com] * {Bug tracking}[http://code.google.com/p/ruby-sequel/issues/list] * {Google group}[http://groups.google.com/group/sequel-talk] * {RDoc}[http://sequel.rubyforge.org/rdoc] -- Posted via http://www.ruby-forum.com/.