ANN: Sequel 3.22.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, Swift, and TinyTDS.

Sequel 3.22.0 has been released and should be available on the gem

= New Features

  • Support COLLATE in column definitions. At least MySQL and Microsoft
    SQL Server support them, and PostgreSQL 9.1 should as well.

  • When connecting to Microsoft SQL Server, you can use the
    mssql_unicode_strings accessor to turn of the default usage
    of unicode strings (N’‘) and use regular strings (’'). This
    can improve performance, but changes the behavior. It’s
    set to true by default for backwards compatibility. You can
    change it at both the dataset and database level:

    DB.mssql_unicode_strings = false # default for datasets
    dataset.mssql_unicode_strings = false # just this dataset

  • In the oracle adapter, if Sequel.application_timezone is :utc, set
    the timezone for the connection to use the 00:00 timezone.

= Other Improvements

  • In the single_table_inheritance plugin, correctly handle a
    multi-level class hierarchy so that loading instances from a
    middle level of the hierarchy can return instances of subclasses.

  • Don’t use a schema when creating a temporary table, even if
    default_schema is set.

  • Fix the migrator when a default_schema is used.

  • In the ado adapter, assume a connection to SQL Server if the
    :conn_string is given and doesn’t indicate Access/Jet.

  • Fix fetching rows in the tinytds adapter when the
    identifier_output_method is nil.

  • The tinytds adapter now checks for disconnect errors, but it might
    not be reliable until the next release of tiny_tds.

  • The odbc adapter now handles ODBC::Time instances correctly.