sequel 5.60.1 → 5.81.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (166) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +280 -0
  3. data/MIT-LICENSE +1 -1
  4. data/README.rdoc +27 -24
  5. data/doc/advanced_associations.rdoc +16 -14
  6. data/doc/association_basics.rdoc +53 -17
  7. data/doc/cheat_sheet.rdoc +3 -3
  8. data/doc/code_order.rdoc +5 -3
  9. data/doc/dataset_basics.rdoc +1 -1
  10. data/doc/mass_assignment.rdoc +1 -1
  11. data/doc/migration.rdoc +15 -0
  12. data/doc/model_hooks.rdoc +1 -1
  13. data/doc/object_model.rdoc +8 -8
  14. data/doc/opening_databases.rdoc +18 -7
  15. data/doc/postgresql.rdoc +8 -8
  16. data/doc/querying.rdoc +7 -2
  17. data/doc/release_notes/5.61.0.txt +43 -0
  18. data/doc/release_notes/5.62.0.txt +132 -0
  19. data/doc/release_notes/5.63.0.txt +33 -0
  20. data/doc/release_notes/5.64.0.txt +50 -0
  21. data/doc/release_notes/5.65.0.txt +21 -0
  22. data/doc/release_notes/5.66.0.txt +24 -0
  23. data/doc/release_notes/5.67.0.txt +32 -0
  24. data/doc/release_notes/5.68.0.txt +61 -0
  25. data/doc/release_notes/5.69.0.txt +26 -0
  26. data/doc/release_notes/5.70.0.txt +35 -0
  27. data/doc/release_notes/5.71.0.txt +21 -0
  28. data/doc/release_notes/5.72.0.txt +33 -0
  29. data/doc/release_notes/5.73.0.txt +66 -0
  30. data/doc/release_notes/5.74.0.txt +45 -0
  31. data/doc/release_notes/5.75.0.txt +35 -0
  32. data/doc/release_notes/5.76.0.txt +86 -0
  33. data/doc/release_notes/5.77.0.txt +63 -0
  34. data/doc/release_notes/5.78.0.txt +67 -0
  35. data/doc/release_notes/5.79.0.txt +28 -0
  36. data/doc/release_notes/5.80.0.txt +40 -0
  37. data/doc/release_notes/5.81.0.txt +31 -0
  38. data/doc/schema_modification.rdoc +3 -3
  39. data/doc/security.rdoc +9 -9
  40. data/doc/sharding.rdoc +3 -1
  41. data/doc/sql.rdoc +14 -14
  42. data/doc/testing.rdoc +16 -12
  43. data/doc/transactions.rdoc +6 -6
  44. data/doc/virtual_rows.rdoc +1 -1
  45. data/lib/sequel/adapters/ibmdb.rb +1 -1
  46. data/lib/sequel/adapters/jdbc/h2.rb +3 -0
  47. data/lib/sequel/adapters/jdbc/hsqldb.rb +2 -0
  48. data/lib/sequel/adapters/jdbc/postgresql.rb +3 -0
  49. data/lib/sequel/adapters/jdbc/sqlanywhere.rb +15 -0
  50. data/lib/sequel/adapters/jdbc/sqlserver.rb +4 -0
  51. data/lib/sequel/adapters/jdbc.rb +10 -6
  52. data/lib/sequel/adapters/mysql.rb +19 -7
  53. data/lib/sequel/adapters/mysql2.rb +2 -2
  54. data/lib/sequel/adapters/odbc/mssql.rb +1 -1
  55. data/lib/sequel/adapters/oracle.rb +1 -0
  56. data/lib/sequel/adapters/postgres.rb +10 -5
  57. data/lib/sequel/adapters/shared/access.rb +9 -1
  58. data/lib/sequel/adapters/shared/db2.rb +12 -0
  59. data/lib/sequel/adapters/shared/mssql.rb +71 -9
  60. data/lib/sequel/adapters/shared/mysql.rb +82 -3
  61. data/lib/sequel/adapters/shared/oracle.rb +17 -7
  62. data/lib/sequel/adapters/shared/postgres.rb +469 -160
  63. data/lib/sequel/adapters/shared/sqlanywhere.rb +18 -5
  64. data/lib/sequel/adapters/shared/sqlite.rb +39 -3
  65. data/lib/sequel/adapters/sqlite.rb +42 -3
  66. data/lib/sequel/adapters/trilogy.rb +117 -0
  67. data/lib/sequel/connection_pool/sharded_threaded.rb +16 -11
  68. data/lib/sequel/connection_pool/sharded_timed_queue.rb +374 -0
  69. data/lib/sequel/connection_pool/threaded.rb +14 -8
  70. data/lib/sequel/connection_pool/timed_queue.rb +270 -0
  71. data/lib/sequel/connection_pool.rb +57 -31
  72. data/lib/sequel/database/connecting.rb +25 -1
  73. data/lib/sequel/database/dataset.rb +16 -6
  74. data/lib/sequel/database/misc.rb +65 -14
  75. data/lib/sequel/database/query.rb +72 -1
  76. data/lib/sequel/database/schema_generator.rb +1 -1
  77. data/lib/sequel/database/schema_methods.rb +12 -5
  78. data/lib/sequel/database/transactions.rb +6 -0
  79. data/lib/sequel/dataset/actions.rb +60 -13
  80. data/lib/sequel/dataset/dataset_module.rb +1 -1
  81. data/lib/sequel/dataset/deprecated_singleton_class_methods.rb +42 -0
  82. data/lib/sequel/dataset/features.rb +15 -1
  83. data/lib/sequel/dataset/graph.rb +1 -0
  84. data/lib/sequel/dataset/misc.rb +12 -2
  85. data/lib/sequel/dataset/placeholder_literalizer.rb +20 -9
  86. data/lib/sequel/dataset/query.rb +119 -45
  87. data/lib/sequel/dataset/sql.rb +58 -36
  88. data/lib/sequel/dataset.rb +4 -0
  89. data/lib/sequel/exceptions.rb +5 -0
  90. data/lib/sequel/extensions/_model_pg_row.rb +0 -12
  91. data/lib/sequel/extensions/_pretty_table.rb +1 -1
  92. data/lib/sequel/extensions/any_not_empty.rb +2 -2
  93. data/lib/sequel/extensions/async_thread_pool.rb +21 -13
  94. data/lib/sequel/extensions/auto_cast_date_and_time.rb +94 -0
  95. data/lib/sequel/extensions/auto_literal_strings.rb +1 -1
  96. data/lib/sequel/extensions/caller_logging.rb +4 -1
  97. data/lib/sequel/extensions/connection_expiration.rb +15 -9
  98. data/lib/sequel/extensions/connection_validator.rb +16 -11
  99. data/lib/sequel/extensions/constraint_validations.rb +1 -1
  100. data/lib/sequel/extensions/date_arithmetic.rb +1 -1
  101. data/lib/sequel/extensions/duplicate_columns_handler.rb +10 -9
  102. data/lib/sequel/extensions/index_caching.rb +5 -1
  103. data/lib/sequel/extensions/looser_typecasting.rb +3 -0
  104. data/lib/sequel/extensions/migration.rb +65 -15
  105. data/lib/sequel/extensions/named_timezones.rb +22 -6
  106. data/lib/sequel/extensions/pg_array.rb +33 -4
  107. data/lib/sequel/extensions/pg_auto_parameterize.rb +509 -0
  108. data/lib/sequel/extensions/pg_auto_parameterize_in_array.rb +110 -0
  109. data/lib/sequel/extensions/pg_enum.rb +1 -2
  110. data/lib/sequel/extensions/pg_extended_date_support.rb +38 -27
  111. data/lib/sequel/extensions/pg_extended_integer_support.rb +116 -0
  112. data/lib/sequel/extensions/pg_hstore.rb +5 -0
  113. data/lib/sequel/extensions/pg_inet.rb +10 -11
  114. data/lib/sequel/extensions/pg_interval.rb +10 -11
  115. data/lib/sequel/extensions/pg_json.rb +10 -10
  116. data/lib/sequel/extensions/pg_json_ops.rb +3 -3
  117. data/lib/sequel/extensions/pg_multirange.rb +6 -11
  118. data/lib/sequel/extensions/pg_range.rb +9 -14
  119. data/lib/sequel/extensions/pg_row.rb +20 -19
  120. data/lib/sequel/extensions/pg_timestamptz.rb +27 -3
  121. data/lib/sequel/extensions/provenance.rb +110 -0
  122. data/lib/sequel/extensions/round_timestamps.rb +1 -1
  123. data/lib/sequel/extensions/schema_caching.rb +1 -1
  124. data/lib/sequel/extensions/schema_dumper.rb +32 -9
  125. data/lib/sequel/extensions/server_block.rb +2 -1
  126. data/lib/sequel/extensions/set_literalizer.rb +58 -0
  127. data/lib/sequel/extensions/sqlite_json_ops.rb +76 -18
  128. data/lib/sequel/extensions/temporarily_release_connection.rb +178 -0
  129. data/lib/sequel/extensions/transaction_connection_validator.rb +78 -0
  130. data/lib/sequel/model/associations.rb +38 -11
  131. data/lib/sequel/model/base.rb +32 -18
  132. data/lib/sequel/model/dataset_module.rb +3 -0
  133. data/lib/sequel/model/exceptions.rb +15 -3
  134. data/lib/sequel/plugins/auto_validations.rb +53 -15
  135. data/lib/sequel/plugins/class_table_inheritance.rb +2 -2
  136. data/lib/sequel/plugins/column_encryption.rb +28 -7
  137. data/lib/sequel/plugins/composition.rb +2 -2
  138. data/lib/sequel/plugins/concurrent_eager_loading.rb +4 -4
  139. data/lib/sequel/plugins/constraint_validations.rb +8 -5
  140. data/lib/sequel/plugins/defaults_setter.rb +16 -0
  141. data/lib/sequel/plugins/dirty.rb +1 -1
  142. data/lib/sequel/plugins/finder.rb +4 -2
  143. data/lib/sequel/plugins/input_transformer.rb +1 -1
  144. data/lib/sequel/plugins/list.rb +5 -2
  145. data/lib/sequel/plugins/many_through_many.rb +1 -1
  146. data/lib/sequel/plugins/mssql_optimistic_locking.rb +8 -38
  147. data/lib/sequel/plugins/nested_attributes.rb +4 -4
  148. data/lib/sequel/plugins/optimistic_locking.rb +9 -42
  149. data/lib/sequel/plugins/optimistic_locking_base.rb +55 -0
  150. data/lib/sequel/plugins/paged_operations.rb +181 -0
  151. data/lib/sequel/plugins/pg_auto_constraint_validations.rb +9 -3
  152. data/lib/sequel/plugins/pg_xmin_optimistic_locking.rb +109 -0
  153. data/lib/sequel/plugins/prepared_statements.rb +2 -1
  154. data/lib/sequel/plugins/prepared_statements_safe.rb +2 -1
  155. data/lib/sequel/plugins/primary_key_lookup_check_values.rb +154 -0
  156. data/lib/sequel/plugins/rcte_tree.rb +7 -4
  157. data/lib/sequel/plugins/single_table_inheritance.rb +8 -0
  158. data/lib/sequel/plugins/sql_comments.rb +1 -1
  159. data/lib/sequel/plugins/static_cache.rb +38 -0
  160. data/lib/sequel/plugins/static_cache_cache.rb +5 -1
  161. data/lib/sequel/plugins/tactical_eager_loading.rb +14 -14
  162. data/lib/sequel/plugins/validate_associated.rb +22 -12
  163. data/lib/sequel/plugins/validation_helpers.rb +29 -2
  164. data/lib/sequel/plugins/validation_helpers_generic_type_messages.rb +73 -0
  165. data/lib/sequel/version.rb +2 -2
  166. metadata +79 -6
@@ -6,11 +6,11 @@ module Sequel
6
6
 
7
7
  # The minor version of Sequel. Bumped for every non-patch level
8
8
  # release, generally around once a month.
9
- MINOR = 60
9
+ MINOR = 81
10
10
 
11
11
  # The tiny version of Sequel. Usually 0, only bumped for bugfix
12
12
  # releases that fix regressions from previous versions.
13
- TINY = 1
13
+ TINY = 0
14
14
 
15
15
  # The version of Sequel you are using, as a string (e.g. "2.11.0")
16
16
  VERSION = [MAJOR, MINOR, TINY].join('.').freeze
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sequel
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.60.1
4
+ version: 5.81.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeremy Evans
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-09-02 00:00:00.000000000 Z
11
+ date: 2024-06-01 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bigdecimal
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: minitest
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -192,8 +206,29 @@ extra_rdoc_files:
192
206
  - doc/release_notes/5.59.0.txt
193
207
  - doc/release_notes/5.6.0.txt
194
208
  - doc/release_notes/5.60.0.txt
209
+ - doc/release_notes/5.61.0.txt
210
+ - doc/release_notes/5.62.0.txt
211
+ - doc/release_notes/5.63.0.txt
212
+ - doc/release_notes/5.64.0.txt
213
+ - doc/release_notes/5.65.0.txt
214
+ - doc/release_notes/5.66.0.txt
215
+ - doc/release_notes/5.67.0.txt
216
+ - doc/release_notes/5.68.0.txt
217
+ - doc/release_notes/5.69.0.txt
195
218
  - doc/release_notes/5.7.0.txt
219
+ - doc/release_notes/5.70.0.txt
220
+ - doc/release_notes/5.71.0.txt
221
+ - doc/release_notes/5.72.0.txt
222
+ - doc/release_notes/5.73.0.txt
223
+ - doc/release_notes/5.74.0.txt
224
+ - doc/release_notes/5.75.0.txt
225
+ - doc/release_notes/5.76.0.txt
226
+ - doc/release_notes/5.77.0.txt
227
+ - doc/release_notes/5.78.0.txt
228
+ - doc/release_notes/5.79.0.txt
196
229
  - doc/release_notes/5.8.0.txt
230
+ - doc/release_notes/5.80.0.txt
231
+ - doc/release_notes/5.81.0.txt
197
232
  - doc/release_notes/5.9.0.txt
198
233
  files:
199
234
  - CHANGELOG
@@ -280,8 +315,29 @@ files:
280
315
  - doc/release_notes/5.59.0.txt
281
316
  - doc/release_notes/5.6.0.txt
282
317
  - doc/release_notes/5.60.0.txt
318
+ - doc/release_notes/5.61.0.txt
319
+ - doc/release_notes/5.62.0.txt
320
+ - doc/release_notes/5.63.0.txt
321
+ - doc/release_notes/5.64.0.txt
322
+ - doc/release_notes/5.65.0.txt
323
+ - doc/release_notes/5.66.0.txt
324
+ - doc/release_notes/5.67.0.txt
325
+ - doc/release_notes/5.68.0.txt
326
+ - doc/release_notes/5.69.0.txt
283
327
  - doc/release_notes/5.7.0.txt
328
+ - doc/release_notes/5.70.0.txt
329
+ - doc/release_notes/5.71.0.txt
330
+ - doc/release_notes/5.72.0.txt
331
+ - doc/release_notes/5.73.0.txt
332
+ - doc/release_notes/5.74.0.txt
333
+ - doc/release_notes/5.75.0.txt
334
+ - doc/release_notes/5.76.0.txt
335
+ - doc/release_notes/5.77.0.txt
336
+ - doc/release_notes/5.78.0.txt
337
+ - doc/release_notes/5.79.0.txt
284
338
  - doc/release_notes/5.8.0.txt
339
+ - doc/release_notes/5.80.0.txt
340
+ - doc/release_notes/5.81.0.txt
285
341
  - doc/release_notes/5.9.0.txt
286
342
  - doc/schema_modification.rdoc
287
343
  - doc/security.rdoc
@@ -333,6 +389,7 @@ files:
333
389
  - lib/sequel/adapters/sqlanywhere.rb
334
390
  - lib/sequel/adapters/sqlite.rb
335
391
  - lib/sequel/adapters/tinytds.rb
392
+ - lib/sequel/adapters/trilogy.rb
336
393
  - lib/sequel/adapters/utils/columns_limit_1.rb
337
394
  - lib/sequel/adapters/utils/emulate_offset_with_reverse_and_count.rb
