sequel 5.58.0 → 5.78.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 (161) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +288 -0
  3. data/MIT-LICENSE +1 -1
  4. data/README.rdoc +24 -23
  5. data/bin/sequel +11 -3
  6. data/doc/advanced_associations.rdoc +16 -14
  7. data/doc/association_basics.rdoc +53 -17
  8. data/doc/cheat_sheet.rdoc +3 -3
  9. data/doc/mass_assignment.rdoc +1 -1
  10. data/doc/migration.rdoc +15 -0
  11. data/doc/model_hooks.rdoc +1 -1
  12. data/doc/object_model.rdoc +8 -8
  13. data/doc/opening_databases.rdoc +20 -12
  14. data/doc/postgresql.rdoc +8 -8
  15. data/doc/querying.rdoc +1 -1
  16. data/doc/release_notes/5.59.0.txt +73 -0
  17. data/doc/release_notes/5.60.0.txt +22 -0
  18. data/doc/release_notes/5.61.0.txt +43 -0
  19. data/doc/release_notes/5.62.0.txt +132 -0
  20. data/doc/release_notes/5.63.0.txt +33 -0
  21. data/doc/release_notes/5.64.0.txt +50 -0
  22. data/doc/release_notes/5.65.0.txt +21 -0
  23. data/doc/release_notes/5.66.0.txt +24 -0
  24. data/doc/release_notes/5.67.0.txt +32 -0
  25. data/doc/release_notes/5.68.0.txt +61 -0
  26. data/doc/release_notes/5.69.0.txt +26 -0
  27. data/doc/release_notes/5.70.0.txt +35 -0
  28. data/doc/release_notes/5.71.0.txt +21 -0
  29. data/doc/release_notes/5.72.0.txt +33 -0
  30. data/doc/release_notes/5.73.0.txt +66 -0
  31. data/doc/release_notes/5.74.0.txt +45 -0
  32. data/doc/release_notes/5.75.0.txt +35 -0
  33. data/doc/release_notes/5.76.0.txt +86 -0
  34. data/doc/release_notes/5.77.0.txt +63 -0
  35. data/doc/release_notes/5.78.0.txt +67 -0
  36. data/doc/schema_modification.rdoc +3 -3
  37. data/doc/security.rdoc +9 -9
  38. data/doc/sharding.rdoc +3 -1
  39. data/doc/sql.rdoc +14 -14
  40. data/doc/testing.rdoc +16 -12
  41. data/doc/transactions.rdoc +6 -6
  42. data/doc/virtual_rows.rdoc +1 -1
  43. data/lib/sequel/adapters/ibmdb.rb +1 -1
  44. data/lib/sequel/adapters/jdbc/h2.rb +3 -0
  45. data/lib/sequel/adapters/jdbc/hsqldb.rb +2 -0
  46. data/lib/sequel/adapters/jdbc/postgresql.rb +3 -0
  47. data/lib/sequel/adapters/jdbc/sqlanywhere.rb +15 -0
  48. data/lib/sequel/adapters/jdbc/sqlserver.rb +4 -0
  49. data/lib/sequel/adapters/jdbc.rb +10 -6
  50. data/lib/sequel/adapters/mysql.rb +19 -7
  51. data/lib/sequel/adapters/mysql2.rb +2 -2
  52. data/lib/sequel/adapters/odbc/mssql.rb +1 -1
  53. data/lib/sequel/adapters/oracle.rb +1 -0
  54. data/lib/sequel/adapters/postgres.rb +62 -16
  55. data/lib/sequel/adapters/shared/access.rb +9 -1
  56. data/lib/sequel/adapters/shared/db2.rb +12 -0
  57. data/lib/sequel/adapters/shared/mssql.rb +71 -9
  58. data/lib/sequel/adapters/shared/mysql.rb +80 -1
  59. data/lib/sequel/adapters/shared/oracle.rb +17 -7
  60. data/lib/sequel/adapters/shared/postgres.rb +494 -164
  61. data/lib/sequel/adapters/shared/sqlanywhere.rb +18 -5
  62. data/lib/sequel/adapters/shared/sqlite.rb +40 -4
  63. data/lib/sequel/adapters/sqlite.rb +42 -3
  64. data/lib/sequel/adapters/trilogy.rb +117 -0
  65. data/lib/sequel/connection_pool/sharded_threaded.rb +16 -11
  66. data/lib/sequel/connection_pool/sharded_timed_queue.rb +374 -0
  67. data/lib/sequel/connection_pool/threaded.rb +14 -8
  68. data/lib/sequel/connection_pool/timed_queue.rb +270 -0
  69. data/lib/sequel/connection_pool.rb +57 -31
  70. data/lib/sequel/database/connecting.rb +25 -1
  71. data/lib/sequel/database/dataset.rb +16 -6
  72. data/lib/sequel/database/misc.rb +65 -14
  73. data/lib/sequel/database/query.rb +72 -1
  74. data/lib/sequel/database/schema_generator.rb +2 -1
  75. data/lib/sequel/database/schema_methods.rb +13 -3
  76. data/lib/sequel/database/transactions.rb +6 -0
  77. data/lib/sequel/dataset/actions.rb +60 -13
  78. data/lib/sequel/dataset/deprecated_singleton_class_methods.rb +42 -0
  79. data/lib/sequel/dataset/features.rb +15 -1
  80. data/lib/sequel/dataset/misc.rb +12 -2
  81. data/lib/sequel/dataset/placeholder_literalizer.rb +20 -9
  82. data/lib/sequel/dataset/query.rb +62 -37
  83. data/lib/sequel/dataset/sql.rb +58 -36
  84. data/lib/sequel/dataset.rb +4 -0
  85. data/lib/sequel/exceptions.rb +5 -0
  86. data/lib/sequel/extensions/_model_pg_row.rb +0 -12
  87. data/lib/sequel/extensions/_pretty_table.rb +1 -1
  88. data/lib/sequel/extensions/any_not_empty.rb +2 -2
  89. data/lib/sequel/extensions/async_thread_pool.rb +21 -13
  90. data/lib/sequel/extensions/auto_cast_date_and_time.rb +94 -0
  91. data/lib/sequel/extensions/auto_literal_strings.rb +1 -1
  92. data/lib/sequel/extensions/connection_expiration.rb +15 -9
  93. data/lib/sequel/extensions/connection_validator.rb +16 -11
  94. data/lib/sequel/extensions/constraint_validations.rb +1 -1
  95. data/lib/sequel/extensions/date_arithmetic.rb +36 -8
  96. data/lib/sequel/extensions/duplicate_columns_handler.rb +10 -9
  97. data/lib/sequel/extensions/index_caching.rb +5 -1
  98. data/lib/sequel/extensions/is_distinct_from.rb +3 -1
  99. data/lib/sequel/extensions/looser_typecasting.rb +3 -0
  100. data/lib/sequel/extensions/migration.rb +65 -15
  101. data/lib/sequel/extensions/named_timezones.rb +22 -6
  102. data/lib/sequel/extensions/pg_array.rb +33 -4
  103. data/lib/sequel/extensions/pg_auto_parameterize.rb +509 -0
  104. data/lib/sequel/extensions/pg_auto_parameterize_in_array.rb +110 -0
  105. data/lib/sequel/extensions/pg_enum.rb +1 -2
  106. data/lib/sequel/extensions/pg_extended_date_support.rb +38 -27
  107. data/lib/sequel/extensions/pg_extended_integer_support.rb +116 -0
  108. data/lib/sequel/extensions/pg_hstore.rb +5 -0
  109. data/lib/sequel/extensions/pg_inet.rb +10 -11
  110. data/lib/sequel/extensions/pg_interval.rb +10 -11
  111. data/lib/sequel/extensions/pg_json.rb +10 -10
  112. data/lib/sequel/extensions/pg_json_ops.rb +52 -0
  113. data/lib/sequel/extensions/pg_multirange.rb +6 -11
  114. data/lib/sequel/extensions/pg_range.rb +9 -14
  115. data/lib/sequel/extensions/pg_row.rb +20 -19
  116. data/lib/sequel/extensions/pg_timestamptz.rb +27 -3
  117. data/lib/sequel/extensions/round_timestamps.rb +1 -1
  118. data/lib/sequel/extensions/schema_caching.rb +1 -1
  119. data/lib/sequel/extensions/schema_dumper.rb +32 -9
  120. data/lib/sequel/extensions/server_block.rb +2 -1
  121. data/lib/sequel/extensions/set_literalizer.rb +58 -0
  122. data/lib/sequel/extensions/sqlite_json_ops.rb +76 -18
  123. data/lib/sequel/extensions/symbol_aref.rb +2 -0
  124. data/lib/sequel/extensions/transaction_connection_validator.rb +78 -0
  125. data/lib/sequel/model/associations.rb +50 -11
  126. data/lib/sequel/model/base.rb +45 -21
  127. data/lib/sequel/model/dataset_module.rb +3 -0
  128. data/lib/sequel/model/exceptions.rb +15 -3
  129. data/lib/sequel/plugins/auto_validations.rb +53 -15
  130. data/lib/sequel/plugins/class_table_inheritance.rb +2 -2
  131. data/lib/sequel/plugins/column_encryption.rb +27 -6
  132. data/lib/sequel/plugins/composition.rb +2 -2
  133. data/lib/sequel/plugins/concurrent_eager_loading.rb +4 -4
  134. data/lib/sequel/plugins/constraint_validations.rb +8 -5
  135. data/lib/sequel/plugins/defaults_setter.rb +16 -0
  136. data/lib/sequel/plugins/dirty.rb +1 -1
  137. data/lib/sequel/plugins/finder.rb +4 -2
  138. data/lib/sequel/plugins/list.rb +8 -3
  139. data/lib/sequel/plugins/many_through_many.rb +1 -1
  140. data/lib/sequel/plugins/mssql_optimistic_locking.rb +8 -38
  141. data/lib/sequel/plugins/nested_attributes.rb +4 -4
  142. data/lib/sequel/plugins/optimistic_locking.rb +9 -42
  143. data/lib/sequel/plugins/optimistic_locking_base.rb +55 -0
  144. data/lib/sequel/plugins/paged_operations.rb +181 -0
  145. data/lib/sequel/plugins/pg_auto_constraint_validations.rb +9 -3
  146. data/lib/sequel/plugins/pg_xmin_optimistic_locking.rb +109 -0
  147. data/lib/sequel/plugins/prepared_statements.rb +2 -1
  148. data/lib/sequel/plugins/prepared_statements_safe.rb +2 -1
  149. data/lib/sequel/plugins/primary_key_lookup_check_values.rb +154 -0
  150. data/lib/sequel/plugins/rcte_tree.rb +7 -4
  151. data/lib/sequel/plugins/require_valid_schema.rb +67 -0
  152. data/lib/sequel/plugins/single_table_inheritance.rb +8 -0
  153. data/lib/sequel/plugins/sql_comments.rb +5 -5
  154. data/lib/sequel/plugins/static_cache.rb +38 -0
  155. data/lib/sequel/plugins/static_cache_cache.rb +5 -1
  156. data/lib/sequel/plugins/tactical_eager_loading.rb +21 -14
  157. data/lib/sequel/plugins/validate_associated.rb +22 -12
  158. data/lib/sequel/plugins/validation_helpers.rb +29 -2
  159. data/lib/sequel/plugins/validation_helpers_generic_type_messages.rb +73 -0
  160. data/lib/sequel/version.rb +1 -1
  161. metadata +76 -6
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.58.0
4
+ version: 5.78.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-07-01 00:00:00.000000000 Z
11
+ date: 2024-03-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
@@ -189,8 +203,28 @@ extra_rdoc_files:
189
203
  - doc/release_notes/5.56.0.txt
