1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
= New Features
* On SQLite 3.33.0+, the UPDATE FROM syntax is now supported. This
allows you to update one table based on a join to another table.
The SQLite syntax is based on the PostgreSQL syntax, and the
Sequel API is the same for both. You need to pass multiple tables
to Dataset#from. The first table is the table to update, and the
remaining tables are used to construct the UPDATE FROM clause:
DB[:a, :b].where{{a[:c]=>b[:d]}}.update(:e=>'f')
# UPDATE a SET e = 'f' FROM b WHERE (a.c = b.d)
Unlike PostgreSQL, SQLite does not support the deletion of joined
datasets. Related to this, the following methods for testing
database support for modifying joined datasets have been added:
* supports_updating_joins?
* supports_deleting_joins?
= Other Improvements
* The pg_interval and date_arithmetic extensions now support
ActiveSupport 6.1.
* Sequel no longer issues method redefinition warnings in verbose
mode. As Ruby 3 has dropped uninitialized instance variable
warnings, Sequel is now verbose warning free on Ruby 3.
= Backwards Compatibility
* Trying to truncate or insert into a joined dataset now correctly
raises an exception even if the joined dataset supports updates.
* The private Dataset#check_modification_allowed! method is now
deprecated, and users (custom adapters) should now switch to one
of the more specific methods introduced in this version:
* check_insert_allowed!
* check_update_allowed!
* check_delete_allowed!
|