338
395
  - lib/sequel/adapters/utils/emulate_offset_with_row_number.rb
@@ -346,8 +403,10 @@ files:
346
403
  - lib/sequel/connection_pool.rb
347
404
  - lib/sequel/connection_pool/sharded_single.rb
348
405
  - lib/sequel/connection_pool/sharded_threaded.rb
406
+ - lib/sequel/connection_pool/sharded_timed_queue.rb
349
407
  - lib/sequel/connection_pool/single.rb
350
408
  - lib/sequel/connection_pool/threaded.rb
409
+ - lib/sequel/connection_pool/timed_queue.rb
351
410
  - lib/sequel/core.rb
352
411
  - lib/sequel/database.rb
353
412
  - lib/sequel/database/connecting.rb
@@ -363,6 +422,7 @@ files:
363
422
  - lib/sequel/dataset.rb
364
423
  - lib/sequel/dataset/actions.rb
365
424
  - lib/sequel/dataset/dataset_module.rb
425
+ - lib/sequel/dataset/deprecated_singleton_class_methods.rb
366
426
  - lib/sequel/dataset/features.rb
367
427
  - lib/sequel/dataset/graph.rb
368
428
  - lib/sequel/dataset/misc.rb
@@ -378,6 +438,7 @@ files:
378
438
  - lib/sequel/extensions/any_not_empty.rb
379
439
  - lib/sequel/extensions/arbitrary_servers.rb
380
440
  - lib/sequel/extensions/async_thread_pool.rb
441
+ - lib/sequel/extensions/auto_cast_date_and_time.rb
381
442
  - lib/sequel/extensions/auto_literal_strings.rb
382
443
  - lib/sequel/extensions/blank.rb
383
444
  - lib/sequel/extensions/caller_logging.rb
@@ -418,8 +479,11 @@ files:
418
479
  - lib/sequel/extensions/pagination.rb
419
480
  - lib/sequel/extensions/pg_array.rb
420
481
  - lib/sequel/extensions/pg_array_ops.rb
482
+ - lib/sequel/extensions/pg_auto_parameterize.rb
483
+ - lib/sequel/extensions/pg_auto_parameterize_in_array.rb
421
484
  - lib/sequel/extensions/pg_enum.rb
422
485
  - lib/sequel/extensions/pg_extended_date_support.rb
486
+ - lib/sequel/extensions/pg_extended_integer_support.rb
423
487
  - lib/sequel/extensions/pg_hstore.rb
424
488
  - lib/sequel/extensions/pg_hstore_ops.rb
425
489
  - lib/sequel/extensions/pg_inet.rb
@@ -436,6 +500,7 @@ files:
436
500
  - lib/sequel/extensions/pg_static_cache_updater.rb
437
501
  - lib/sequel/extensions/pg_timestamptz.rb
438
502
  - lib/sequel/extensions/pretty_table.rb
503
+ - lib/sequel/extensions/provenance.rb
439
504
  - lib/sequel/extensions/query.rb