190
204
  - doc/release_notes/5.57.0.txt
191
205
  - doc/release_notes/5.58.0.txt
206
+ - doc/release_notes/5.59.0.txt
192
207
  - doc/release_notes/5.6.0.txt
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
193
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
194
228
  - doc/release_notes/5.8.0.txt
195
229
  - doc/release_notes/5.9.0.txt
196
230
  files:
@@ -275,8 +309,28 @@ files:
275
309
  - doc/release_notes/5.56.0.txt
276
310
  - doc/release_notes/5.57.0.txt
277
311
  - doc/release_notes/5.58.0.txt
312
+ - doc/release_notes/5.59.0.txt
278
313
  - doc/release_notes/5.6.0.txt
314
+ - doc/release_notes/5.60.0.txt
315
+ - doc/release_notes/5.61.0.txt
316
+ - doc/release_notes/5.62.0.txt
317
+ - doc/release_notes/5.63.0.txt
318
+ - doc/release_notes/5.64.0.txt
319
+ - doc/release_notes/5.65.0.txt
320
+ - doc/release_notes/5.66.0.txt
321
+ - doc/release_notes/5.67.0.txt
322
+ - doc/release_notes/5.68.0.txt
323
+ - doc/release_notes/5.69.0.txt
279
324
  - doc/release_notes/5.7.0.txt
