sequel 5.82.0 → 5.84.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (135) hide show
  1. checksums.yaml +4 -4
  2. data/bin/sequel +9 -17
  3. data/lib/sequel/adapters/jdbc/derby.rb +1 -1
  4. data/lib/sequel/adapters/shared/db2.rb +1 -1
  5. data/lib/sequel/adapters/shared/mssql.rb +14 -2
  6. data/lib/sequel/adapters/shared/postgres.rb +42 -4
  7. data/lib/sequel/adapters/shared/sqlite.rb +3 -1
  8. data/lib/sequel/database/connecting.rb +1 -4
  9. data/lib/sequel/database/misc.rb +27 -7
  10. data/lib/sequel/database/schema_methods.rb +17 -1
  11. data/lib/sequel/dataset/sql.rb +13 -0
  12. data/lib/sequel/extensions/pg_json_ops.rb +328 -1
  13. data/lib/sequel/extensions/stdio_logger.rb +48 -0
  14. data/lib/sequel/extensions/string_agg.rb +15 -2
  15. data/lib/sequel/plugins/defaults_setter.rb +16 -4
  16. data/lib/sequel/plugins/optimistic_locking.rb +2 -0
  17. data/lib/sequel/sql.rb +8 -5
  18. data/lib/sequel/version.rb +1 -1
  19. metadata +4 -235
  20. data/CHANGELOG +0 -1377
  21. data/README.rdoc +0 -936
  22. data/doc/advanced_associations.rdoc +0 -884
  23. data/doc/association_basics.rdoc +0 -1859
  24. data/doc/bin_sequel.rdoc +0 -146
  25. data/doc/cheat_sheet.rdoc +0 -255
  26. data/doc/code_order.rdoc +0 -104
  27. data/doc/core_extensions.rdoc +0 -405
  28. data/doc/dataset_basics.rdoc +0 -96
  29. data/doc/dataset_filtering.rdoc +0 -222
  30. data/doc/extensions.rdoc +0 -77
  31. data/doc/fork_safety.rdoc +0 -84
  32. data/doc/mass_assignment.rdoc +0 -98
  33. data/doc/migration.rdoc +0 -660
  34. data/doc/model_dataset_method_design.rdoc +0 -129
  35. data/doc/model_hooks.rdoc +0 -254
  36. data/doc/model_plugins.rdoc +0 -270
  37. data/doc/mssql_stored_procedures.rdoc +0 -43
  38. data/doc/object_model.rdoc +0 -563
  39. data/doc/opening_databases.rdoc +0 -439
  40. data/doc/postgresql.rdoc +0 -611
  41. data/doc/prepared_statements.rdoc +0 -144
  42. data/doc/querying.rdoc +0 -1070
  43. data/doc/reflection.rdoc +0 -120
  44. data/doc/release_notes/5.0.0.txt +0 -159
  45. data/doc/release_notes/5.1.0.txt +0 -31
  46. data/doc/release_notes/5.10.0.txt +0 -84
  47. data/doc/release_notes/5.11.0.txt +0 -83
  48. data/doc/release_notes/5.12.0.txt +0 -141
  49. data/doc/release_notes/5.13.0.txt +0 -27
  50. data/doc/release_notes/5.14.0.txt +0 -63
  51. data/doc/release_notes/5.15.0.txt +0 -39
  52. data/doc/release_notes/5.16.0.txt +0 -110
  53. data/doc/release_notes/5.17.0.txt +0 -31
  54. data/doc/release_notes/5.18.0.txt +0 -69
  55. data/doc/release_notes/5.19.0.txt +0 -28
  56. data/doc/release_notes/5.2.0.txt +0 -33
  57. data/doc/release_notes/5.20.0.txt +0 -89
  58. data/doc/release_notes/5.21.0.txt +0 -87
  59. data/doc/release_notes/5.22.0.txt +0 -48
  60. data/doc/release_notes/5.23.0.txt +0 -56
  61. data/doc/release_notes/5.24.0.txt +0 -56
  62. data/doc/release_notes/5.25.0.txt +0 -32
  63. data/doc/release_notes/5.26.0.txt +0 -35
  64. data/doc/release_notes/5.27.0.txt +0 -21
  65. data/doc/release_notes/5.28.0.txt +0 -16
  66. data/doc/release_notes/5.29.0.txt +0 -22
  67. data/doc/release_notes/5.3.0.txt +0 -121
  68. data/doc/release_notes/5.30.0.txt +0 -20
  69. data/doc/release_notes/5.31.0.txt +0 -148
  70. data/doc/release_notes/5.32.0.txt +0 -46
  71. data/doc/release_notes/5.33.0.txt +0 -24
  72. data/doc/release_notes/5.34.0.txt +0 -40
  73. data/doc/release_notes/5.35.0.txt +0 -56
  74. data/doc/release_notes/5.36.0.txt +0 -60
  75. data/doc/release_notes/5.37.0.txt +0 -30
  76. data/doc/release_notes/5.38.0.txt +0 -28
  77. data/doc/release_notes/5.39.0.txt +0 -19
  78. data/doc/release_notes/5.4.0.txt +0 -80
  79. data/doc/release_notes/5.40.0.txt +0 -40
  80. data/doc/release_notes/5.41.0.txt +0 -25
  81. data/doc/release_notes/5.42.0.txt +0 -136
  82. data/doc/release_notes/5.43.0.txt +0 -98
  83. data/doc/release_notes/5.44.0.txt +0 -32
  84. data/doc/release_notes/5.45.0.txt +0 -34
  85. data/doc/release_notes/5.46.0.txt +0 -87
  86. data/doc/release_notes/5.47.0.txt +0 -59
  87. data/doc/release_notes/5.48.0.txt +0 -14
  88. data/doc/release_notes/5.49.0.txt +0 -59
  89. data/doc/release_notes/5.5.0.txt +0 -61
  90. data/doc/release_notes/5.50.0.txt +0 -78
  91. data/doc/release_notes/5.51.0.txt +0 -47
  92. data/doc/release_notes/5.52.0.txt +0 -87
  93. data/doc/release_notes/5.53.0.txt +0 -23
  94. data/doc/release_notes/5.54.0.txt +0 -27
  95. data/doc/release_notes/5.55.0.txt +0 -21
  96. data/doc/release_notes/5.56.0.txt +0 -51
  97. data/doc/release_notes/5.57.0.txt +0 -23
  98. data/doc/release_notes/5.58.0.txt +0 -31
  99. data/doc/release_notes/5.59.0.txt +0 -73
  100. data/doc/release_notes/5.6.0.txt +0 -31
  101. data/doc/release_notes/5.60.0.txt +0 -22
  102. data/doc/release_notes/5.61.0.txt +0 -43
  103. data/doc/release_notes/5.62.0.txt +0 -132
  104. data/doc/release_notes/5.63.0.txt +0 -33
  105. data/doc/release_notes/5.64.0.txt +0 -50
  106. data/doc/release_notes/5.65.0.txt +0 -21
  107. data/doc/release_notes/5.66.0.txt +0 -24
  108. data/doc/release_notes/5.67.0.txt +0 -32
  109. data/doc/release_notes/5.68.0.txt +0 -61
  110. data/doc/release_notes/5.69.0.txt +0 -26
  111. data/doc/release_notes/5.7.0.txt +0 -108
  112. data/doc/release_notes/5.70.0.txt +0 -35
  113. data/doc/release_notes/5.71.0.txt +0 -21
  114. data/doc/release_notes/5.72.0.txt +0 -33
  115. data/doc/release_notes/5.73.0.txt +0 -66
  116. data/doc/release_notes/5.74.0.txt +0 -45
  117. data/doc/release_notes/5.75.0.txt +0 -35
  118. data/doc/release_notes/5.76.0.txt +0 -86
  119. data/doc/release_notes/5.77.0.txt +0 -63
  120. data/doc/release_notes/5.78.0.txt +0 -67
  121. data/doc/release_notes/5.79.0.txt +0 -28
  122. data/doc/release_notes/5.8.0.txt +0 -170
  123. data/doc/release_notes/5.80.0.txt +0 -40
  124. data/doc/release_notes/5.81.0.txt +0 -31
  125. data/doc/release_notes/5.82.0.txt +0 -61
  126. data/doc/release_notes/5.9.0.txt +0 -99
  127. data/doc/schema_modification.rdoc +0 -679
  128. data/doc/security.rdoc +0 -443
  129. data/doc/sharding.rdoc +0 -286
  130. data/doc/sql.rdoc +0 -648
  131. data/doc/testing.rdoc +0 -204
  132. data/doc/thread_safety.rdoc +0 -15
  133. data/doc/transactions.rdoc +0 -250
  134. data/doc/validations.rdoc +0 -558
  135. data/doc/virtual_rows.rdoc +0 -265
