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

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs