sequel 5.23.0 → 5.28.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|