File: 5.86.0.txt

package info (click to toggle)
ruby-sequel 5.97.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 11,188 kB
  • sloc: ruby: 123,115; makefile: 3
file content (62 lines) | stat: -rw-r--r-- 2,409 bytes parent folder | download
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
57
58
59
60
61
62
= New Features

* The subset_conditions plugin now supports where_all and where_any
  methods for combining existing subsets.  It also adds
  *_conditions methods for exclude method calls, in addition to
  subset and where method calls:

    class Album < Sequel::Model
      plugin :subset_conditions

      dataset_module do
        where :released, Sequel::CURRENT_DATE <= :release_date
        exclude :inactive, :active

        where_all(:inactive_released, :released, :inactive)
        where_any(:inactive_or_released, :released, :inactive)
      end
    end

    Album.inactive_released.sql
    # SELECT * FROM albums WHERE ((CURRENT_DATE <= release_date) AND NOT active)

    Album.inactive_or_released.sql
    # SELECT * FROM albums WHERE ((CURRENT_DATE <= release_date) OR NOT active)

    Album.where(Album.inactive_conditions).sql
    # => SELECT * FROM albums WHERE NOT active

    Album.exclude(Album.inactive_or_released_conditions).sql
    # SELECT * FROM albums WHERE ((CURRENT_DATE > release_date) AND active)

  In addition to making code simpler, the where_all method improves
  performance compared to defining a dataset method that uses a
  method chain to call both methods, and the where_any method improves 
  performances even more significantly as it allows caching where
  the alternative approach would not allow for caching.

* The sqlite adapter now supports the :disable_dqs Database option,
  to disable treating double quoted values as strings. As described
  by the SQLite documentation, treating double quoted values as
  strings instead of identifiers is a misfeature. This support
  requires SQLite 3.29.0+ and sqlite3 gem version 1.4.3+.

= Other Improvements

* On PostgreSQL, datasets using an SQL::DelayedEvaluation instance
  as the table now support returning the primary key for inserts
  and imports.

* All jdbc adapters now use Ruby-style module naming instead of
  Java-style package naming (e.g. Java::OrgPostgresqlUtil::PGobject
  instead of org.postgresql.util.PGobject).  This supports loading
  the Java packages in separate classloaders.

* The schema_dumper extension now uses colons instead of hashrockets
  when using Ruby 3.4+ (following the Hash#inspect change in Ruby
  3.4.0-preview2).

= Backwards Compatibility

* The schema_dumper change can break backwards compatibility for
  tests that expect the hashrocket format, but only on Ruby 3.4+.