New Features¶ ↑
-
On PostgreSQL 14+, Dataset#with_recursive now supports :search and :cycle options for result ordering and cycle detection. These use the SEARCH and CYCLE clauses added in PostgreSQL 14:
DB[:t].with_recursive(:t, DB[:i1].where(parent_id: nil), DB[:i1].join(:t, id: :parent_id).select_all(:i1), search: {by: :id, type: :breadth}, cycle: {columns: :id, cycle_value: 1, noncycle_value: 2}) # WITH RECURSIVE t AS ( # SELECT * FROM i1 WHERE (parent_id IS NULL) # UNION ALL # (SELECT i1.* FROM i1 INNER JOIN t ON (t.id = i1.parent_id)) # ) # SEARCH BREADTH FIRST BY id SET ordercol # CYCLE id SET is_cycle TO 1 DEFAULT 2 USING path
-
On MySQL, column schema hashes now contain an :extra entry, which contains the Extra string returned in MySQL’s DESCRIBE results for the column.
Other Improvements¶ ↑
-
When eager loading via the tactical_eager_loading plugin, objects that already have an association loaded will not have it reloaded unless the :eager_reload option is given.
-
When cloning an association and using a different :class option than the cloned association, the :class option given when cloning will now take precedence over the :class option for the cloned association.
-
When using the mock postgres adapter, the adapter defaults to supporting PostgreSQL 14 (previously, it defaulted to supporting PostgreSQL 9.5).
-
Sequel
now avoids a method redefined warning in the lazy attributes plugin in verbose warnings mode.
Other¶ ↑
-
Sequel’s primary discussion forum is now GitHub Discussions. The sequel-talk Google Group is still available for users who would prefer to use that instead.