sequel 5.2.0 → 5.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +32 -0
  3. data/bin/sequel +5 -6
  4. data/doc/release_notes/5.3.0.txt +121 -0
  5. data/doc/schema_modification.rdoc +15 -4
  6. data/doc/testing.rdoc +1 -0
  7. data/lib/sequel/adapters/jdbc.rb +4 -0
  8. data/lib/sequel/adapters/jdbc/postgresql.rb +15 -0
  9. data/lib/sequel/adapters/oracle.rb +2 -1
  10. data/lib/sequel/adapters/postgres.rb +4 -0
  11. data/lib/sequel/adapters/shared/mysql.rb +38 -3
  12. data/lib/sequel/adapters/shared/postgres.rb +15 -6
  13. data/lib/sequel/adapters/shared/sqlite.rb +10 -0
  14. data/lib/sequel/adapters/utils/mysql_mysql2.rb +2 -0
  15. data/lib/sequel/connection_pool.rb +12 -0
  16. data/lib/sequel/database/misc.rb +13 -0
  17. data/lib/sequel/dataset/dataset_module.rb +1 -1
  18. data/lib/sequel/dataset/features.rb +5 -0
  19. data/lib/sequel/dataset/query.rb +20 -6
  20. data/lib/sequel/dataset/sql.rb +3 -0
  21. data/lib/sequel/extensions/pg_extended_date_support.rb +15 -0
  22. data/lib/sequel/extensions/synchronize_sql.rb +45 -0
  23. data/lib/sequel/model/associations.rb +1 -0
  24. data/lib/sequel/model/base.rb +4 -11
  25. data/lib/sequel/plugins/validation_helpers.rb +2 -2
  26. data/lib/sequel/version.rb +1 -1
  27. data/spec/adapters/postgres_spec.rb +5 -34
  28. data/spec/core/database_spec.rb +32 -0
  29. data/spec/core/dataset_spec.rb +19 -0
  30. data/spec/core/mock_adapter_spec.rb +65 -0
  31. data/spec/extensions/association_pks_spec.rb +26 -33
  32. data/spec/extensions/class_table_inheritance_spec.rb +18 -32
  33. data/spec/extensions/composition_spec.rb +7 -23
  34. data/spec/extensions/list_spec.rb +4 -5
  35. data/spec/extensions/many_through_many_spec.rb +24 -32
  36. data/spec/extensions/optimistic_locking_spec.rb +1 -1
  37. data/spec/extensions/pg_array_associations_spec.rb +18 -25
  38. data/spec/extensions/pg_extended_date_support_spec.rb +13 -0
  39. data/spec/extensions/pg_hstore_spec.rb +2 -2
  40. data/spec/extensions/prepared_statements_safe_spec.rb +6 -6
  41. data/spec/extensions/pretty_table_spec.rb +39 -8
  42. data/spec/extensions/rcte_tree_spec.rb +22 -33
  43. data/spec/extensions/schema_dumper_spec.rb +42 -31
  44. data/spec/extensions/serialization_spec.rb +3 -3
  45. data/spec/extensions/synchronize_sql_spec.rb +124 -0
  46. data/spec/extensions/timestamps_spec.rb +2 -4
  47. data/spec/extensions/update_or_create_spec.rb +11 -15
  48. data/spec/extensions/uuid_spec.rb +2 -3
  49. data/spec/extensions/xml_serializer_spec.rb +5 -10
  50. data/spec/integration/database_test.rb +1 -1
  51. data/spec/integration/dataset_test.rb +7 -0
  52. data/spec/integration/plugin_test.rb +1 -1
  53. data/spec/integration/schema_test.rb +3 -3
  54. data/spec/integration/spec_helper.rb +4 -0
  55. data/spec/model/base_spec.rb +6 -0
  56. data/spec/model/eager_loading_spec.rb +31 -6
  57. data/spec/model/model_spec.rb +9 -19
  58. data/spec/model/record_spec.rb +4 -8
  59. metadata +6 -2
@@ -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 = DB.sqls
150
- sqls.length.must_equal 2
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.must_match(/SELECT \* FROM examples WHERE \(\([xy] = [45]\) AND \([xy] = [45]\)\) LIMIT 1/)
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 = DB.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.2.0
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-10-27 00:00:00.000000000 Z
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