Sequel v4.40.0 Release Notes

Release Date: 2016-10-28 // over 7 years ago
    • ๐Ÿ”Œ Make column_select plugin not raise an exception if the model's table does not exist (jeremyevans)

    • ๐Ÿ”Œ Make dataset_associations plugin correctly handle (many|one)_through_many associations with single join table (jeremyevans) (#1253)

    • โž• Add s extension, with adds Sequel::S module that includes private #S method for calling Sequel.expr, including use as refinement (jeremyevans)

    • Add symbol_as and symbol_as_refinement extensions so that :column.as(:alias) is treated as Sequel.as(:column, :alias) (jeremyevans)

    • Add symbol_aref and symbol_aref_refinement extensions so that :table[:column] is treated as Sequel.qualify(:table, :column) (jeremyevans)

    • โž• Add Sequel.split_symbols=, to support the disabling of splitting symbols with double/triple underscores (jeremyevans)

    • ๐Ÿ‘‰ Make SQL::QualifiedIdentifier convert SQL::Identifier arguments to strings, fixing Sequel[:schema][:table] usage in schema methods (jeremyevans)

    • Do not attempt to combine non-associative operators (jeremyevans) (#1246)

    • Automatically add NOT NULL to columns when adding primary keys if the database doesn't handle it (jeremyevans)

    • ๐Ÿ”Œ Make prepared_statements plugin correctly handle lookup on joined datasets (jeremyevans) (#1244)

    • ๐Ÿ‘‰ Make Database#tables with :qualify=>true option handle table names with double underscores correctly (jeremyevans) (#1241)

    • โž• Add SQL::Identifier#[] and SQL::QualifiedIdentifier#[] for creating qualified identifiers (jeremyevans)

    • Add support for Dataset#insert_conflict :conflict_where option, for a predicate to use in ON CONFLICT clauses (chanks) (#1240)

    • Freeze Dataset::NON_SQL_OPTIONS, add private Dataset#non_sql_options, fixing thread safety issues during require (jeremyevans)

    • โช Make the callable returned by Database#rollback_checker thread safe (jeremyevans)

    • Make lazy_attributes and dataset_associations plugins work if insert_returning_select plugin is loaded before on model with no dataset (jeremyevans)