325
+ - doc/release_notes/5.70.0.txt
326
+ - doc/release_notes/5.71.0.txt
327
+ - doc/release_notes/5.72.0.txt
328
+ - doc/release_notes/5.73.0.txt
329
+ - doc/release_notes/5.74.0.txt
330
+ - doc/release_notes/5.75.0.txt
331
+ - doc/release_notes/5.76.0.txt
332
+ - doc/release_notes/5.77.0.txt
333
+ - doc/release_notes/5.78.0.txt
280
334
  - doc/release_notes/5.8.0.txt
281
335
  - doc/release_notes/5.9.0.txt
282
336
  - doc/schema_modification.rdoc
@@ -329,6 +383,7 @@ files:
329
383
  - lib/sequel/adapters/sqlanywhere.rb
330
384
  - lib/sequel/adapters/sqlite.rb
331
385
  - lib/sequel/adapters/tinytds.rb
386
+ - lib/sequel/adapters/trilogy.rb
332
387
  - lib/sequel/adapters/utils/columns_limit_1.rb
333
388
  - lib/sequel/adapters/utils/emulate_offset_with_reverse_and_count.rb
334
389
  - lib/sequel/adapters/utils/emulate_offset_with_row_number.rb
@@ -342,8 +397,10 @@ files:
342
397
  - lib/sequel/connection_pool.rb
