ANN: Sequel 4.5.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, CUBRID,
    DataObjects, DB2, DBI, Firebird, IBM_DB, Informix, JDBC, MySQL,
    Mysql2, ODBC, OpenBase, Oracle, PostgreSQL, SQLAnywhere, SQLite3,
    Swift, and TinyTDS.

Sequel 4.5.0 has been released!

= New Features

  • An mssql_optimistic_locking plugin has been added. This is similar
    to the regular optimistic_locking plugin, but instead of using an
    integer lock column, it uses a timestamp/rowversion lock column.

  • Database#create_table with the :temp=>true option on PostgreSQL now
    supports an :on_commit option. This option can be set to :drop or
    :delete_rows to either drop or empty the temporary table on
    transaction commit.

= Other Improvements

  • Dataset#insert no longer errors on PostgreSQL if the related table
    is a placeholder literal string.

  • Unique constraints are now copied when emulating alter_table
    operations on SQLite.

  • Clob column values are no longer returned as SQL::Blob instances
    by the db2 and ibmdb adapters unless use_clob_as_blob is true.

  • SQL::Blob objects now work correctly as prepared statement
    arguments in the jdbc/db2 adapter if use_clob_as_blob is false.

= Backwards Compatibility

  • The Model.primary_key array for models with composite keys is now
    frozen.

  • On DB2, use_clob_as_blob now defaults to false instead of true.

  • Sequel no longer uses RubyForge. The Sequel website is now located
    at http://sequel.jeremyevans.net.

Thanks,
Jeremy