sequel 5.23.0 → 5.28.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.
- checksums.yaml +4 -4
- data/CHANGELOG +62 -0
- data/README.rdoc +1 -1
- data/doc/cheat_sheet.rdoc +1 -0
- data/doc/postgresql.rdoc +2 -2
- data/doc/release_notes/5.24.0.txt +56 -0
- data/doc/release_notes/5.25.0.txt +32 -0
- data/doc/release_notes/5.26.0.txt +35 -0
- data/doc/release_notes/5.27.0.txt +21 -0
- data/doc/release_notes/5.28.0.txt +16 -0
- data/doc/testing.rdoc +11 -6
- data/lib/sequel/adapters/jdbc.rb +7 -1
- data/lib/sequel/adapters/jdbc/postgresql.rb +7 -13
- data/lib/sequel/adapters/mysql2.rb +0 -1
- data/lib/sequel/adapters/shared/mssql.rb +4 -2
- data/lib/sequel/adapters/shared/postgres.rb +30 -7
- data/lib/sequel/adapters/shared/sqlite.rb +7 -2
- data/lib/sequel/adapters/utils/mysql_mysql2.rb +1 -1
- data/lib/sequel/database/logging.rb +7 -1
- data/lib/sequel/database/schema_generator.rb +11 -2
- data/lib/sequel/database/schema_methods.rb +2 -0
- data/lib/sequel/dataset/features.rb +6 -0
- data/lib/sequel/dataset/query.rb +15 -2
- data/lib/sequel/dataset/sql.rb +17 -4
- data/lib/sequel/extensions/any_not_empty.rb +45 -0
- data/lib/sequel/extensions/exclude_or_null.rb +68 -0
- data/lib/sequel/extensions/pg_array_ops.rb +10 -6
- data/lib/sequel/extensions/pg_enum.rb +4 -1
- data/lib/sequel/extensions/pg_json.rb +1 -1
- data/lib/sequel/extensions/pg_json_ops.rb +124 -0
- data/lib/sequel/extensions/pg_range.rb +9 -0
- data/lib/sequel/extensions/sql_comments.rb +2 -2
- data/lib/sequel/model/base.rb +12 -5
- data/lib/sequel/plugins/association_multi_add_remove.rb +83 -0
- data/lib/sequel/plugins/caching.rb +3 -0
- data/lib/sequel/plugins/csv_serializer.rb +26 -9
- data/lib/sequel/plugins/dirty.rb +3 -9
- data/lib/sequel/plugins/nested_attributes.rb +7 -0
- data/lib/sequel/plugins/pg_auto_constraint_validations.rb +89 -30
- data/lib/sequel/plugins/sharding.rb +11 -5
- data/lib/sequel/plugins/static_cache.rb +8 -3
- data/lib/sequel/plugins/static_cache_cache.rb +53 -0
- data/lib/sequel/plugins/typecast_on_load.rb +3 -2
- data/lib/sequel/sql.rb +4 -1
- data/lib/sequel/version.rb +1 -1
- data/spec/adapters/postgres_spec.rb +145 -17
- data/spec/adapters/sqlite_spec.rb +1 -1
- data/spec/bin_spec.rb +1 -1
- data/spec/core/database_spec.rb +20 -1
- data/spec/core/expression_filters_spec.rb +26 -7
- data/spec/core/schema_spec.rb +18 -0
- data/spec/core/spec_helper.rb +1 -1
- data/spec/core_extensions_spec.rb +1 -1
- data/spec/extensions/any_not_empty_spec.rb +23 -0
- data/spec/extensions/association_multi_add_remove_spec.rb +1041 -0
- data/spec/extensions/dirty_spec.rb +33 -0
- data/spec/extensions/exclude_or_null_spec.rb +15 -0
- data/spec/extensions/insert_conflict_spec.rb +26 -0
- data/spec/extensions/nested_attributes_spec.rb +48 -0
- data/spec/extensions/pg_array_ops_spec.rb +3 -3
- data/spec/extensions/pg_auto_constraint_validations_spec.rb +37 -0
- data/spec/extensions/pg_json_ops_spec.rb +67 -0
- data/spec/extensions/pg_range_spec.rb +35 -21
- data/spec/extensions/sharding_spec.rb +8 -0
- data/spec/extensions/spec_helper.rb +1 -1
- data/spec/extensions/static_cache_cache_spec.rb +35 -0
- data/spec/guards_helper.rb +1 -1
- data/spec/integration/dataset_test.rb +57 -17
- data/spec/integration/plugin_test.rb +1 -1
- data/spec/integration/schema_test.rb +9 -0
- data/spec/integration/spec_helper.rb +7 -1
- data/spec/model/spec_helper.rb +1 -1
- metadata +35 -3
@@ -2393,7 +2393,7 @@ describe "string_agg extension" do
|
|
2393
2393
|
cspecify "should have string_agg return aggregated concatenation for distinct values", :mssql, :sqlite, :oracle, :db2, :derby do
|
2394
2394
|
@ds.select_group(:id).select_append(Sequel.string_agg(:s).order(:s).distinct.as(:v)).map([:id, :v]).must_equal [[1, 'a,b,c'], [2, 'aa,bb']]
|
2395
2395
|
end
|
2396
|
-
end
|
2396
|
+
end if (DB.database_type != :postgres || DB.server_version >= 90000)
|
2397
2397
|
|
2398
2398
|
describe "insert_conflict plugin" do
|
2399
2399
|
before(:all) do
|
@@ -634,6 +634,15 @@ describe "Database schema modifiers" do
|
|
634
634
|
@ds.all.must_equal [{:id=>10}, {:id=>20}]
|
635
635
|
end
|
636
636
|
|
637
|
+
it "should set column defaults correctly if column has existing default" do
|
638
|
+
@db.create_table!(:items){Integer :id, :default=>10}
|
639
|
+
@ds.insert
|
640
|
+
@ds.all.must_equal [{:id=>10}]
|
641
|
+
@db.alter_table(:items){set_column_default :id, 20}
|
642
|
+
@ds.insert
|
643
|
+
@ds.all.must_equal [{:id=>10}, {:id=>20}]
|
644
|
+
end
|
645
|
+
|
637
646
|
it "should set column defaults to nil correctly" do
|
638
647
|
@db.create_table!(:items){Integer :id}
|
639
648
|
@ds.insert(:id=>10)
|
@@ -62,4 +62,10 @@ if ENV['SEQUEL_FREEZE_DATABASE']
|
|
62
62
|
DB.freeze
|
63
63
|
end
|
64
64
|
|
65
|
-
|
65
|
+
version = if DB.respond_to?(:server_version)
|
66
|
+
DB.server_version
|
67
|
+
elsif DB.respond_to?(:sqlite_version)
|
68
|
+
DB.sqlite_version
|
69
|
+
end
|
70
|
+
|
71
|
+
puts "running #{defined?(SEQUEL_ADAPTER_TEST) ? SEQUEL_ADAPTER_TEST : "integration (database type: #{DB.database_type})"} specs on #{RUBY_ENGINE} #{defined?(JRUBY_VERSION) ? JRUBY_VERSION : RUBY_VERSION} with #{DB.adapter_scheme} adapter#{" (database version: #{version})" if version}"
|
data/spec/model/spec_helper.rb
CHANGED
@@ -7,7 +7,7 @@ Sequel::Deprecation.backtrace_filter = lambda{|line, lineno| lineno < 4 || line
|
|
7
7
|
|
8
8
|
ENV['MT_NO_PLUGINS'] = '1' # Work around stupid autoloading of plugins
|
9
9
|
gem 'minitest'
|
10
|
-
require 'minitest/autorun'
|
10
|
+
require 'minitest/global_expectations/autorun'
|
11
11
|
require 'minitest/hooks/default'
|
12
12
|
|
13
13
|
require_relative '../deprecation_helper'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sequel
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.
|
4
|
+
version: 5.28.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeremy Evans
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-01-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: minitest
|
@@ -38,6 +38,20 @@ dependencies:
|
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: minitest-global_expectations
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: minitest-shared_description
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -207,6 +221,11 @@ extra_rdoc_files:
|
|
207
221
|
- doc/release_notes/5.21.0.txt
|
208
222
|
- doc/release_notes/5.22.0.txt
|
209
223
|
- doc/release_notes/5.23.0.txt
|
224
|
+
- doc/release_notes/5.24.0.txt
|
225
|
+
- doc/release_notes/5.25.0.txt
|
226
|
+
- doc/release_notes/5.26.0.txt
|
227
|
+
- doc/release_notes/5.27.0.txt
|
228
|
+
- doc/release_notes/5.28.0.txt
|
210
229
|
files:
|
211
230
|
- CHANGELOG
|
212
231
|
- MIT-LICENSE
|
@@ -301,6 +320,11 @@ files:
|
|
301
320
|
- doc/release_notes/5.21.0.txt
|
302
321
|
- doc/release_notes/5.22.0.txt
|
303
322
|
- doc/release_notes/5.23.0.txt
|
323
|
+
- doc/release_notes/5.24.0.txt
|
324
|
+
- doc/release_notes/5.25.0.txt
|
325
|
+
- doc/release_notes/5.26.0.txt
|
326
|
+
- doc/release_notes/5.27.0.txt
|
327
|
+
- doc/release_notes/5.28.0.txt
|
304
328
|
- doc/release_notes/5.3.0.txt
|
305
329
|
- doc/release_notes/5.4.0.txt
|
306
330
|
- doc/release_notes/5.5.0.txt
|
@@ -399,6 +423,7 @@ files:
|
|
399
423
|
- lib/sequel/extensions/_model_constraint_validations.rb
|
400
424
|
- lib/sequel/extensions/_model_pg_row.rb
|
401
425
|
- lib/sequel/extensions/_pretty_table.rb
|
426
|
+
- lib/sequel/extensions/any_not_empty.rb
|
402
427
|
- lib/sequel/extensions/arbitrary_servers.rb
|
403
428
|
- lib/sequel/extensions/auto_literal_strings.rb
|
404
429
|
- lib/sequel/extensions/blank.rb
|
@@ -419,6 +444,7 @@ files:
|
|
419
444
|
- lib/sequel/extensions/error_sql.rb
|
420
445
|
- lib/sequel/extensions/escaped_like.rb
|
421
446
|
- lib/sequel/extensions/eval_inspect.rb
|
447
|
+
- lib/sequel/extensions/exclude_or_null.rb
|
422
448
|
- lib/sequel/extensions/freeze_datasets.rb
|
423
449
|
- lib/sequel/extensions/from_block.rb
|
424
450
|
- lib/sequel/extensions/graph_each.rb
|
@@ -488,6 +514,7 @@ files:
|
|
488
514
|
- lib/sequel/plugins/active_model.rb
|
489
515
|
- lib/sequel/plugins/after_initialize.rb
|
490
516
|
- lib/sequel/plugins/association_dependencies.rb
|
517
|
+
- lib/sequel/plugins/association_multi_add_remove.rb
|
491
518
|
- lib/sequel/plugins/association_pks.rb
|
492
519
|
- lib/sequel/plugins/association_proxies.rb
|
493
520
|
- lib/sequel/plugins/auto_validations.rb
|
@@ -542,6 +569,7 @@ files:
|
|
542
569
|
- lib/sequel/plugins/skip_create_refresh.rb
|
543
570
|
- lib/sequel/plugins/split_values.rb
|
544
571
|
- lib/sequel/plugins/static_cache.rb
|
572
|
+
- lib/sequel/plugins/static_cache_cache.rb
|
545
573
|
- lib/sequel/plugins/string_stripper.rb
|
546
574
|
- lib/sequel/plugins/subclasses.rb
|
547
575
|
- lib/sequel/plugins/subset_conditions.rb
|
@@ -595,8 +623,10 @@ files:
|
|
595
623
|
- spec/extensions/accessed_columns_spec.rb
|
596
624
|
- spec/extensions/active_model_spec.rb
|
597
625
|
- spec/extensions/after_initialize_spec.rb
|
626
|
+
- spec/extensions/any_not_empty_spec.rb
|
598
627
|
- spec/extensions/arbitrary_servers_spec.rb
|
599
628
|
- spec/extensions/association_dependencies_spec.rb
|
629
|
+
- spec/extensions/association_multi_add_remove_spec.rb
|
600
630
|
- spec/extensions/association_pks_spec.rb
|
601
631
|
- spec/extensions/association_proxies_spec.rb
|
602
632
|
- spec/extensions/auto_literal_strings_spec.rb
|
@@ -637,6 +667,7 @@ files:
|
|
637
667
|
- spec/extensions/error_sql_spec.rb
|
638
668
|
- spec/extensions/escaped_like_spec.rb
|
639
669
|
- spec/extensions/eval_inspect_spec.rb
|
670
|
+
- spec/extensions/exclude_or_null_spec.rb
|
640
671
|
- spec/extensions/finder_spec.rb
|
641
672
|
- spec/extensions/force_encoding_spec.rb
|
642
673
|
- spec/extensions/freeze_datasets_spec.rb
|
@@ -712,6 +743,7 @@ files:
|
|
712
743
|
- spec/extensions/split_values_spec.rb
|
713
744
|
- spec/extensions/sql_comments_spec.rb
|
714
745
|
- spec/extensions/sql_expr_spec.rb
|
746
|
+
- spec/extensions/static_cache_cache_spec.rb
|
715
747
|
- spec/extensions/static_cache_spec.rb
|
716
748
|
- spec/extensions/string_agg_spec.rb
|
717
749
|
- spec/extensions/string_date_time_spec.rb
|
@@ -857,7 +889,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
857
889
|
- !ruby/object:Gem::Version
|
858
890
|
version: '0'
|
859
891
|
requirements: []
|
860
|
-
rubygems_version: 3.
|
892
|
+
rubygems_version: 3.1.2
|
861
893
|
signing_key:
|
862
894
|
specification_version: 4
|
863
895
|
summary: The Database Toolkit for Ruby
|