343
398
  - lib/sequel/connection_pool/sharded_single.rb
344
399
  - lib/sequel/connection_pool/sharded_threaded.rb
400
+ - lib/sequel/connection_pool/sharded_timed_queue.rb
345
401
  - lib/sequel/connection_pool/single.rb
346
402
  - lib/sequel/connection_pool/threaded.rb
403
+ - lib/sequel/connection_pool/timed_queue.rb
347
404
  - lib/sequel/core.rb
348
405
  - lib/sequel/database.rb
349
406
  - lib/sequel/database/connecting.rb
@@ -359,6 +416,7 @@ files:
359
416
  - lib/sequel/dataset.rb
360
417
  - lib/sequel/dataset/actions.rb
361
418
  - lib/sequel/dataset/dataset_module.rb
419
+ - lib/sequel/dataset/deprecated_singleton_class_methods.rb
362
420
  - lib/sequel/dataset/features.rb
363
421
  - lib/sequel/dataset/graph.rb
364
422
  - lib/sequel/dataset/misc.rb
@@ -374,6 +432,7 @@ files:
374
432
  - lib/sequel/extensions/any_not_empty.rb
375
433
  - lib/sequel/extensions/arbitrary_servers.rb
376
434
  - lib/sequel/extensions/async_thread_pool.rb
435
+ - lib/sequel/extensions/auto_cast_date_and_time.rb
377
436
  - lib/sequel/extensions/auto_literal_strings.rb
378
437
  - lib/sequel/extensions/blank.rb
379
438
  - lib/sequel/extensions/caller_logging.rb
@@ -414,8 +473,11 @@ files:
414
473
  - lib/sequel/extensions/pagination.rb
415
474
  - lib/sequel/extensions/pg_array.rb
416
475
  - lib/sequel/extensions/pg_array_ops.rb
