sequel 3.35.0 → 3.36.0
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +78 -0
- data/Rakefile +3 -3
- data/bin/sequel +3 -1
- data/doc/advanced_associations.rdoc +154 -11
- data/doc/migration.rdoc +18 -0
- data/doc/object_model.rdoc +541 -0
- data/doc/opening_databases.rdoc +4 -1
- data/doc/release_notes/3.36.0.txt +245 -0
- data/doc/schema_modification.rdoc +0 -6
- data/lib/sequel/adapters/do/mysql.rb +7 -0
- data/lib/sequel/adapters/jdbc.rb +11 -3
- data/lib/sequel/adapters/jdbc/mysql.rb +3 -5
- data/lib/sequel/adapters/jdbc/postgresql.rb +10 -8
- data/lib/sequel/adapters/jdbc/progress.rb +21 -0
- data/lib/sequel/adapters/mock.rb +2 -6
- data/lib/sequel/adapters/mysql.rb +3 -9
- data/lib/sequel/adapters/mysql2.rb +12 -11
- data/lib/sequel/adapters/postgres.rb +32 -40
- data/lib/sequel/adapters/shared/mssql.rb +15 -11
- data/lib/sequel/adapters/shared/mysql.rb +28 -3
- data/lib/sequel/adapters/shared/oracle.rb +5 -0
- data/lib/sequel/adapters/shared/postgres.rb +59 -5
- data/lib/sequel/adapters/shared/sqlite.rb +3 -13
- data/lib/sequel/adapters/sqlite.rb +0 -7
- data/lib/sequel/adapters/swift/mysql.rb +2 -5
- data/lib/sequel/adapters/tinytds.rb +1 -2
- data/lib/sequel/connection_pool/sharded_threaded.rb +5 -1
- data/lib/sequel/connection_pool/threaded.rb +9 -1
- data/lib/sequel/database/dataset_defaults.rb +3 -1
- data/lib/sequel/database/misc.rb +7 -1
- data/lib/sequel/database/query.rb +11 -3
- data/lib/sequel/database/schema_generator.rb +40 -9
- data/lib/sequel/database/schema_methods.rb +6 -1
- data/lib/sequel/dataset/actions.rb +5 -5
- data/lib/sequel/dataset/prepared_statements.rb +3 -1
- data/lib/sequel/dataset/query.rb +1 -1
- data/lib/sequel/extensions/migration.rb +28 -0
- data/lib/sequel/extensions/pg_auto_parameterize.rb +0 -9
- data/lib/sequel/extensions/pg_inet.rb +89 -0
- data/lib/sequel/extensions/pg_json.rb +178 -0
- data/lib/sequel/extensions/schema_dumper.rb +24 -6
- data/lib/sequel/model/associations.rb +19 -15
- data/lib/sequel/model/base.rb +11 -12
- data/lib/sequel/plugins/composition.rb +1 -2
- data/lib/sequel/plugins/eager_each.rb +59 -0
- data/lib/sequel/plugins/json_serializer.rb +41 -4
- data/lib/sequel/plugins/nested_attributes.rb +72 -52
- data/lib/sequel/plugins/optimistic_locking.rb +8 -0
- data/lib/sequel/plugins/tactical_eager_loading.rb +7 -7
- data/lib/sequel/version.rb +1 -1
- data/spec/adapters/postgres_spec.rb +271 -1
- data/spec/adapters/sqlite_spec.rb +11 -0
- data/spec/core/connection_pool_spec.rb +26 -1
- data/spec/core/database_spec.rb +19 -0
- data/spec/core/dataset_spec.rb +45 -5
- data/spec/core/expression_filters_spec.rb +31 -67
- data/spec/core/mock_adapter_spec.rb +4 -0
- data/spec/extensions/core_extensions_spec.rb +83 -0
- data/spec/extensions/eager_each_spec.rb +34 -0
- data/spec/extensions/inflector_spec.rb +0 -4
- data/spec/extensions/json_serializer_spec.rb +32 -1
- data/spec/extensions/migration_spec.rb +28 -0
- data/spec/extensions/nested_attributes_spec.rb +134 -1
- data/spec/extensions/optimistic_locking_spec.rb +15 -1
- data/spec/extensions/pg_hstore_spec.rb +1 -1
- data/spec/extensions/pg_inet_spec.rb +44 -0
- data/spec/extensions/pg_json_spec.rb +101 -0
- data/spec/extensions/prepared_statements_spec.rb +30 -0
- data/spec/extensions/rcte_tree_spec.rb +9 -0
- data/spec/extensions/schema_dumper_spec.rb +195 -7
- data/spec/extensions/serialization_spec.rb +4 -0
- data/spec/extensions/spec_helper.rb +9 -1
- data/spec/extensions/tactical_eager_loading_spec.rb +8 -0
- data/spec/integration/database_test.rb +5 -1
- data/spec/integration/prepared_statement_test.rb +20 -2
- data/spec/model/associations_spec.rb +27 -0
- data/spec/model/base_spec.rb +54 -0
- data/spec/model/model_spec.rb +6 -0
- data/spec/model/record_spec.rb +18 -0
- data/spec/rcov.opts +2 -0
- metadata +14 -3
data/spec/model/model_spec.rb
CHANGED
@@ -571,6 +571,12 @@ describe Sequel::Model, ".[]" do
|
|
571
571
|
MODEL_DB.sqls.should == ["SELECT * FROM items WHERE id = 9999"]
|
572
572
|
end
|
573
573
|
|
574
|
+
it "should have #[] return nil if no rows match" do
|
575
|
+
@c.dataset._fetch = []
|
576
|
+
@c[1].should == nil
|
577
|
+
MODEL_DB.sqls.should == ["SELECT * FROM items WHERE id = 1"]
|
578
|
+
end
|
579
|
+
|
574
580
|
it "should work correctly for custom primary key" do
|
575
581
|
@c.set_primary_key :name
|
576
582
|
@c['sharon'].should == @c.load(:name => 'sharon', :id => 1)
|
data/spec/model/record_spec.rb
CHANGED
@@ -942,6 +942,15 @@ describe Sequel::Model, "#set_fields" do
|
|
942
942
|
@o1.set_fields({:x => 1, :y => 3, :z=>3, :id=>4}, [:x, :y], :missing=>:raise)
|
943
943
|
@o1.values.should == {:x => 1, :y => 3}
|
944
944
|
end
|
945
|
+
|
946
|
+
it "should use default behavior for an unrecognized :missing option" do
|
947
|
+
@o1.set_fields({:x => 1, :y => 2, :z=>3, :id=>4}, [:x, :y], :missing=>:foo)
|
948
|
+
@o1.values.should == {:x => 1, :y => 2}
|
949
|
+
@o1.set_fields({:x => 9, :y => 8, :z=>6, :id=>7}, [:x, :y, :id], :missing=>:foo)
|
950
|
+
@o1.values.should == {:x => 9, :y => 8, :id=>7}
|
951
|
+
MODEL_DB.sqls.should == []
|
952
|
+
end
|
953
|
+
|
945
954
|
end
|
946
955
|
|
947
956
|
describe Sequel::Model, "#update_fields" do
|
@@ -1530,6 +1539,15 @@ describe Sequel::Model, "typecasting" do
|
|
1530
1539
|
proc{@c.new.x = ''}.should raise_error
|
1531
1540
|
end
|
1532
1541
|
|
1542
|
+
specify "should handle typecasting where == raises an error on the object" do
|
1543
|
+
m = @c.new
|
1544
|
+
o = Object.new
|
1545
|
+
def o.==(v) raise ArgumentError end
|
1546
|
+
def o.to_i() 4 end
|
1547
|
+
m.x = o
|
1548
|
+
m.x.should == 4
|
1549
|
+
end
|
1550
|
+
|
1533
1551
|
specify "should not typecast nil if NULLs are allowed" do
|
1534
1552
|
@c.db_schema[:x][:allow_null] = true
|
1535
1553
|
m = @c.new
|
data/spec/rcov.opts
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sequel
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.36.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-06-01 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: The Database Toolkit for Ruby
|
15
15
|
email: code@jeremyevans.net
|
@@ -41,6 +41,7 @@ extra_rdoc_files:
|
|
41
41
|
- doc/schema_modification.rdoc
|
42
42
|
- doc/transactions.rdoc
|
43
43
|
- doc/thread_safety.rdoc
|
44
|
+
- doc/object_model.rdoc
|
44
45
|
- doc/release_notes/1.0.txt
|
45
46
|
- doc/release_notes/1.1.txt
|
46
47
|
- doc/release_notes/1.3.txt
|
@@ -95,6 +96,7 @@ extra_rdoc_files:
|
|
95
96
|
- doc/release_notes/3.33.0.txt
|
96
97
|
- doc/release_notes/3.34.0.txt
|
97
98
|
- doc/release_notes/3.35.0.txt
|
99
|
+
- doc/release_notes/3.36.0.txt
|
98
100
|
files:
|
99
101
|
- MIT-LICENSE
|
100
102
|
- CHANGELOG
|
@@ -167,6 +169,7 @@ files:
|
|
167
169
|
- doc/release_notes/3.33.0.txt
|
168
170
|
- doc/release_notes/3.34.0.txt
|
169
171
|
- doc/release_notes/3.35.0.txt
|
172
|
+
- doc/release_notes/3.36.0.txt
|
170
173
|
- doc/sharding.rdoc
|
171
174
|
- doc/sql.rdoc
|
172
175
|
- doc/validations.rdoc
|
@@ -176,6 +179,7 @@ files:
|
|
176
179
|
- doc/schema_modification.rdoc
|
177
180
|
- doc/transactions.rdoc
|
178
181
|
- doc/thread_safety.rdoc
|
182
|
+
- doc/object_model.rdoc
|
179
183
|
- spec/adapters/firebird_spec.rb
|
180
184
|
- spec/adapters/informix_spec.rb
|
181
185
|
- spec/adapters/mssql_spec.rb
|
@@ -240,7 +244,7 @@ files:
|
|
240
244
|
- spec/extensions/update_primary_key_spec.rb
|
241
245
|
- spec/extensions/association_pks_spec.rb
|
242
246
|
- spec/extensions/json_serializer_spec.rb
|
243
|
-
- spec/extensions/
|
247
|
+
- spec/extensions/eager_each_spec.rb
|
244
248
|
- spec/extensions/list_spec.rb
|
245
249
|
- spec/extensions/tree_spec.rb
|
246
250
|
- spec/extensions/xml_serializer_spec.rb
|
@@ -269,6 +273,9 @@ files:
|
|
269
273
|
- spec/extensions/static_cache_spec.rb
|
270
274
|
- spec/extensions/query_literals_spec.rb
|
271
275
|
- spec/extensions/dirty_spec.rb
|
276
|
+
- spec/extensions/pg_json_spec.rb
|
277
|
+
- spec/extensions/core_extensions_spec.rb
|
278
|
+
- spec/extensions/pg_inet_spec.rb
|
272
279
|
- spec/extensions/columns_introspection_spec.rb
|
273
280
|
- spec/integration/associations_test.rb
|
274
281
|
- spec/integration/database_test.rb
|
@@ -370,6 +377,7 @@ files:
|
|
370
377
|
- lib/sequel/adapters/jdbc/firebird.rb
|
371
378
|
- lib/sequel/adapters/jdbc/hsqldb.rb
|
372
379
|
- lib/sequel/adapters/jdbc/derby.rb
|
380
|
+
- lib/sequel/adapters/jdbc/progress.rb
|
373
381
|
- lib/sequel/adapters/mysql.rb
|
374
382
|
- lib/sequel/adapters/odbc.rb
|
375
383
|
- lib/sequel/adapters/odbc/mssql.rb
|
@@ -442,6 +450,7 @@ files:
|
|
442
450
|
- lib/sequel/extensions/pg_auto_parameterize.rb
|
443
451
|
- lib/sequel/extensions/pg_statement_cache.rb
|
444
452
|
- lib/sequel/extensions/pg_array.rb
|
453
|
+
- lib/sequel/extensions/pg_json.rb
|
445
454
|
- lib/sequel/extensions/pg_array_ops.rb
|
446
455
|
- lib/sequel/extensions/pg_hstore.rb
|
447
456
|
- lib/sequel/extensions/pg_hstore_ops.rb
|
@@ -452,6 +461,7 @@ files:
|
|
452
461
|
- lib/sequel/extensions/select_remove.rb
|
453
462
|
- lib/sequel/extensions/core_extensions.rb
|
454
463
|
- lib/sequel/extensions/query_literals.rb
|
464
|
+
- lib/sequel/extensions/pg_inet.rb
|
455
465
|
- lib/sequel/metaprogramming.rb
|
456
466
|
- lib/sequel/model.rb
|
457
467
|
- lib/sequel/model/associations.rb
|
@@ -508,6 +518,7 @@ files:
|
|
508
518
|
- lib/sequel/plugins/dataset_associations.rb
|
509
519
|
- lib/sequel/plugins/many_to_one_pk_lookup.rb
|
510
520
|
- lib/sequel/plugins/dirty.rb
|
521
|
+
- lib/sequel/plugins/eager_each.rb
|
511
522
|
- lib/sequel/timezones.rb
|
512
523
|
- lib/sequel/version.rb
|
513
524
|
- lib/sequel/ast_transformer.rb
|