sequel 5.2.0 → 5.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG +32 -0
- data/bin/sequel +5 -6
- data/doc/release_notes/5.3.0.txt +121 -0
- data/doc/schema_modification.rdoc +15 -4
- data/doc/testing.rdoc +1 -0
- data/lib/sequel/adapters/jdbc.rb +4 -0
- data/lib/sequel/adapters/jdbc/postgresql.rb +15 -0
- data/lib/sequel/adapters/oracle.rb +2 -1
- data/lib/sequel/adapters/postgres.rb +4 -0
- data/lib/sequel/adapters/shared/mysql.rb +38 -3
- data/lib/sequel/adapters/shared/postgres.rb +15 -6
- data/lib/sequel/adapters/shared/sqlite.rb +10 -0
- data/lib/sequel/adapters/utils/mysql_mysql2.rb +2 -0
- data/lib/sequel/connection_pool.rb +12 -0
- data/lib/sequel/database/misc.rb +13 -0
- data/lib/sequel/dataset/dataset_module.rb +1 -1
- data/lib/sequel/dataset/features.rb +5 -0
- data/lib/sequel/dataset/query.rb +20 -6
- data/lib/sequel/dataset/sql.rb +3 -0
- data/lib/sequel/extensions/pg_extended_date_support.rb +15 -0
- data/lib/sequel/extensions/synchronize_sql.rb +45 -0
- data/lib/sequel/model/associations.rb +1 -0
- data/lib/sequel/model/base.rb +4 -11
- data/lib/sequel/plugins/validation_helpers.rb +2 -2
- data/lib/sequel/version.rb +1 -1
- data/spec/adapters/postgres_spec.rb +5 -34
- data/spec/core/database_spec.rb +32 -0
- data/spec/core/dataset_spec.rb +19 -0
- data/spec/core/mock_adapter_spec.rb +65 -0
- data/spec/extensions/association_pks_spec.rb +26 -33
- data/spec/extensions/class_table_inheritance_spec.rb +18 -32
- data/spec/extensions/composition_spec.rb +7 -23
- data/spec/extensions/list_spec.rb +4 -5
- data/spec/extensions/many_through_many_spec.rb +24 -32
- data/spec/extensions/optimistic_locking_spec.rb +1 -1
- data/spec/extensions/pg_array_associations_spec.rb +18 -25
- data/spec/extensions/pg_extended_date_support_spec.rb +13 -0
- data/spec/extensions/pg_hstore_spec.rb +2 -2
- data/spec/extensions/prepared_statements_safe_spec.rb +6 -6
- data/spec/extensions/pretty_table_spec.rb +39 -8
- data/spec/extensions/rcte_tree_spec.rb +22 -33
- data/spec/extensions/schema_dumper_spec.rb +42 -31
- data/spec/extensions/serialization_spec.rb +3 -3
- data/spec/extensions/synchronize_sql_spec.rb +124 -0
- data/spec/extensions/timestamps_spec.rb +2 -4
- data/spec/extensions/update_or_create_spec.rb +11 -15
- data/spec/extensions/uuid_spec.rb +2 -3
- data/spec/extensions/xml_serializer_spec.rb +5 -10
- data/spec/integration/database_test.rb +1 -1
- data/spec/integration/dataset_test.rb +7 -0
- data/spec/integration/plugin_test.rb +1 -1
- data/spec/integration/schema_test.rb +3 -3
- data/spec/integration/spec_helper.rb +4 -0
- data/spec/model/base_spec.rb +6 -0
- data/spec/model/eager_loading_spec.rb +31 -6
- data/spec/model/model_spec.rb +9 -19
- data/spec/model/record_spec.rb +4 -8
- metadata +6 -2
data/spec/model/record_spec.rb
CHANGED
@@ -146,10 +146,8 @@ describe "Model#save" do
|
|
146
146
|
o = @c.new(:x => 11)
|
147
147
|
def o.autoincrementing_primary_key() :y end
|
148
148
|
o.save
|
149
|
-
sqls
|
150
|
-
|
151
|
-
sqls.first.must_equal "INSERT INTO items (x) VALUES (11)"
|
152
|
-
sqls.last.must_match %r{SELECT \* FROM items WHERE \(\([xy] = 1[13]\) AND \([xy] = 1[13]\)\) LIMIT 1}
|
149
|
+
DB.sqls.must_equal ["INSERT INTO items (x) VALUES (11)",
|
150
|
+
'SELECT * FROM items WHERE ((x = 11) AND (y = 13)) LIMIT 1']
|
153
151
|
end
|
154
152
|
|
155
153
|
it "should update a record for an existing model instance" do
|
@@ -837,7 +835,7 @@ describe Sequel::Model, "#this" do
|
|
837
835
|
it "should support composite primary keys" do
|
838
836
|
@example.set_primary_key [:x, :y]
|
839
837
|
instance = @example.load(:x => 4, :y => 5)
|
840
|
-
instance.this.sql.
|
838
|
+
instance.this.sql.must_equal 'SELECT * FROM examples WHERE ((x = 4) AND (y = 5)) LIMIT 1'
|
841
839
|
end
|
842
840
|
end
|
843
841
|
|
@@ -1223,9 +1221,7 @@ describe Sequel::Model, "#update_fields" do
|
|
1223
1221
|
it "should set only the given fields, and then save the changes to the record" do
|
1224
1222
|
@o1.update_fields({:x => 1, :y => 2, :z=>3, :id=>4}, [:x, :y])
|
1225
1223
|
@o1.values.must_equal(:x => 1, :y => 2, :id=>1)
|
1226
|
-
sqls =
|
1227
|
-
sqls.pop.must_match(/UPDATE items SET [xy] = [12], [xy] = [12] WHERE \(id = 1\)/)
|
1228
|
-
sqls.must_equal []
|
1224
|
+
DB.sqls.must_equal ['UPDATE items SET x = 1, y = 2 WHERE (id = 1)']
|
1229
1225
|
|
1230
1226
|
@o1.update_fields({:x => 1, :y => 5, :z=>6, :id=>7}, [:x, :y])
|
1231
1227
|
@o1.values.must_equal(:x => 1, :y => 5, :id=>1)
|
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.3.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: 2017-
|
11
|
+
date: 2017-12-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: minitest
|
@@ -253,6 +253,7 @@ extra_rdoc_files:
|
|
253
253
|
- doc/release_notes/5.0.0.txt
|
254
254
|
- doc/release_notes/5.1.0.txt
|
255
255
|
- doc/release_notes/5.2.0.txt
|
256
|
+
- doc/release_notes/5.3.0.txt
|
256
257
|
files:
|
257
258
|
- CHANGELOG
|
258
259
|
- MIT-LICENSE
|
@@ -400,6 +401,7 @@ files:
|
|
400
401
|
- doc/release_notes/5.0.0.txt
|
401
402
|
- doc/release_notes/5.1.0.txt
|
402
403
|
- doc/release_notes/5.2.0.txt
|
404
|
+
- doc/release_notes/5.3.0.txt
|
403
405
|
- doc/schema_modification.rdoc
|
404
406
|
- doc/security.rdoc
|
405
407
|
- doc/sharding.rdoc
|
@@ -556,6 +558,7 @@ files:
|
|
556
558
|
- lib/sequel/extensions/symbol_aref_refinement.rb
|
557
559
|
- lib/sequel/extensions/symbol_as.rb
|
558
560
|
- lib/sequel/extensions/symbol_as_refinement.rb
|
561
|
+
- lib/sequel/extensions/synchronize_sql.rb
|
559
562
|
- lib/sequel/extensions/thread_local_timezones.rb
|
560
563
|
- lib/sequel/extensions/to_dot.rb
|
561
564
|
- lib/sequel/extensions/virtual_row_method_block.rb
|
@@ -790,6 +793,7 @@ files:
|
|
790
793
|
- spec/extensions/subset_conditions_spec.rb
|
791
794
|
- spec/extensions/symbol_aref_refinement_spec.rb
|
792
795
|
- spec/extensions/symbol_as_refinement_spec.rb
|
796
|
+
- spec/extensions/synchronize_sql_spec.rb
|
793
797
|
- spec/extensions/table_select_spec.rb
|
794
798
|
- spec/extensions/tactical_eager_loading_spec.rb
|
795
799
|
- spec/extensions/thread_local_timezones_spec.rb
|