data/CHANGELOG DELETED
@@ -1,1377 +0,0 @@
1
- === 5.82.0 (2024-07-01)
2
-
3
- * Limit tactically eager loading to objects that have the same association reflection (jeremyevans) (#2181)
4
-
5
- * Fix race condition in threaded/sharded_threaded connection pools that could cause stalls (jeremyevans)
6
-
7
- * Emulate dropping a unique column or a column that is part of an index on SQLite 3.35.0+ (jeremyevans) (#2176)
8
-
9
- * Support MERGE RETURNING on PostgreSQL 17+ (jeremyevans)
10
-
11
- * Remove use of logger library in bin/sequel (jeremyevans)
12
-
13
- * Support :connect_opts_proc Database option for late binding options (jeremyevans) (#2164)
14
-
15
- === 5.81.0 (2024-06-01)
16
-
17
- * Fix ignored block warnings in a couple plugin apply methods on Ruby 3.4 (jeremyevans)
18
-
19
- * Skip Ruby internal caller locations when searching for caller locations in caller_logging and provenance extensions (jeremyevans)
20
-
21
- * Add temporarily_release_connection Database extension for multithreaded transactional testing (jeremyevans)
22
-
23
- === 5.80.0 (2024-05-01)
24
-
25
- * Support Dataset#skip_locked on MariaDB 10.6+ (simi) (#2150)
26
-
27
- * Avoid allocating datasets in cases where the returned dataset would be the same as the receiver (jeremyevans)
28
-
29
- * Add provenance dataset extension, which includes comments in queries showing how and where the dataset was built (jeremyevans)
30
-
31
- === 5.79.0 (2024-04-01)
32
-
33
- * Support create_or_replace_view with :materialized option on PostgreSQL (nashby) (#2144)
34
-
35
- * Support :unlogged_tables_default Database option on Postgres for making created tables unlogged by default (jeremyevans) (#2134)
36
-
37
- * Add Dataset#select_prepend for prepending to the current selected columns (jeremyevans) (#2139)
38
-
39
- === 5.78.0 (2024-03-01)
40
-
41
- * Support SQLite 3.45+ jsonb functions in the sqlite_json_ops extension (jeremyevans) (#2133)
42
-
43
- * Support compounds (e.g. UNION) in conjunction with Database#values on PostgreSQL (jeremyevans) (#2137)
44
-
45
- * Support :use_advisory_lock option to Migrator.run to use advisory locks when running migrations (jeremyevans) (#2089)
46
-
47
- * Support Database#with_advisory_lock on PostgreSQL, MySQL, and Microsoft SQL Server (jeremyevans) (#2089)
48
-
49
- === 5.77.0 (2024-02-01)
50
-
51
- * Support create_table :without_rowid option on SQLite (loranger32) (#2126)
52
-
53
- * Warn by default if trying to eager_graph/association_join an association that uses a block, when the block would be ignored (jeremyevans)
54
-
55
- * Speed up validates_unique in validation_helpers plugin by using empty? instead of count == 0 (numbata) (#2122)
56
-
57
- * Speed up regexp matches in sqlite adapter on Ruby 2.4+ (jeremyevans)
58
-
59
- * Add sqlite adapter :regexp_function_cache option for specifying the cache object to use (paddor, jeremyevans) (#2116)
60
-
61
- * Respect list plugin :top option when inserting the first row into the model's table (johanmagnusson) (#2115)
62
-
63
- * Switch default connection pool to timed_queue on Ruby 3.4+ (jeremyevans)
64
-
65
- * Support on_duplicate_columns={raise,warn} parameter in connection URL when using duplicate_columns_handler extension (jeremyevans)
66
-
67
- * Add transaction_connection_validator extension for retrying transactions on new connection if there is a disconnect error when starting transaction (jeremyevans)
68
-
69
- === 5.76.0 (2024-01-01)
70
-
71
- * Improve performance and flexibility of regexp matching in sqlite adapter (paddor) (#2108)
72
-
73
- * Support SQL::Identifier for Database#tables :schema option values on PostgreSQL (jeremyevans)
74
-
75
- * Support generating rcte queries using UNION or UNION ALL in the rcte plugin (jonathanfrias) (#2107)
76
-
77
- * Make Database#table_exists? on PostgreSQL handle lock or statement timeout errors as evidence the table exists (jeremyevans) (#2106)
78
-
79
- * Work around DateTime.jd fractional second bug on JRuby in named_timezones extension (jeremyevans)
80
-
81
- * Support fractional times and timestamps on SQLAnywhere (jeremyevans)
82
-
83
- * Make round_timestamps extension use Dataset#sqltime_precision for rounding Sequel::SQLTime values (jeremyevans)
84
-
85
- * Remove special handling of %N modifier in Dataset#default_timestamp_format (jeremyevans)
86
-
87
- * Add Dataset#default_time_format private method, for adapters to override for time (not timestamp) formatting (jeremyevans)
88
-
89
- * Remove Dataset#format_timestamp_offset private method (jeremyevans)
90
-
91
- * Remove special handling of %z modifier in Dataset#default_timestamp_format (jeremyevans)
92
-
93
- * Add Dataset#literal_date_or_time, for simpler use by bound argument code (jeremyevans)
94
-
95
- * Add auto_cast_date_and_time extension, for casting date and time values using SQL standard functions (jeremyevans)
96
-
97
- === 5.75.0 (2023-12-01)
98
-
99
- * Make any_not_empty? extension support passing pattern argument to any? (jeremyevans) (#2100)
100
-
101
- * Respect :skip_transaction option in PostgreSQL Dataset#paged_each (jeremyevans) (#2097)
102
-
103
- * Add TimestampMigrator.run_single to run a single migration file up or down (opya, jeremyevans) (#2093)
104
-
105
- * Support INSERT RETURNING on MariaDB 10.5+, and use it when saving new model objects (jeremyevans)
106
-
107
- * Add Database#{defer,immediate}_constraints on PostgreSQL for changing handling of deferrable constraints in a transaction (jeremyevans)
108
-
109
- === 5.74.0 (2023-11-01)
110
-
111
- * Make generated columns show up in Database#schema when using SQLite 3.37+ (jeremyevans) (#2087)
112
-
113
- * Add revert method for Sequel.migration blocks, to revert changes inside the block on up, and apply the changes on down (jeremyevans)
114
-
115
- * Re-add is_json and is_not_json methods to the pg_json_ops extension, as the support was re-added in PostgreSQL 16 (jeremyevans)
116
-
117
- * Avoid infinite loop when handling exceptions with a cause loop in jdbc adapter (jeremyevans)
118
-
119
- === 5.73.0 (2023-10-01)
120
-
121
- * Handle disconnect errors in ibmdb and jdbc/db2 adapters (jeremyevans) (#2083)
122
-
123
- * Support skipping transactions in Dataset#{import,paged_each} using :skip_transaction option (jeremyevans)
124
-
125
- * Add Database#transaction :skip_transaction option to skip creating a transaction or savepoint (jeremyevans)
126
-
127
- * Stop using a transaction for a single query if calling Dataset#import with a dataset (jeremyevans)
128
-
129
- * Add paged_operations plugin for paged deletes and updates and other custom operations (jeremyevans) (#2080)
130
-
131
- * Support to_tsquery: :websearch option to Dataset#full_text_search on PostgreSQL 11+ (jeremyevans) (#2075)
132
-
133
- * Add MassAssignmentRestriction#model and #column for getting the model instance and related column for mass assignment errors (artofhuman, jeremyevans) (#2079)
134
-
135
- * Stop using base64 library in column_encryption plugin (jeremyevans)
136
-
137
- === 5.72.0 (2023-09-01)
138
-
139
- * Sort caches before marshalling when using schema_caching, index_caching, static_cache_cache, and pg_auto_constraint_validations (jeremyevans)
140
-
141
- * Change the defaults_setter plugin do a deep-copy of database default hash/array values and delegates (jeremyevans) (#2069)
142
-
143
- * Add pg_auto_parameterize_in_array extension, for converting IN/NOT IN to = ANY or != ALL for more types (jeremyevans)
144
-
145
- * Fix literalization of infinite and NaN float values in PostgreSQL array bound variables (jeremyevans)
146
-
147
- === 5.71.0 (2023-08-01)
148
-
149
- * Support ILIKE ANY on PostgreSQL by not forcing the use of ESCAPE for ILIKE (gilesbowkett) (#2066)
150
-
151
- * Add pg_xmin_optimistic_locking plugin for optimistic locking for all models without database changes (jeremyevans)
152
-
153
- * Recognize the xid PostgreSQL type as an integer type in the jdbc/postgresql adapter (jeremyevans)
154
-
155
- * Make set_column_allow_null method reversible in migrations (enescakir) (#2060)
156
-
157
- === 5.70.0 (2023-07-01)
158
-
159
- * Make static_cache plugin better handle cases where forbid_lazy_load plugin is already loaded (jeremyevans)
160
-
161
- * Fix ShardedThreadedConnectionPool#remove_server to disconnect all connections if removing multiple servers (jeremyevans)
162
-
163
- * Support SEQUEL_DEFAULT_CONNECTION_POOL environment variable for choosing connection pool when :pool_class Database option is not set (jeremyevans)
164
-
165
- * Add sharded_timed_queue connection pool (jeremyevans)
166
-
167
- * Make connection_{validator,expiration} and async_thread_pool extensions work with timed_queue connection pool (jeremyevans)
168
-
169
- * Make connection_{validator,expiration} extensions raise error when used with single threaded pools (HoneyryderChuck, jeremyevans) (#2049)
170
-
171
- * Workaround possible resource starvation in threaded connection pool (ioquatix) (#2048)
172
-
173
- === 5.69.0 (2023-06-01)
174
-
175
- * Avoid unsupported flag warning when using the mysql adapter with ruby-mysql 3+ (jeremyevans)
176
-
177
- * Make mysql adapter work with ruby-mysql 4+ (jeremyevans)
178
-
179
- * Add Model::DatasetModule#model accessor (davekaro) (#2040)
180
-
181
- * Add trilogy adapter (jeremyevans)
182
-
183
- === 5.68.0 (2023-05-01)
184
-
185
- * Add validation_helpers_generic_type_messages plugin for more useful type validation failure messages (jeremyevans) (#2028)
186
-
187
- * Make constraint_validations plugin not validate missing columns that have a default value (jeremyevans) (#2023)
188
-
189
- * Skip normal type name parsing for enum/array/composite/range/multirange types on PostgreSQL (jeremyevans) (#2019)
190
-
191
- * Fix corner case where pg_extended_date_support did not work correctly when using the jdbc/postgresql adapter (jeremyevans)
192
-
193
- * Include :min_value and :max_value schema entries for date/timestamp/timestamptz columns on PostgreSQL 9.6+ (jeremyevans)
194
-
195
- === 5.67.0 (2023-04-01)
196
-
197
- * Fix dumping of string column sizes in the schema dumper on MSSQL (jeremyevans) (#2013)
198
-
199
- * Improve dumping of tables in non-default schemas in the schema_dumper extension (jeremyevans) (#2006)
200
-
201
- * Make Database#{tables,views} support :qualify option on Microsoft SQL Server (jeremyevans)
202
-
203
- * Avoid use of singleton classes for datasets instances on Ruby 2.4+ (jeremyevans) (#2007)
204
-
205
- * Deprecate registering datasets extensions using an object other than a module (jeremyevans)
206
-
207
- * Add set_literalizer extension, for treating set usage in datasets similar to array usage (jeremyevans) (#1997)
208
-
209
- === 5.66.0 (2023-03-01)
210
-
211
- * Recognize SQLite error related to strict tables as a constraint violation when using the amalgalite adapter (jeremyevans)
212
-
213
- * Make Dataset#count work correctly for datasets using Dataset#values (jeremyevans) (#1992)
214
-
215
- * Make Dataset#count with no argument/block handle dataset with custom SQL using ORDER BY on MSSQL (jeremyevans)
216
-
217
- * Make Dataset#empty? correctly handle datasets with custom SQL or using Dataset#values where the first value is NULL (andy-k, jeremyevans) (#1990)
218
-
219
- === 5.65.0 (2023-02-01)
220
-
221
- * Allow pg_auto_parameterize extension to use placeholder loaders (jeremyevans)
222
-
223
- * Do not include :min_value and :max_value schema entries for decimal/numeric columns on MySQL versions not supporting check constraints (jeremyevans)
224
-
225
- * Make Database#indexes return indexes for partitioned tables on PostgreSQL 11+ (jeremyevans)
226
-
227
- === 5.64.0 (2023-01-01)
228
-
229
- * Make :db_type column schema entries on SQLAnywhere include precision/scale information (jeremyevans)
230
-
231
- * Include :min_value and :max_value schema entries for decimal/numeric columns on most databases (rolftimmermans, jeremyevans) (#1975)
232
-
233
- * Support :graph_use_association_block association option to make eager_graph use the association block (jeremyevans)
234
-
235
- * Make many_through_many and many_through_one associations support eager_graph callbacks (jeremyevans)
236
-
237
- === 5.63.0 (2022-12-01)
238
-
239
- * Make validates_associated plugin avoid database type errors for non-integer association keys (jeremyevans) (#1968)
240
-
241
- * Make tactical_eager_loading plugin work better with table inheritance plugins (rolftimmermans, jeremyevans) (#1962)
242
-
243
- * Add support for pool_class: :timed_queue on Ruby 3.2+, using a Queue for available connections (jeremyevans)
244
-
245
- * Allow :pool_class Database option to be specified as a string to more easily choose a different pool type (jeremyevans)
246
-
247
- * Use compare_by_identity hashes for Thread-keyed hashes in threaded connection pools (jeremyevans)
248
-
249
- * Skip use of JRuby workaround on JRuby 9.3.9.0+ in named_timezones extension as JRuby fixed the related bug (jeremyevans)
250
-
251
- === 5.62.0 (2022-11-01)
252
-
253
- * Add back the pg_auto_parameterize extension for automatically using bound variables when using postgres adapter with pg driver (jeremyevans)
254
-
255
- * Add pg_extended_integer_support extension for customizing behavior when literalizing a Ruby integer outside PostgreSQL bigint range (jeremyevans)
256
-
257
- * Raise Postgres::IntegerOutsideBigintRange if attempting to literalize a Ruby integer outside PostgreSQL bigint range (jeremyevans)
258
-
259
- * Add primary_key_lookup_check_values plugin for typecasting and checking primary key values during lookup (jeremyevans)
260
-
261
- * Setup validation of minimum and maximum values for integer columns in auto_validations (jeremyevans)
262
-
263
- * Add validates_max_value and validates_min_value to validation_helpers (jeremyevans)
264
-
265
- * Include :min_value and :max_value schema entries for integer columns on most databases (jeremyevans)
266
-
267
- * Don't wrap multi-inserts in a transaction when it's not required (shannoncole, jeremyevans) (#1945)
268
-
269
- * Update mock PostgreSQL adapter to default to PostgreSQL 15 instead of PostgreSQL 14 (jeremyevans)
270
-
271
- * Support fractional seconds in the named_timezones extension (jeremyevans) (#1943)
272
-
273
- * Cache reflection datasets in the postgres adapter to improve performance (jeremyevans)
274
-
275
- * Handle BC dates and timestamps in bound variables when using the pg_extended_date_support extension (jeremyevans)
276
-
277
- * Correctly format hstore[] types in bound variables on PostgreSQL (jeremyevans)
278
-
279
- * Fix corner case in eager loading where window function eager limit strategy is used, but row number entry is not removed (jeremyevans)
280
-
281
- * Support server/shard specific :after_connect and :connect_sqls Database options (jeremyevans) (#1935)
282
-
283
- === 5.61.0 (2022-10-01)
284
-
285
- * Make Database#foreign_key_list on PostgreSQL return results for partitioned tables (jeremyevans)
286
-
287
- * Add Database#check_string_typecast_bytesize for checking bytesize of strings before typecasting (jeremyevans)
288
-
289
- * Treat negative hexidecimal strings similar to positive hexidecimal strings when typecasting to integer (jeremyevans)
290
-
291
- * Remove is_json and is_not_json methods from the pg_json_ops extension, as the support was removed in PostgreSQL 15 beta 4 (jeremyevans)
292
-
293
- * Fix handling of timestamps before the date of calendar reform when using pg_extended_date_support extension on Ruby 3.2 (jeremyevans)
294
-
295
- === 5.60.1 (2022-09-02)
296
-
297
- * Revert conversion of respond_to? to defined?, as it breaks with unused refinements on Ruby 2 (jeremyevans) (#1919)
298
-
299
- === 5.60.0 (2022-09-01)
300
-
301
- * Support arbitrary expressions for date_arithmetic interval values on PostgreSQL 9.4+ (jeremyevans)
302
-
303
- * Support native IS DISTINCT FROM on SQLite 3.39+ instead of emulating support in the is_distinct_from extension (jeremyevans)
304
-
305
- * Support HAVING without GROUP BY on SQLite 3.39+ (jeremyevans)
306
-
307
- * Convert most respond_to? calls to equivalent defined? for better performance (jeremyevans)
308
-
309
- === 5.59.0 (2022-08-01)
310
-
311
- * Set :allow_eager association option to false for instance specific associations without eager loaders (jeremyevans)
312
-
313
- * Add require_valid_schema plugin for checking that model classes have schema parsed as expected (jeremyevans)
314
-
315
- * Model classes created from aliased expressions and literal strings no longer use the simple table optimization (jeremyevans)
316
-
317
- * Model code that does not swallow connection errors will now also not swallow disconnect errors (jeremyevans) (#1892)
318
-
319
- * Add is_json and is_not_json methods to the pg_json_ops extension, for the PostgreSQL 15+ IS [NOT] JSON operator (jeremyevans)
320
-
321
- * Support :security_invoker view option on PostgreSQL 15+, for views where access uses permissions of user instead of owner (jeremyevans)
322
-
323
- * Support :nulls_distinct index option on PostgreSQL 15+, for NULLS [NOT] DISTINCT (jeremyevans)
324
-
325
- * Support sequel-postgres-pr driver in the postgres adapter (jeremyevans)
326
-
327
- === 5.58.0 (2022-07-01)
328
-
329
- * Support :disable_split_materialized Database option on MySQL to work around optimizer bug in MariaDB 10.5+ affecting association tests (jeremyevans)
330
-
331
- * Add Dataset#merge* methods to support MERGE statement on PostgreSQL 15+, MSSQL, Oracle, DB2, H2, HSQLDB, and Derby (jeremyevans)
332
-
333
- === 5.57.0 (2022-06-01)
334
-
335
- * Make Database#create_function on PostgreSQL accept :parallel option (bananarne) (#1870)
336
-
337
- * Add support for :on_update_current_timestamp column option on MySQL (jeremyevans)
338
-
339
- * Add is_distinct_from extension with support for the IS DISTINCT FROM operator (jeremyevans)
340
-
341
- === 5.56.0 (2022-05-01)
342
-
343
- * Make alter_table add_column/add_foreign_key methods support :index option to create an index on the column (jeremyevans)
344
-
345
- * Support creation of STRICT tables on SQLite 3.37.0+ via create_table :strict option (jeremyevans)
346
-
347
- * Add sqlite_json_ops extension for DSL support for JSON functions and operators added in SQLite 3.38.0 (jeremyevans)
348
-
349
- * Recognize "INTEGER" type same as "integer" type in the schema dumper, helpful on SQLite 3.37.0+ (jeremyevans)
350
-
351
- === 5.55.0 (2022-04-01)
352
-
353
- * Support :setup_regexp_function Database option in the sqlite adapter to allow the use of regexps when querying (jeremyevans)
354
-
355
- * Add auto_restrict_eager_graph plugin for automatically disallow eager_graph with associations needing but lacking graph options (jeremyevans)
356
-
357
- * Fix placeholder literalizer optimization for dataset aggregate methods on a model dataset (belousovAV) (#1847, #1848)
358
-
359
- === 5.54.0 (2022-03-01)
360
-
361
- * Add enum plugin for treating columns as enums in a model (jeremyevans) (#1839)
362
-
363
- === 5.53.0 (2022-02-01)
364
-
365
- * Make Dataset#_sql_comment private when using the Database sql_comments extension (jeremyevans)
366
-
367
- * Fix prepared statements in the mysql2 adapter to reuse native prepared statements (jeremyevans) (#1832)
368
-
369
- * Support H2 version 2+ in the jdbc/h2 adapter (jeremyevans) (#1817)
370
-
371
- * Work around active_support breaking subclasses plugin on Ruby <3.1 (jeremyevans) (#1816)
372
-
373
- * Fix error handling if trying to setup column_encryption plugin without keys (jeremyevans) (#1815)
374
-
375
- === 5.52.0 (2022-01-01)
376
-
377
- * Use Class#subclasses if available in the subclasses plugin, instead of a custom Model.subclasses accessor (jeremyevans)
378
-
379
- * Add Model.descendants and .freeze_descendants to subclasses plugin (jeremyevans)
380
-
381
- * Avoid use of deprecated Refinement#include on Ruby 3.1+ (jeremyevans)
382
-
383
- * Add date_parse_input_handler extension for custom handling of input to date parsing methods (jeremyevans)
384
-
385
- * Make postgres adapter respect Database#default_string_column_size (jeremyevans)
386
-
387
- * Make pg_interval extension work with ActiveSupport 7.0 (jeremyevans)
388
-
389
- * Make :ruby_default schema entry for type: :datetime respect Sequel.datetime_class (jeremyevans)
390
-
391
- * Make alter_table drop_constraint have an effect on MySQL 8.0.19+ (jeremyevans)
392
-
393
- * Make mysql adapter support ruby-mysql 3 API (jeremyevans) (#1795)
394
-
395
- * Make mysql adapter no longer use connection's server_version, since it isn't accurate when using the ruby-mysql driver (jeremyevans)
396
-
397
- * Add sql_comments plugin for automatically including comments on queries generated by model class, instance, and dataset methods (jeremyevans)
398
-
399
- * Make sql_comments Database extension support Database#with_comments, for automatically including comments for queries executed inside the block (jeremyevans)
400
-
401
- * Fix sql_comments extension to not modify cached SQL for a dataset (jeremyevans)
402
-
403
- === 5.51.0 (2021-12-01)
404
-
405
- * Make eager loading via tactical_eager_loading no longer modify objects who already have a cached value for the association (jeremyevans)
406
-
407
- * Make association cloning handle cases where clone association sets different :class option than cloned association (jeremyevans)
408
-
409
- * Make column schema entries on MySQL include an :extra entry for the Extra column in DESCRIBE output (bschmeck) (#1791)
410
-
411
- * Update mock PostgreSQL adapter to default to PostgreSQL 14 instead of PostgreSQL 9.5 (jeremyevans)
412
-
413
- * Support Dataset#with_recursive :search and :cycle options on PostgreSQL 14+ for result ordering and cycle detection (jeremyevans)
414
-
415
- * Avoid method redefined verbose mode warnings in lazy_attributes plugin (jeremyevans)
416
-
417
- === 5.50.0 (2021-11-01)
418
-
419
- * Make Migrator :allow_missing_migration_files also allow down migrations where the current database version is greater than the last migration file version (francisconeves97) (#1789)
420
-
421
- * Fix Model#freeze in composition, serialization, and serialization_modification_detection plugins to return self (jeremyevans) (#1788)
422
-
423
- * Fix typecasting of lazy columns when using lazy_attributes plugin in model where dataset selects from subquery (jeremyevans)
424
-
425
- * Add :before_preconnect Database option, for configuring extensions loaded via :preconnect_extensions (MarcPer, jeremyevans) (#1786)
426
-
427
- * Change Dataset#columns! to use a LIMIT 0 query instead of a LIMIT 1 query (jeremyevans)
428
-
429
- * Add sql_log_normalizer extension for normalizing logged SQL, helpful for analytics and sensitive data (jeremyevans)
430
-
431
- * Add support for range_merge, multirange, and unnest, and PGMultiRange#op to pg_range_ops extension (jeremyevans)
432
-
433
- * Add pg_multirange extension with support for PostgreSQL 14+ multirange types (jeremyevans)
434
-
435
- === 5.49.0 (2021-10-01)
436
-
437
- * Switch block_given? usage to defined?(yield) (jeremyevans)
438
-
439
- * Support table aliases for JOIN USING columns on PostgreSQL 14+ (jeremyevans)
440
-
441
- * Support calling PostgreSQL procedures without arguments (jeremyevans)
442
-
443
- * Support hstore subscripts in pg_hstore_ops on PostgreSQL 14+, for updating only part of an hstore value (jeremyevans)
444
-
445
- * Support JSONB subscripts in pg_json_ops on PostgreSQL 14+, for updating only part of a JSONB value (jeremyevans)
446
-
447
- * Support SQL::Expression#sequel_ast_transform for custom AST transforms on arbitrary expressions (jeremyevans)
448
-
449
- * Add Database#create_trigger :replace option on PostgreSQL 14+ for CREATE OR REPLACE TRIGGER (jeremyevans)
450
-
451
- * Make auto_validations plugin automatically setup no_null_byte validations (jeremyevans)
452
-
453
- * Add Model#validates_no_null_byte to validation_helpers plugin (jeremyevans)
454
-
455
- === 5.48.0 (2021-09-01)
456
-
457
- * Make the unused_associations plugin association reflection tracking work correctly when combining coverage runs (jeremyevans)
458
-
459
- * Add Database#like_without_collate on MSSQL, to avoid using COLLATE on LIKE arguments, which can significantly improve performance (jeremyevans)
460
-
461
- * Add Model::Errors#full_message private method for easiest i18n support for errors with multiple attributes (jeremyevans) (#1779)
462
-
463
- === 5.47.0 (2021-08-01)
464
-
465
- * Make the unused_associations plugin track access to association reflections to determine whether associations are used (jeremyevans)
466
-
467
- * Support :db option for join tables in {many,one}_through_many to use a separate query for each join table (jeremyevans)
468
-
469
- * Support :join_table_db option for many_to_many/one_through_one associations, to use a separate query for the join table (jeremyevans)
470
-
471
- * Support :allow_eager_graph and :allow_filtering_by association options (jeremyevans)
472
-
473
- * Add Database#rename_tables on MySQL, for renaming multiple tables in a single call (nick96) (#1774)
474
-
475
- * Support Dataset#returning on SQLite 3.35+ (jeremyevans)
476
-
477
- === 5.46.0 (2021-07-01)
478
-
479
- * Add unused_associations plugin, for determining which associations and association methods are not used (jeremyevans)
480
-
481
- * Make nil :setter/:adder/:remover/:clearer association options not create related methods (jeremyevans)
482
-
483
- === 5.45.0 (2021-06-01)
484
-
485
- * Fix handling of NULL values in boolean columns in the ODBC adapter (jeremyevans) (#1765)
486
-
487
- * Add auto_validations_constraint_validations_presence_message plugin for auto_validations/constraint_validations presence message integration (jeremyevans)
488
-
489
- * Support Dataset#with :materialized option on SQLite 3.35+ for [NOT] MATERIALIZED (jeremyevans)
490
-
491
- * Use ALTER TABLE DROP COLUMN for dropping columns on SQLite 3.35+ (jeremyevans)
492
-
493
- === 5.44.0 (2021-05-01)
494
-
495
- * Add concurrent_eager_loading plugin, for eager loading multiple associations concurrently using separate threads (jeremyevans)
496
-
497
- * Support :weeks as a interval unit in the date_arithmetic extension (jeremyevans) (#1759)
498
-
499
- * Raise an exception if an interval hash with an unsupported key is passed in the date_arithmetic extension (jeremyevans) (#1759)
500
-
501
- * Support dropping non-composite unique constraints on SQLite (jeremyevans) (#1755)
502
-
503
- === 5.43.0 (2021-04-01)
504
-
505
- * Add column_encryption plugin, for encrypting column values (jeremyevans)
506
-
507
- === 5.42.0 (2021-03-01)
508
-
509
- * Make the ado timestamp conversion proc a normal conversion proc that can be overridden similar to other conversion procs (jeremyevans)
510
-
511
- * Add :reject_nil option to the nested_attributes method, to ignore calls where nil is passed as the associated object data (jeremyevans)
512
-
513
- * Add async_thread_pool plugin for easier async usage with model classes and support for async destroy, with_pk, and with_pk! methods (jeremyevans)
514
-
515
- * Add async_thread_pool Database extension for executing queries asynchronously using a thread pool (jeremyevans)
516
-
517
- * Fix possible thread safety issue in Database#extension that could allow Module#extended to be called twice with the same Database instance (jeremyevans)
518
-
519
- * Support cases where validations make modifications beyond setting errors in Model#freeze (jeremyevans)
520
-
521
- * Add Model#to_json_data to the json_serializer plugin, returning a JSON data structure (jeremyevans)
522
-
523
- === 5.41.0 (2021-02-01)
524
-
525
- * Have explicit :text option for a String column take priority over :size option on PostgreSQL (jeremyevans) (#1750)
526
-
527
- * Support a :skip_invalid option in auto_validations plugin for not adding errors to a column that already has an error (jeremyevans)
528
-
529
- * Support a :skip_invalid option in validation_helpers for not adding an error to a column that already has an error (jeremyevans)
530
-
531
- * Support :adder, :remover, and :clearer association options that use keyword arguments in Ruby 2.7+ (jeremyevans)
532
-
533
- * Make pg_interval use the same number of seconds per year and per month as ActiveSupport::Duration when using ActiveSupport 5.1+ (jeremyevans)
534
-
535
- === 5.40.0 (2021-01-01)
536
-
537
- * Support UPDATE FROM syntax in SQLite 3.33.0+ (jeremyevans)
538
-
539
- * Have pg_interval extension work with ActiveSupport 6.1 (jeremyevans)
540
-
541
- * Have date_arithmetic extension work with ActiveSupport 6.1 (jeremyevans)
542
-
543
- * Avoid method redefinition warnings in verbose warning mode (jeremyevans)
544
-
545
- === 5.39.0 (2020-12-01)
546
-
547
- * Support :clustered option for primary key and unique constraints on Microsoft SQL Server (jeremyevans)
548
-
549
- * Do not modify the size of binary columns when using set_column_allow_null on Microsoft SQL Server (jeremyevans) (#1736)
550
-
551
- * Add a fork safety guide with more detail on how to use Sequel with libraries that fork (janko) (#1733)
552
-
553
- * Make the roots_dataset method in the tree plugin work with queries using joins (jeremyevans) (#1731)
554
-
555
- * Make Database#tables return partitioned tables on PostgreSQL 10+ (epoberezhny) (#1729, #1730)
556
-
557
- === 5.38.0 (2020-11-01)
558
-
559
- * Do not add new Database instances to Sequel::DATABASES if the test connection fails (jeremyevans) (#1727)
560
-
561
- * Support the newer com.mysql.cj.jdbc.Driver in the jdbc/mysql adapter (jeremyevans)
562
-
563
- * Do not swallow disconnect errors in Database#create_or_replace_view or Database#create_table* on Oracle (jeremyevans)
564
-
565
- * Only rescue non-disconnect Sequel::DatabaseErrors in Postgres::Database#server_version (jeremyevans) (#1724)
566
-
567
- * Make the single_table_inheritance and prepared_statements plugins work if loaded into the same class (jeremyevans) (#1721)
568
-
569
- === 5.37.0 (2020-10-01)
570
-
571
- * Recognize more unsigned decimal/float types in the schema dumper (akimd, jeremyevans) (#1720)
572
-
573
- * Add Postgres::PGRow::{Array,Hash}Row#op to the pg_row_ops extension if the pg_row extension is loaded (jeremyevans)
574
-
575
- * Add Model#column_previously_was and #column_previously_changed? to the dirty plugin (jeremyevans)
576
-
577
- * Raise Migrator::Error if attempting to migrate down to a version where there are necessary migration files missing (jeremyevans) (#1716)
578
-
579
- === 5.36.0 (2020-09-01)
580
-
581
- * Handle passing keyword arguments through class methods defined via Plugins.def_dataset_method on Ruby 2.7+ (jeremyevans)
582
-
583
- * Handle passing keyword arguments through when loading plugins on Ruby 2.7+ (jeremyevans)
584
-
585
- * Handle passing keyword arguments through migrations when defining custom Database methods that accept keywords on Ruby 2.7+ (jeremyevans)
586
-
587
- * Handle passing keyword arguments through Dataset#query when using the query extension on Ruby 2.7+ (jeremyevans)
588
-
589
- * Handle passing keyword arguments through the association proxy when using the association_proxies plugin on Ruby 2.7+ (jeremyevans)
590
-
591
- * Handle passing keyword arguments through the class method to a method defined in dataset_module on Ruby 2.7+ (adam12) (#1713)
592
-
593
- * Stream result sets in the odbc adapter for better performance and lower memory usage (sparrovv) (#1711)
594
-
595
- * Add Postgres::JSONBOp#set_lax and #path_*_tz methods to the pg_json_ops extension for new jsonb functions added in PostgreSQL 13 (jeremyevans)
596
-
597
- * Add Dataset#with_ties on PostgreSQL 13+ and Microsoft SQL Server to include rows with same order as final row (jeremyevans)
598
-
599
- * Add a :current_schema option to Database#view_exists? (only defined on Oracle) to look in the current schema instead of non-system schemas (jeremyevans) (#1710)
600
-
601
- * Recognize another disconnect error in the mysql and mysql2 adapters (jeremyevans) (#1706)
602
-
603
- === 5.35.0 (2020-08-01)
604
-
605
- * Recognize another disconnect error in the oracle adapter (sterlzbd) (#1705)
606
-
607
- * Consider all associations with :dataset options as instance-specific associations (jeremyevans)
608
-
609
- * Make Model.finalize_associations not break with instance-specific associations (jeremyevans)
610
-
611
- * Make association placeholder loader consider block if instance_specific: false association option is used (jeremyevans)
612
-
613
- * Copy composite unique constraints when emulating alter table operations on SQLite (jeremyevans) (#1704)
614
-
615
- * Add instance_specific_default plugin for setting default association :instance_specific value, or warning/raising for cases where it is not specified (jeremyevans)
616
-
617
- * Make Model.plugin issue deprecation warning if loading plugin with arguments and block if plugin does not accept arguments/block (jeremyevans)
618
-
619
- * Make validation_class_methods consider all :if, :allow_missing, :allow_nil, and :allow_blank settings, instead of just the first (jeremyevans)
620
-
621
- * Include hash entries with nil keys in Dataset#to_dot output in to_dot extension (jeremyevans)
622
-
623
- * Remove unneeded conditionals from plugins and extensions (jeremyevans)
624
-
625
- * Fix exception class in run_transaction_hooks extension if calling run_after_{commit,rollback}_hooks outside of a transaction (jeremyevans)
626
-
627
- === 5.34.0 (2020-07-01)
628
-
629
- * Make eager_graph work correctly if called with no associations (jeremyevans)
630
-
631
- * Make :ruby eager limit strategy handle cases where there is no limit or offset (jeremyevans)
632
-
633
- * Do not keep a reference to a Sequel::Database instance that raises an exception during initialization (jeremyevans)
634
-
635
- * Make Database#pool.all_connections not yield for a single connection pool in disconnected state (jeremyevans)
636
-
637
- * Raise an exception if trying to disconnect a server that doesn't exist in the sharded connection pools (jeremyevans)
638
-
639
- * Support :refresh option when calling *_pks getter method in the association_pks plugin (jeremyevans)
640
-
641
- * Support caching of repeated calls to *_pks getter method in the association_pks plugin using :cache_pks association option (jeremyevans)
642
-
643
- * Add *_pks_dataset methods for one_to_many and many_to_many associations when using the association_pks plugin (jeremyevans)
644
-
645
- === 5.33.0 (2020-06-01)
646
-
647
- * Support custom join types on a per-association basis when using eager_graph/association_join (jeremyevans)
648
-
649
- * Support primary_key with type: :smallserial on PostgreSQL (j-a-m-l) (#1698)
650
-
651
- * Add Database#current_timestamp_utc accessor on SQLite to keep CURRENT_* in UTC instead of converting to localtime (jeremyevans)
652
-
653
- === 5.32.0 (2020-05-01)
654
-
655
- * Allow Database#create_table? work with :partition_of option on PostgreSQL (jeremyevans) (#1690)
656
-
657
- * Add fiber_concurrency extension, for using Fiber.current instead of Thread.current for checking out connections (jeremyevans)
658
-
659
- * Move most Sequel singleton methods into a module that extends Sequel for easier overriding (jeremyevans)
660
-
661
- * Fix method visibility issues in model, plugin, extension, and adapter code (jeremyevans)
662
-
663
- * Avoid defining conversion procs for PostgreSQL inet/cidr types in pg_inet extension when using sequel_pg 1.13.0+ (jeremyevans)
664
-
665
- * Add run_transaction_hooks Database extension, allowing for running the transaction hooks before commit/rollback, for use with transactional testing (jeremyevans)
666
-
667
- * Recognize timestamp(N) with time zone type (isc) (#1684)
668
-
669
- === 5.31.0 (2020-04-01)
670
-
671
- * Fix alter_table drop_constraint :primary_key option on SQLite for non-integer primary keys (jeremyevans)
672
-
673
- * Add skip_saving_columns plugin, which supports columns to skip when saving, and skips generated columns by default (joeosburn, jeremyevans) (#1681, #1682)
674
-
675
- * Add support for creating partitioned tables in PostgreSQL 10+ using :partition_by and :partition_of options (jeremyevans)
676
-
677
- * Dump generated columns as generated columns when using the schema_dumper with :same_db option on PostgreSQL 12+ (jeremyevans) (#1680)
678
-
679
- * Ignore defaults for generated columns by default when using the schema dumper (jeremyevans) (#1680)
680
-
681
- * Include generated columns in schema on SQLite 3.31+ (jeremyevans)
682
-
683
- * Add :generated schema entry on PostgreSQL 12+ and SQLite 3.31+ for whether the columns is generated (jeremyevans)
684
-
685
- * Add association_lazy_eager_option plugin for supporting :eager option for association method (jeremyevans)
686
-
687
- * Add forbid_lazy_load plugin for forbidding lazy loading of associations, to help find N+1 issues (jeremyevans)
688
-
689
- === 5.30.0 (2020-03-01)
690
-
691
- * Remove specs and old release notes from the gem to reduce gem size by over 40% (jeremyevans)
692
-
693
- * When using Database#transaction :retry_on, call :before_retry option if retrying even if :num_retries is nil (jcmfernandes) (#1678)
694
-
695
- * Support generated columns on SQLite 3.31+ using :generated_always_as and :generated_type options (jeremyevans)
696
-
697
- === 5.29.0 (2020-02-01)
698
-
699
- * Recognize another disconnect error in the tinytds adapter (jeremyevans)
700
-
701
- * Fix verbose warning in postgres adapter when using prepared statements and recent versions of ruby-pg (jeremyevans)
702
-
703
- * Work correctly on Ruby 2.8+ by supporting second argument for initialize_clone (jeremyevans)
704
-
705
- * Add empty_failure_backtraces plugin for empty backtraces for ValidationFailed and HookFailed exceptions, much faster on JRuby (jeremyevans)
706
-
707
- * Add Dataset#json_serializer_opts to json_serializer plugin, allowing to set json_serializer options on a per-dataset basis (jeremyevans)
708
-
709
- === 5.28.0 (2020-01-01)
710
-
711
- * Warn when calling Sequel::JDBC::Postgres::Dataset#with_fetch_size (jeremyevans) (#1665)
712
-
713
- * Add exclude_or_null extension, for filtering datasets where the condition is false or NULL (jeremyevans)
714
-
715
- * Add any_not_empty extension, for making Dataset#any? without a block mean !empty? (jeremyevans)
716
-
717
- === 5.27.0 (2019-12-01)
718
-
719
- * Add Sequel::DEFAULT for a DEFAULT expression, useful for assigning to default values (jeremyevans)
720
-
721
- * Make Postgres::ArrayOp#join in pg_array_ops extension work correctly on PostgreSQL <9.1 (jeremyevans)
722
-
723
- * Make pg_enum extension work correctly on PostgreSQL 8.3-9.0 (jeremyevans)
724
-
725
- * Emulate FILTER clause for aggregate functions using CASE on databases not supporting it directly (jeremyevans)
726
-
727
- * Support ordering by NULLS FIRST/NULLS LAST without emulation on SQLite 3.30+ (jeremyevans)
728
-
729
- === 5.26.0 (2019-11-01)
730
-
731
- * Recognize two additional foreign key constraint violation codes on MySQL 8.0.13+ (rianmcguire) (#1657)
732
-
733
- * Support table aliases for single-table INSERT statements on PostgreSQL 9.5+ (jeremyevans) (#1656)
734
-
735
- * Implement Sequel::Postgres::PGRange#hash so instances work correctly in hashes (jeremyevans) (#1648)
736
-
737
- * Make dirty plugin work correctly with typecast_on_load plugin (jeremyevans) (#1647)
738
-
739
- * Add support for :require_modification option when setting up nested_attributes (jeremyevans)
740
-
741
- * Add support for SQL/JSON path expressions to the pg_json_ops extension, supported by PostgreSQL 12+ (jeremyevans)
742
-
743
- === 5.25.0 (2019-10-01)
744
-
745
- * Fix Sequel::SQL::NumericMethods#coerce to not raise NoMethodError if super method is not defined (jeremyevans) (#1645)
746
-
747
- * Allow setting a default for a column that already has a default on Microsoft SQL Server (jeremyevans)
748
-
749
- * Fix keyword argument separation warnings on Ruby master branch in csv_serializer plugin (jeremyevans)
750
-
751
- * Add association_multi_add_remove plugin for adding/removing multiple associated objects in a single method call (AlexWayfer, jeremyevans) (#1641, #1643)
752
-
753
- * Make sharding plugin integrate with server_block extension (jeremyevans)
754
-
755
- === 5.24.0 (2019-09-01)
756
-
757
- * Add Database#skip_logging? private method designed for extensions to force query timing even if no logger is present (adam12) (#1640)
758
-
759
- * Allow a hostname specified in a defaults_file in the mysql2 adapter, by not explicitly setting :host (sapio-bdeamer) (#1638)
760
-
761
- * Convert all database array types to Ruby arrays in the jdbc adapter (jeremyevans)
762
-
763
- * Add static_cache_cache plugin for caching rows for static_cache models to a file to avoid database queries during model initialization (jeremyevans)
764
-
765
- * Add :cache_file plugin option to pg_auto_constraint_validations plugin, for caching metadata to a file for faster initialization (jeremyevans)
766
-
767
- * Support :unique_deferrable and :primary_key_deferrable column options (jeremyevans)
768
-
769
- * Support :generated_always_as column option on PostgreSQL 12+ (jeremyevans)
770
-
771
- === 5.23.0 (2019-08-01)
772
-
773
- * Work around a bug on jdbc-sqlite3 3.27.2.1 when parsing schema for tables with columns with default values (jeremyevans)
774
-
775
- * Work around a bug in jdbc-sqlite3 3.27.2.1 when in Database#foreign_key_list in the jdbc/sqlite3 adapter (jeremyevans)
776
-
777
- * Make Dataset#execute* private methods respect explicit servers option, fixing Dataset#paged_each in the postgres adapter when sharding (jeremyevans) (#1632)
778
-
779
- * Handle instances of subclasses of core classes when wrapping objects in the pg_json extension (jeremyevans) (#1631)
780
-
781
- * Support :ansi Database option in the tinytds adapter (kenaniah) (#1629)
782
-
783
- * Support cross-database and linked servers when parsing schema on Microsoft SQL Server (kenaniah) (#1629)
784
-
785
- * Add insert_conflict plugin for automatically handling unique constraint conflicts when saving new model instances on PostgreSQL 9.5+ and SQLite 3.24.0+ (jeremyevans)
786
-
787
- * Avoid errors when parsing schema in the mock sqlite adapter (jeremyevans)
788
-
789
- * Avoid possible thread-safety issue in the timezones support (jeremyevans)
790
-
791
- * Handle offsets when typecasting an array or hash to datetime when Sequel.datetime_class = Time (jeremyevans)
792
-
793
- * Support Sequel.datetime_class = Time when using the named_timezones extension (jeremyevans)
794
-
795
- === 5.22.0 (2019-07-01)
796
-
797
- * Fix Dataset#multi_insert and #import with return: :primary_key on MSSQL when the dataset has a row_proc (jeremyevans) (#1627)
798
-
799
- * Support Dataset#with :materialized option on PostgreSQL 12 for [NOT] MATERIALIZED (jeremyevans)
800
-
801
- * Make Database#primary_key_sequence work on tables without serial sequences on PostgreSQL 12 (jeremyevans)
802
-
803
- * Support ruby 2.7+ startless ranges in the pg_range extension (jeremyevans)
804
-
805
- * Support ruby 2.7+ startless, endless ranges in filters, using an always true condition for them (jeremyevans)
806
-
807
- * Support ruby 2.7+ startless ranges in filters, using just a <= or < operator for them (jeremyevans)
808
-
809
- === 5.21.0 (2019-06-01)
810
-
811
- * Recognize additional DatabaseLockTimeout errors in mysql and mysql2 adapters (jeremyevans)
812
-
813
- * Disallow eager_graph of ancestors and descendants associations when using the rcte_tree plugin (jeremyevans)
814
-
815
- * Make jdbc/mysql adapter work when using JRuby with Java 11 (jeremyevans)
816
-
817
- * Support window function options :window, :exclude, and :frame :type=>:groups, :start, and :end on SQLite 3.28.0+ (jeremyevans)
818
-
819
- * Make the server_block extension respect the :servers_hash Database option (jeremyevans)
820
-
821
- * Typecast string input for json/jsonb types as JSON strings instead of parsing as JSON in the pg_json extension when Database#typecast_json_strings is set to true (jeremyevans)
822
-
823
- * Wrap JSON primitives (string, number, true, false, nil) in the pg_json extension when Database#wrap_json_primitives is set to true (jeremyevans)
824
-
825
- * Convert the Database :timeout option to an integer in the sqlite adapter (jeremyevans) (#1620)
826
-
827
- * Improve performance in ado adapter using more efficient inner loop (jeremyevans)
828
-
829
- * Improve performance in ado adapter using faster callables for type conversion (jeremyevans)
830
-
831
- * Fix handling of decimal values in the ado adapter when using locales where the decimal separator is , and not . (jeremyevans) (#1619)
832
-
833
- === 5.20.0 (2019-05-01)
834
-
835
- * Fix reversing of alter_table add_foreign_key when :type option is used (jeremyevans) (#1615)
836
-
837
- * Switch from using instance_exec to define_method for model associations and in some plugins (jeremyevans)
838
-
839
- * Fix Database#server_version when using mysql2 adapter with mysql driver on MariaDB 10+ database (v-kolesnikov) (#1614)
840
-
841
- * Make one_to_one setter method handle models that use joined datasets (jeremyevans) (#1612)
842
-
843
- * Make auto_validations plugin work with the class_table_inheritance plugin (jeremyevans) (#1611)
844
-
845
- * Avoid use of instance_exec for PlaceholderLiteralString#with_dataset (jeremyevans)
846
-
847
- * Recognize float unsigned database types as float (keeguon, jeremyevans) (#1609)
848
-
849
- * Support :savepoint options to Database#{after_commit,after_rollback} for making the hooks handle savepoints (jeremyevans)
850
-
851
- * Avoid use of instance_exec in association_dependencies plugin (jeremyevans)
852
-
853
- * Add pg_auto_constraint_validation_override to the pg_auto_constraint_validations plugin, for customizing columns and error message per constraint (jeremyevans)
854
-
855
- * Make Database#check_constraints on PostgreSQL also include constraints where the related columns are not known (jeremyevans)
856
-
857
- === 5.19.0 (2019-04-02)
858
-
859
- * Use more optimized approach to merging hashes in ruby 2.5+ (jeremyevans)
860
-
861
- * Use SQLite extended result codes when using ruby-sqlite3 1.4.0+ (jeremyevans)
862
-
863
- * Recognize additional SQLite extended result codes in the shared sqlite adapter (jeremyevans)
864
-
865
- * Add Database#rename_enum_value to the pg_enum extension (AlexWayfer) (#1603)
866
-
867
- * Make Database#drop_table delete constraint validations metadata for that table if using the constraint_validations extension (jeremyevans)
868
-
869
- * Speed up row fetching in the sqlite adapter (jeremyevans)
870
-
871
- * Speed up row fetching and type conversion in the sqlanywhere adapter (jeremyevans)
872
-
873
- === 5.18.0 (2019-03-01)
874
-
875
- * Use singleton .call methods on plain objects instead of procs/methods for faster type conversion (jeremyevans)
876
-
877
- * Add Sequel::SQL::Blob.call to avoid indirection when converting values from the database (jeremyevans)
878
-
879
- * Use while instead of each for inner loops in sqlite and jdbc adapters for better performance (jeremyevans)
880
-
881
- * Make after_initialize plugin not make the argument to Model.call optional (jeremyevans)
882
-
883
- * Allow Dataset#paged_each to be called without a block in the postgres and mysql2 adapters (jeremyevans)
884
-
885
- * Remove flow-control exceptions in connection_expiration and connection_validator extensions (jeremyevans)
886
-
887
- * Add throw_failures plugin for throwing ValidationFailed and HookFailed exceptions instead of raising them, up to 10x performance increase on JRuby (jeremyevans)
888
-
889
- * Support tzinfo 2 in addition to tzinfo 1 in the named_timezones extension (jeremyevans) (#1596)
890
-
891
- === 5.17.0 (2019-02-01)
892
-
893
- * Support skip_auto_validations instance method in auto_validations plugin (oldgreen, jeremyevans) (#1592)
894
-
895
- * Support :preconnect_extensions Database option for loading extensions before :preconnect option (jeremyevans)
896
-
897
- * Avoid usage of Proc.new with implicit block as ruby 2.7+ deprecates this behavior (jeremyevans)
898
-
899
- * Allow Sequel[].as to be used for constructing aliases with eager_graph (e.g. Model.eager_graph(Sequel[:a].as(:b))) (jeremyevans) (#1588)
900
-
901
- === 5.16.0 (2019-01-02)
902
-
903
- * Convert integer columns to bigint columns when copying SQLite databases to other databases using bin/sequel -C (jeremyevans) (#1584)
904
-
905
- * Use nicer error messages for missing or empty migration directories (Lavode) (#1585)
906
-
907
- * Make alter table emulation work correctly in SQLite 3.26.0+ (jeremyevans) (#1582)
908
-
909
- * Do not unset new one_to_one associated objects' reciprocal associations before saving associated objects in the nested_attributes plugin (jeremyevans)
910
-
911
- * Do not validate new one_to_one associated objects twice when saving in the nested_attributes plugin (jeremyevans)
912
-
913
- * Fix :qualify_tables option to class_table_inheritance plugin to work correctly with subclasses of subclasses (benalavi) (#1581)
914
-
915
- * Make class_table_inheritance plugin use the schema cache instead of sending a query to get columns for tables (kenaniah) (#1580)
916
-
917
- * Remove loading of mysqlplus in the mysql adapter (jeremyevans)
918
-
919
- * Make mysql adapter work correctly on ruby 2.6+ (jeremyevans)
920
-
921
- * Add Database#rollback_on_exit to rollback transactions instead of committing them when exiting the transaction block (jeremyevans)
922
-
923
- * Enable window functions in SQLite 3.26.0+ (jeremyevans)
924
-
925
- * Do not override existing methods when creating Sequel::Model attribute getter/setter methods (jeremyevans) (#1578)
926
-
927
- * Use parentheses for expressions being subscripted (e.g. (array_agg(column))[1]) (jeremyevans)
928
-
929
- === 5.15.0 (2018-12-01)
930
-
931
- * Add :conn_str option in the postgres adapter for PostgreSQL connection strings, if the pg driver is used (graywolf) (#1572)
932
-
933
- * Add :qualify_tables option to class_table_inheritance plugin to automatically qualify subclass tables with superclass qualifier (benalavi) (#1571)
934
-
935
- * Access already allocated connections in a thread safe manner when checking out connections in the sharded threaded connection pool (jeremyevans)
936
-
937
- * Automatically support datasets using qualified tables in the class_table_inheritance plugin without having to use the :alias option (benalavi) (#1565)
938
-
939
- * Support rename_column without emulation on SQLite 3.25+ (jeremyevans)
940
-
941
- * Do not remove currently cached many_to_one associated objects when changing the related foreign key value from nil to non-nil (jeremyevans)
942
-
943
- * Do not validate new *_to_many associated objects twice when saving in the nested_attributes plugin (jeremyevans)
944
-
945
- * Add Model#skip_validation_on_next_save! for skipping validation on next save call (jeremyevans)
946
-
947
- === 5.14.0 (2018-11-01)
948
-
949
- * Drop defaulting the :port option to 5432 in the postgres adapter, so that setting the :service option in :driver_options works (jeremyevans) (#1558)
950
-
951
- * Do not cache values for columns without parseable defaults when using :cache option in defaults_setter plugin (jeremyevans)
952
-
953
- * Emulate NULLS FIRST/LAST ordering on databases that do not natively support it (jeremyevans)
954
-
955
- * Do not modify boolean expressions created from string or array if string or array is modified (jeremyevans)
956
-
957
- * Make roots and roots_dataset dataset methods instead of class methods in the tree plugin (JelF) (#1554)
958
-
959
- * Do not cache dataset SQL if dataset uses subquery that cannot cache SQL (jeremyevans)
960
-
961
- * Make Model#=== work correctly for models with composite primary keys (jeremyevans)
962
-
963
- * Add Model#pk_equal? as a more descriptive name for Model#=== (AlexWayfer) (#1550)
964
-
965
- * Do not push down expression inversion in cases where it may result in incorrect behavior (e.g. ANY/SOME/ALL operators) (jeremyevans) (#1549)
966
-
967
- === 5.13.0 (2018-10-01)
968
-
969
- * Support :single_value type in prepared statements (rintaun) (#1547)
970
-
971
- * Make Model.all in static_cache plugin accept a block (AlexWayfer, jeremyevans) (#1543)
972
-
973
- * Add constant_sql_override extension for overriding SQL used for constants such as CURRENT_TIMESTAMP (celsworth) (#1538)
974
-
975
- * Do not cache from_self datasets if options are given (jeremyevans)
976
-
977
- === 5.12.0 (2018-08-31)
978
-
979
- * Make constraint_validations extension respect Database#constraint_validations_table setting (jeremyevans)
980
-
981
- * Make Sequel.extension load files from gems (jeremyevans)
982
-
983
- * Map clob prepared statement argument type to OCI8::CLOB in the oracle adapter (pipistrellka) (#1534)
984
-
985
- * Make Model.load_cache public in the static_cache plugin (AlexWayfer) (#1533)
986
-
987
- * Enable support for NOWAIT on MariaDB 10.3+ (jeremyevans)
988
-
989
- * Enable support for INTERSECT and EXCEPT on MariaDB 10.3+ (jeremyevans)
990
-
991
- * Make tactical_eager_loading plugin handle automatic eager loading for associated objects created by eager_graph (jeremyevans)
992
-
993
- * Cache eager_graph loader to speed up subsequent loads from the same dataset (jeremyevans)
994
-
995
- * Add caller_logging database extension to log callers before queries, useful during development (jeremyevans)
996
-
997
- * Add Database#call_procedure in the postgres adapter for calling PostgreSQL 11+ procedures (jeremyevans)
998
-
999
- * Add eager_graph_eager plugin for chaining eager association loads after eager_graph association loads (jeremyevans)
1000
-
1001
- * Support using Dataset#eager_graph in eager load callback for associations using join tables (jeremyevans)
1002
-
1003
- * Make Dataset#graph handle existing selections without determinable aliases by forcing a subselect (jeremyevans)
1004
-
1005
- * Freeze prepared statement arguments before returning the prepared statement (jeremyevans)
1006
-
1007
- * Refactor emulated prepared statement internals to use a placeholder literalizer (jeremyevans)
1008
-
1009
- === 5.11.0 (2018-08-01)
1010
-
1011
- * Fix using the jdbc/sqlserver adapter on JRuby 9.2+ (jeremyevans)
1012
-
1013
- * Fix dumping schema for numeric/decimal columns with default values, broken starting in 5.9.0 (jeremyevans)
1014
-
1015
- * Recognize additional check constraint violations on certain versions of SQLite (jeremyevans)
1016
-
1017
- * Use cached model instances for Model.first calls without an argument or with a single integer argument in the static_cache plugin (AlexWayfer) (#1529)
1018
-
1019
- * Support ON CONFLICT clause for INSERT on SQLite 3.24+ (jeremyevans)
1020
-
1021
- * Support Dataset#window for WINDOW clause on MySQL 8 and SQLAnywhere (jeremyevans)
1022
-
1023
- * Enable window function support on SQLAnywhere (jeremyevans)
1024
-
1025
- * Support using a hash as a window function :frame option value, with support for ROWS/RANGE/GROUPS, numeric offsets, and EXCLUDE (jeremyevans)
1026
-
1027
- * Allow using set_column_default with a nil value to remove the default value for a column on MySQL when the column is NOT NULL (jeremyevans)
1028
-
1029
- === 5.10.0 (2018-07-01)
1030
-
1031
- * Use input type casts when using the postgres adapter with pg 0.18+ to reduce string allocations for some primitive types used as prepared statement arguments (jeremyevans)
1032
-
1033
- * Assume local time if database timezone not specified when handling BC timestamps on JRuby 9.2.0.0 in the pg_extended_date_support extension (jeremyevans)
1034
-
1035
- * Fix parsing of timetz types in the jdbc/postgresql adapter (jeremyevans)
1036
-
1037
- * Make SQLTime.parse respect SQLTime.date and Sequel.application_timezone (jeremyevans)
1038
-
1039
- * Add :top as an option in the list plugin (celsworth) (#1526)
1040
-
1041
- * Fix Model#{ancestors,descendants,self_and_siblings} in the tree plugin when custom parent/children association names are used (jeremyevans) (#1525)
1042
-
1043
- * Treat read-only mode error as disconnect error on mysql and mysql2 adapters, for better behavior on AWS Aurora cluster (jeremyevans)
1044
-
1045
- * Don't use cached placeholder literalizers for in Dataset#{first,where_all,where_each,where_single_value} if argument is empty array or hash (jeremyevans)
1046
-
1047
- * Support :tablespace option when adding tables, indexes, and materialized views on PostgreSQL (jeremyevans)
1048
-
1049
- * Support :include option for indexes on PostgreSQL 11+ (jeremyevans)
1050
-
1051
- * Allow the use of IN/NOT IN operators with set returning functions for Sequel::Model datasets (jeremyevans)
1052
-
1053
- * Make many_to_pg_array associations in the pg_array_associations plugin work on PostgreSQL 11 (jeremyevans)
1054
-
1055
- * Only load strscan library in pg_array extension if it is needed (jeremyevans)
1056
-
1057
- * Don't remove related many_to_one associations from cache when setting column value to existing value for model instances that have not been persisted (jeremyevans) (#1521)
1058
-
1059
- * Support ruby 2.6+ endless ranges in the pg_range extension (jeremyevans)
1060
-
1061
- * Support ruby 2.6+ endless ranges in filters, using just a >= operator for them (jeremyevans)
1062
-
1063
- === 5.9.0 (2018-06-01)
1064
-
1065
- * Support generated columns on MySQL 5.7+ and MariaDB 5.2+ (wjordan, jeremyevans) (#1517)
1066
-
1067
- * Add escaped_like extension for creation of LIKE expressions with placeholders in the pattern without access to a dataset (jeremyevans)
1068
-
1069
- * Modify jdbc adapter exception handling to work around ::NativeException deprecation in JRuby 9.2 (jeremyevans)
1070
-
1071
- * Work around broken BC date handling in JRuby 9.2.0.0 (jeremyevans)
1072
-
1073
- * Switch use of BigDecimal.new() to BigDecimal(), since the former is deprecated (jeremyevans)
1074
-
1075
- * Add Sequel::VERSION_NUMBER for easier version comparisons (jeremyevans)
1076
-
1077
- * Add Model.has_dataset? to determine if the model class has a dataset (AlexWayfer) (#1508)
1078
-
1079
- * Support use of LIKE with ANY function on PostgreSQL by avoiding unnecessary use of ESCAPE syntax (jeremyevans)
1080
-
1081
- * Disconnect connections left allocated by dead threads instead of returning the connections to the pool (jeremyevans)
1082
-
1083
- * Make both threaded connection pools avoid disconnecting connections while holding the connection pool mutex (jeremyevans)
1084
-
1085
- * Don't deadlock when disconnecting connections in the sharded_threaded connection pool when using connection_validator or connection_expiration extensions (jeremyevans)
1086
-
1087
- * Don't modify hash argument passed in Model.nested_attributes in the nested_attributes plugin (jeremyevans)
1088
-
1089
- * Avoid unnecessary hash creation in many places (jeremyevans)
1090
-
1091
- * Fix duplicate objects in nested associations when eager_graphing cascaded many_to_one=>one_to_many associations (jeremyevans)
1092
-
1093
- === 5.8.0 (2018-05-01)
1094
-
1095
- * Don't mark SQLAnywhere as supporting WITH in INSERT statement (jeremyevans)
1096
-
1097
- * Support :search_path as a shard option on PostgreSQL (jeremyevans)
1098
-
1099
- * Add Dataset#nowait for raising a Sequel::DatabaseLockTimeout when a locked row is encountered, supported on PostgreSQL, MySQL 8+, MSSQL, and Oracle (jeremyevans)
1100
-
1101
- * Support Dataset#skip_locked on MySQL 8+ (jeremyevans)
1102
-
1103
- * Make schema modification methods in the pg_enum extension work on a frozen Database object (jeremyevans)
1104
-
1105
- * Support common table expressions and window functions on MySQL 8+ (jeremyevans)
1106
-
1107
- * Ignore Dataset#explain :extended option on MySQL 5.7+, since extended output is then the MySQL default (jeremyevans)
1108
-
1109
- * Work around REGEXP BINARY not working correctly on MySQL 8+ by using REGEXP_LIKE with the 'c' match_type (jeremyevans)
1110
-
1111
- * Force correct column order in Database#foreign_key_list on MySQL (jeremyevans)
1112
-
1113
- * Add ConnectionPool#connection_expiration_random_delay to connection_expiration extension, to avoid thundering herd if preallocating connections (hex2a, jeremyevans) (#1503)
1114
-
1115
- * Emit deprecation warning in association_proxies plugin if using #filter on an association proxy, since behavior will change on ruby 2.6+ (utilum) (#1497)
1116
-
1117
- * Handle multiple add_constraint calls and a set_column_null call in the same alter_table block on SQLite (jeremyevans) (#1498)
1118
-
1119
- * Add Database#rename_enum to the pg_enum extension (AlexWayfer) (#1495)
1120
-
1121
- * Make tactical_eager_loading plugin respect the :allow_eager association option (jeremyevans) (#1494)
1122
-
1123
- * Add pg_auto_constraint_validations plugin, for automatically converting constraint violations to validation failures on PostgreSQL (jeremyevans)
1124
-
1125
- * Don't make Model#_valid? public in the error_splitter plugin (jeremyevans)
1126
-
1127
- * Support Database#indexes :include_partial option on PostgreSQL for including partial indexes (jeremyevans)
1128
-
1129
- * Include more diagnostic information in Database#error_info on PostgreSQL (jeremyevans)
1130
-
1131
- * Support Database#foreign_key_list :reverse option on PostgreSQL for parsing foreign key constraints that reference a given table (jeremyevans)
1132
-
1133
- * Add Database#check_constraints on PostgreSQL for parsing CHECK constraints (jeremyevans)
1134
-
1135
- * Don't use identity columns if :serial=>true or :type=>:serial|:bigserial column options are used (#1490) (jeremyevans)
1136
-
1137
- * Cache Dataset#select_all datasets if no arguments are given (jeremyevans)
1138
-
1139
- * Cache Dataset#returning datasets if no arguments are given (jeremyevans)
1140
-
1141
- * Cache Dataset#qualify datasets if no argument is given (jeremyevans)
1142
-
1143
- * Cache Dataset#lateral datasets (jeremyevans)
1144
-
1145
- * Cache Dataset#from_self datasets if no options are given (jeremyevans)
1146
-
1147
- * Cache Dataset#distinct datasets if no arguments or block is given (jeremyevans)
1148
-
1149
- === 5.7.0 (2018-04-01)
1150
-
1151
- * Add Sequel.start_timer and .elapsed_seconds_since for more accurate elapsed time calculations on ruby 2.1+ (jeremyevans)
1152
-
1153
- * Run Dataset#with_sql_{all,each,first,single_value} using a cached dataset to avoid clobbering the dataset's columns (jeremyevans)
1154
-
1155
- * Add Database#convert_serial_to_identity on PostgreSQL 10.2+, which requires superuser access (jeremyevans)
1156
-
1157
- * Fix Database#server_version when connecting to PostgreSQL 10.1+ in certain cases (jeremyevans)
1158
-
1159
- * Free temporary clobs in the jdbc/oracle adapter to prevent a memory leak (jeremyevans) (#1482)
1160
-
1161
- * Treat prepared statement errors due to changing types as disconnect errors in the postgres adapter (jeremyevans) (#1481)
1162
-
1163
- * Add integer64 extension for treating Integer as a 64-bit integer when used as a generic type (jeremyevans)
1164
-
1165
- * Allow many_to_pg_array remove_all_* method cast appropriately to work correctly for non-integer types (jeremyevans)
1166
-
1167
- * Fix array_type for pg_array_to_many and many_to_pg_array associations in pg_array_associations plugin (jeremyevans)
1168
-
1169
- * Use identity columns instead of serial columns for primary keys on PostgreSQL 10.2+ (jeremyevans)
1170
-
1171
- * Support :identity option when creating columns on PostgreSQL 10+ to create identity columns (jeremyevans)
1172
-
1173
- * Add Dataset#overriding_{system,user}_value on PostgreSQL for use with PostgreSQL 10+ identity columns (jeremyevans)
1174
-
1175
- * Set :auto_increment schema entry correctly for PostgreSQL 10+ identity columns (jeremyevans)
1176
-
1177
- === 5.6.0 (2018-03-01)
1178
-
1179
- * Dedup :db_type strings in schema hashes on Ruby 2.5+ (jeremyevans)
1180
-
1181
- * Make schema_caching extension work with :callable_default schema values (jeremyevans)
1182
-
1183
- * Freeze string valuse in hashes returned by Database#schema when using the schema_caching extension (jeremyevans)
1184
-
1185
- * Protect migration file loading with a mutex to not break when multiple threads load migration files simultaneously (jeremyevans)
1186
-
1187
- * Respect identifier mangling rules when renaming columns on Microsoft SQL Server (jeremyevans)
1188
-
1189
- === 5.5.0 (2018-01-31)
1190
-
1191
- * Make Database#copy_table in the postgres adapter handle errors that occur while processing rows (jeremyevans) (#1470)
1192
-
1193
- * Cache results of changed_columns method in local variables in many places for better performance (jeremyevans)
1194
-
1195
- * Make modification_detection plugin not break column change detection for new objects (jeremyevans) (#1468)
1196
-
1197
- * Make pg_range extension set :ruby_default schema value for recognized range defaults (jeremyevans)
1198
-
1199
- * Make pg_interval extension set :ruby_default schema value for recognized interval defaults (jeremyevans)
1200
-
1201
- * Make pg_json extension set :callable_default schema value for empty json/jsonb array/hash defaults (jeremyevans)
1202
-
1203
- * Make pg_inet extension set :ruby_default schema value for recognized inet/cidr defaults (jeremyevans)
1204
-
1205
- * Make pg_hstore extension set :callable_default schema value for empty hstore defaults (jeremyevans)
1206
-
1207
- * Make pg_array extension set :callable_default schema value for recognized empty array defaults (jeremyevans) (#1466)
1208
-
1209
- * Make defaults_setter plugin prefer :callable_default db_schema values over :ruby_default db_schema values (jeremyevans)
1210
-
1211
- * Add defaults_setter plugin :cache option for caching default values returned (jeremyevans)
1212
-
1213
- * Freeze string values in hashes returned by Database#schema (jeremyevans)
1214
-
1215
- === 5.4.0 (2018-01-04)
1216
-
1217
- * Enable fractional seconds in timestamps on DB2 (jeremyevans) (#1463)
1218
-
1219
- * Don't attempt to insert a second time if insert_select runs a query that doesn't return results, which can happen when triggers are used (jeremyevans)
1220
-
1221
- * Make Dataset#insert_select on PostgreSQL and MSSQL return false instead of nil if the INSERT query is sent to the database but returns no rows (jeremyevans)
1222
-
1223
- * Add index_caching extension for caching calls to Database#indexes (kenaniah, jeremyevans) (#1461)
1224
-
1225
- * Allow Database#indexes on SQLite, MSSQL, SQLAnywhere, and DB2 to handle SQL::Identifier values (jeremyevans)
1226
-
1227
- * Add pg_timestamptz extension for using timestamptz (timestamp with time zone) as the default timestamp type (jeremyevans)
1228
-
1229
- * Support Sequel.date_{add,sub} :cast option for setting cast type in date_arithmetic extension (jeremyevans)
1230
-
1231
- * Optimize Database#synchronize implementation on ruby 2.5+ (jeremyevans)
1232
-
1233
- * Add class_table_inheritance plugin :ignore_subclass_columns option (brianphillips) (#1459)
1234
-
1235
- * Make Dataset#to_xml in xml_serializer work with eager_graphed datasets (jeremyevans)
1236
-
1237
- * Make Dataset#to_json in json_serializer work with eager_graphed datasets (jeremyevans)
1238
-
1239
- * Cache Dataset#nullify dataset in the null_dataset extension (chanks) (#1456)
1240
-
1241
- * Add datetime_parse_to_time extension, for parsing timestamp strings without offsets using DateTime.parse.to_time (jeremyevans) (#1455)
1242
-
1243
- * Add WHERE NULL filter for Dataset#where calls with no existing filter, no argument, and where the virtual row block returns nil (jeremyevans)
1244
-
1245
- === 5.3.0 (2017-12-01)
1246
-
1247
- * Add logger to Database instance before making first connection in bin/sequel (jeremyevans)
1248
-
1249
- * Drop support for PostgreSQL <8.1 in Database#indexes (jeremyevans)
1250
-
1251
- * Add synchronize_sql extension, for checking out a connection around SQL generation (KJTsanaktsidis, jeremyevans) (#1451)
1252
-
1253
- * Deprecate Dataset#where calls with no existing filter, no argument, and where the virtual row block returns nil (jeremyevans) (#1454)
1254
-
1255
- * Add DatasetModule#reverse for simpler use of descending orders (jeremyevans)
1256
-
1257
- * Support WITH clauses in subqueries on SQLite, but not in UNION/INTERSECT/EXCEPT (jeremyevans)
1258
-
1259
- * Hoist WITH clauses to INSERT statement level if INSERT subquery uses a CTE on MSSQL (jeremyevans)
1260
-
1261
- * Respect indislive and ignore indcheckxmin index attributes when using Database#indexes on PostgreSQL (jeremyevans)
1262
-
1263
- * Explicitly disallow use of server-side prepared statements when using Dataset#call in the jdbc/postgresql adapter (jeremyevans) (#1448)
1264
-
1265
- * Support common table expressions, window functions, dropping CHECK constraints, and recognizing CURRENT_DATE defaults on MariaDB 10.2+ (jeremyevans)
1266
-
1267
- * Make Database#reset_primary_key_sequence work on PostgreSQL 10+ (jeremyevans)
1268
-
1269
- * Support :connect_sqls Database option for easily issuing sql commands on all new connections (jeremyevans)
1270
-
1271
- * Support :extensions Database option for loading extensions when initializing, useful in connection strings (jeremyevans)
1272
-
1273
- * Avoid warning if trying to rollback after a commit or rollback raises an exception in the postgres adapter (jeremyevans)
1274
-
1275
- * Support Date::Infinity values in the pg_extended_date_support extension (jeremyevans)
1276
-
1277
- === 5.2.0 (2017-10-27)
1278
-
1279
- * Fix type conversion for smallint unsigned and integer unsigned types on jdbc/mysql (jeremyevans) (#1443)
1280
-
1281
- * Add pg_extended_date_support extension, for handling infinite and BC dates/timestamps (jeremyevans)
1282
-
1283
- * Do not ignore existing @dataset instance variable when subclassing Sequel::Model (bjmllr) (#1435)
1284
-
1285
- === 5.1.0 (2017-10-01)
1286
-
1287
- * Make jdbc/h2 and jdbc/hsqldb adapters respect :foreign_key_constraint_name option when adding new foreign key column (jeremyevans)
1288
-
1289
- * Do not issue unnecessary query for macaddr type oid when loading the pg_inet extension (jeltz) (#1423)
1290
-
1291
- * Make alter_table add_foreign_key with a column symbol reversible when using the :foreign_key_constraint_name option (jeremyevans) (#1422)
1292
-
1293
- * Do not raise an error if calling Model.freeze on a frozen model (jeremyevans) (#1421)
1294
-
1295
- * Make Database#copy_into in the jdbc/postgresql adapter handle multi-byte strings (ckoenig) (#1416)
1296
-
1297
- * Remove deprecated Model use_after_commit_rollback class and instance methods (jeremyevans)
1298
-
1299
- * Remove deprecated Model.allowed_columns method in the base model support (jeremyevans)
1300
-
1301
- * Remove deprecated Model.plugin_module_defined? private method (jeremyevans)
1302
-
1303
- * Remove deprecated support for Model#_before_validation private method (jeremyevans)
1304
-
1305
- === 5.0.0 (2017-09-01)
1306
-
1307
- * Make bin/sequel -M option always use base 10 (jeremyevans)
1308
-
1309
- * Don't use savepoints when creating indexes inside a transaction on databases that don't support transactional schema modifications (jeremyevans) (#1407)
1310
-
1311
- * Support :if_not_exists option when creating indexes on PostgreSQL 9.5+ (DyegoCosta) (#1405)
1312
-
1313
- * Make threaded connection pools not block while connections are being made (jeremyevans)
1314
-
1315
- * SQL::Expression#clone and #dup now return self, since all expressions should be frozen value objects (jeremyevans)
1316
-
1317
- * Don't create empty arrays for unused association callbacks (jeremyevans)
1318
-
1319
- * Cache association method name symbols instead of recomputing them everytime (jeremyevans)
1320
-
1321
- * Raise an exception if attempting to create a prepared statement using a dataset with a delayed evaluation (jeremyevans)
1322
-
1323
- * Make ConnectionPool#size thread safe by using the pool mutex (jeremyevans)
1324
-
1325
- * Use instance_exec instead of instance_eval when passing a block, to work with lambdas that accept no arguments (jeremyevans)
1326
-
1327
- * Freeze SQL::StringAgg instances in string_agg extension (jeremyevans)
1328
-
1329
- * Freeze SQL::DateAdd instances in date_arithmetic extension (jeremyevans)
1330
-
1331
- * Freeze SQL::Expression.comparison_attrs (jeremyevans)
1332
-
1333
- * Rename SQL::Subscript#f to #expression, keeping #f as an alias (jeremyevans)
1334
-
1335
- * Require the :pool_class Database option be a class to use a custom connection pool (jeremyevans)
1336
-
1337
- * Make the class_table_inheritance plugin raise an Error during update if any UPDATE query does not affect a single row (jeremyevans)
1338
-
1339
- * Change most send calls to public_send unless calling private methods is expected (jeremyevans)
1340
-
1341
- * Database schema and schema generator methods now return nil (jeremyevans)
1342
-
1343
- * Model#validates_unique in the validation helpers plugin now defaults to only checking on new or modified values (jeremyevans)
1344
-
1345
- * Deprecate Model#_before_validation (private_method), use Model#before_validation now (jeremyevans)
1346
-
1347
- * Always run before/after/around validation hooks when saving, even when not validating the object (jeremyevans)
1348
-
1349
- * Deprecate Model use_after_commit_rollback class and instance accessors (jeremyevans)
1350
-
1351
- * Deprecate Model.allowed_columns reader (jeremyevans)
1352
-
1353
- * Freeze internal constants that shouldn't be modified at runtime (jeremyevans)
1354
-
1355
- * Attempt to connect to the database immediately when creating the Database instance (jeremyevans)
1356
-
1357
- * Make association_pks plugin delay the setting of associated objects until the current object is saved by default (jeremyevans)
1358
-
1359
- * Joined datasets used as model datasets are now automatically wrapped in a subquery (jeremyevans)
1360
-
1361
- * Setting an invalid dataset for a model class now raises an exception by default (jeremyevans)
1362
-
1363
- * Getting all values for newly created models now happens before calling after_create, instead of after (jeremyevans)
1364
-
1365
- * Remove use of @was_new/@columns_updated instance variables when saving model objects (jeremyevans)
1366
-
1367
- * Disable symbol splitting by default (jeremyevans)
1368
-
1369
- * Make datasets frozen by default (jeremyevans)
1370
-
1371
- * Drop support for ruby 1.8.7, minimum now is 1.9.2 (jeremyevans)
1372
-
1373
- * Remove deprecated adapters, extensions, plugins, constants, and features (jeremyevans)
1374
-
1375
- === Older
1376
-
1377
- See doc/CHANGELOG.old