476
+ - lib/sequel/extensions/pg_auto_parameterize.rb
477
+ - lib/sequel/extensions/pg_auto_parameterize_in_array.rb
417
478
  - lib/sequel/extensions/pg_enum.rb
418
479
  - lib/sequel/extensions/pg_extended_date_support.rb
480
+ - lib/sequel/extensions/pg_extended_integer_support.rb
419
481
  - lib/sequel/extensions/pg_hstore.rb
420
482
  - lib/sequel/extensions/pg_hstore_ops.rb
421
483
  - lib/sequel/extensions/pg_inet.rb
@@ -442,6 +504,7 @@ files:
442
504
  - lib/sequel/extensions/sequel_4_dataset_methods.rb
443
505
  - lib/sequel/extensions/server_block.rb
444
506
  - lib/sequel/extensions/server_logging.rb
507
+ - lib/sequel/extensions/set_literalizer.rb
445
508
  - lib/sequel/extensions/split_array_nil.rb
446
509
  - lib/sequel/extensions/sql_comments.rb
447
510
  - lib/sequel/extensions/sql_expr.rb
@@ -456,6 +519,7 @@ files:
456
519
  - lib/sequel/extensions/synchronize_sql.rb
457
520
  - lib/sequel/extensions/thread_local_timezones.rb
458
521
  - lib/sequel/extensions/to_dot.rb
522
+ - lib/sequel/extensions/transaction_connection_validator.rb
459
523
  - lib/sequel/extensions/virtual_row_method_block.rb
460
524
  - lib/sequel/model.rb
461
525
  - lib/sequel/model/associations.rb
@@ -521,12 +585,17 @@ files:
521
585
  - lib/sequel/plugins/mssql_optimistic_locking.rb
522
586
  - lib/sequel/plugins/nested_attributes.rb
523
587
  - lib/sequel/plugins/optimistic_locking.rb
588
+ - lib/sequel/plugins/optimistic_locking_base.rb
589
+ - lib/sequel/plugins/paged_operations.rb
524
590
  - lib/sequel/plugins/pg_array_associations.rb
525
591
  - lib/sequel/plugins/pg_auto_constraint_validations.rb
526
592
  - lib/sequel/plugins/pg_row.rb
593
+ - lib/sequel/plugins/pg_xmin_optimistic_locking.rb
527
594
  - lib/sequel/plugins/prepared_statements.rb
528
595
  - lib/sequel/plugins/prepared_statements_safe.rb
596
+ - lib/sequel/plugins/primary_key_lookup_check_values.rb
529
597
  - lib/sequel/plugins/rcte_tree.rb
598
+ - lib/sequel/plugins/require_valid_schema.rb
530
599
  - lib/sequel/plugins/serialization.rb
531
600
  - lib/sequel/plugins/serialization_modification_detection.rb
532
601
  - lib/sequel/plugins/sharding.rb
@@ -558,6 +627,7 @@ files:
558
627
  - lib/sequel/plugins/validation_class_methods.rb
559
628
  - lib/sequel/plugins/validation_contexts.rb
560
629
  - lib/sequel/plugins/validation_helpers.rb
630
+ - lib/sequel/plugins/validation_helpers_generic_type_messages.rb
561
631
  - lib/sequel/plugins/whitelist_security.rb
562
632
  - lib/sequel/plugins/xml_serializer.rb
563
633
  - lib/sequel/sql.rb
@@ -572,7 +642,7 @@ metadata:
572
642
  documentation_uri: https://sequel.jeremyevans.net/documentation.html
573
643
  mailing_list_uri: https://github.com/jeremyevans/sequel/discussions
574
644
  source_code_uri: https://github.com/jeremyevans/sequel
575
- post_install_message:
645
+ post_install_message:
576
646
  rdoc_options:
577
647
  - "--quiet"
578
648
  - "--line-numbers"
@@ -594,8 +664,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
594
664
  - !ruby/object:Gem::Version
595
665
  version: '0'
596
666
  requirements: []
597
- rubygems_version: 3.3.7
598
- signing_key:
667
+ rubygems_version: 3.5.3
668
+ signing_key:
599
669
  specification_version: 4
600
670
  summary: The Database Toolkit for Ruby
601
671
  test_files: []