440
505
  - lib/sequel/extensions/round_timestamps.rb
441
506
  - lib/sequel/extensions/run_transaction_hooks.rb
@@ -446,6 +511,7 @@ files:
446
511
  - lib/sequel/extensions/sequel_4_dataset_methods.rb
447
512
  - lib/sequel/extensions/server_block.rb
448
513
  - lib/sequel/extensions/server_logging.rb
514
+ - lib/sequel/extensions/set_literalizer.rb
449
515
  - lib/sequel/extensions/split_array_nil.rb
450
516
  - lib/sequel/extensions/sql_comments.rb
451
517
  - lib/sequel/extensions/sql_expr.rb
@@ -458,8 +524,10 @@ files:
458
524
  - lib/sequel/extensions/symbol_as.rb
459
525
  - lib/sequel/extensions/symbol_as_refinement.rb
460
526
  - lib/sequel/extensions/synchronize_sql.rb
527
+ - lib/sequel/extensions/temporarily_release_connection.rb
461
528
  - lib/sequel/extensions/thread_local_timezones.rb
462
529
  - lib/sequel/extensions/to_dot.rb
530
+ - lib/sequel/extensions/transaction_connection_validator.rb
463
531
  - lib/sequel/extensions/virtual_row_method_block.rb
464
532
  - lib/sequel/model.rb
465
533
  - lib/sequel/model/associations.rb
@@ -525,11 +593,15 @@ files:
525
593
  - lib/sequel/plugins/mssql_optimistic_locking.rb
526
594
  - lib/sequel/plugins/nested_attributes.rb
527
595
  - lib/sequel/plugins/optimistic_locking.rb
596
+ - lib/sequel/plugins/optimistic_locking_base.rb
597
+ - lib/sequel/plugins/paged_operations.rb
528
598
  - lib/sequel/plugins/pg_array_associations.rb
529
599
  - lib/sequel/plugins/pg_auto_constraint_validations.rb
530
600
  - lib/sequel/plugins/pg_row.rb
601
+ - lib/sequel/plugins/pg_xmin_optimistic_locking.rb
531
602
  - lib/sequel/plugins/prepared_statements.rb
532
603
  - lib/sequel/plugins/prepared_statements_safe.rb
604
+ - lib/sequel/plugins/primary_key_lookup_check_values.rb
533
605
  - lib/sequel/plugins/rcte_tree.rb
534
606
  - lib/sequel/plugins/require_valid_schema.rb
535
607
  - lib/sequel/plugins/serialization.rb
@@ -563,6 +635,7 @@ files:
563
635
  - lib/sequel/plugins/validation_class_methods.rb
564
636
  - lib/sequel/plugins/validation_contexts.rb
565
637
  - lib/sequel/plugins/validation_helpers.rb
638
+ - lib/sequel/plugins/validation_helpers_generic_type_messages.rb
566
639
  - lib/sequel/plugins/whitelist_security.rb
567
640
  - lib/sequel/plugins/xml_serializer.rb
568
641
  - lib/sequel/sql.rb
@@ -577,7 +650,7 @@ metadata:
577
650
  documentation_uri: https://sequel.jeremyevans.net/documentation.html
578
651
  mailing_list_uri: https://github.com/jeremyevans/sequel/discussions
579
652
  source_code_uri: https://github.com/jeremyevans/sequel
580
- post_install_message:
653
+ post_install_message:
581
654
  rdoc_options:
582
655
  - "--quiet"
583
656
  - "--line-numbers"
@@ -599,8 +672,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
599
672
  - !ruby/object:Gem::Version
600
673
  version: '0'
601
674
  requirements: []
602
- rubygems_version: 3.3.7
603
- signing_key:
675
+ rubygems_version: 3.5.9
676
+ signing_key:
604
677
  specification_version: 4
605
678
  summary: The Database Toolkit for Ruby
606
679
  test_files: []