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 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
= New Features
* An insert_conflict plugin has been added for automatically handling
constraint conflicts when saving new model instances. It is
supported on PostgreSQL 9.5+ and SQLite 3.24.0+.
Album.new(name: 'Foo', copies_sold: 1000).
insert_conflict(
target: :name,
update: {copies_sold: Sequel[:excluded][:b]}
).
save
* On Microsoft SQL Server, the Database :ansi option has been added,
which sets the following ANSI related options:
* ANSI_NULLS
* ANSI_PADDING
* ANSI_WARNINGS
* ANSI_NULL_DFLT_ON
* QUOTED_IDENTIFIER
* CONCAT_NULL_YIELDS_NULL
= Other Improvements
* Sequel.datetime_class = Time is now supported when using the
named_timezones extension. For backwards compatibility, the
named_timezones extension still sets
Sequel.datetime_class = DateTime. When using Ruby 2.6+, the
Time instances have the timezone set on them using Ruby 2.6+'s
timezone support, but basic support works correctly in earlier
versions of Ruby.
* On Microsoft SQL Server, Sequel now handles parsing schema for
tables in another database on the same server or in a database
on a linked server.
* The pg_json extension now correctly handles subclasses of core
classes when wrapping objects. This stopped working in Sequel
5.21.0, when support for wrapping JSON primitives was added.
* Sequel now works around a couple bugs in jdbc-sqlite 3.27.2.1,
allowing schema parsing and foreign key parsing to work.
* Dataset#execute* private methods now respect an explicitly given
:server option, fixing Dataset#paged_each in the postgres adapter
when using sharding.
* Timezone offsets are now handled correctly when typecasting an array
or hash to datetime when Sequel.datetime_class = Time.
* Sequel now avoids errors when parsing schema when using the mock
SQLite adapter.
* A minor thread-safety issue has been fixed in the named_timezones
extension.
|