sequel 4.34.0 → 4.35.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 +30 -0
- data/Rakefile +14 -17
- data/doc/object_model.rdoc +4 -4
- data/doc/release_notes/4.35.0.txt +130 -0
- data/doc/schema_modification.rdoc +8 -3
- data/doc/security.rdoc +3 -3
- data/lib/sequel/adapters/ado.rb +2 -2
- data/lib/sequel/adapters/ado/access.rb +6 -6
- data/lib/sequel/adapters/ado/mssql.rb +2 -2
- data/lib/sequel/adapters/amalgalite.rb +6 -6
- data/lib/sequel/adapters/cubrid.rb +4 -4
- data/lib/sequel/adapters/do.rb +2 -2
- data/lib/sequel/adapters/do/mysql.rb +1 -1
- data/lib/sequel/adapters/do/postgres.rb +1 -1
- data/lib/sequel/adapters/do/sqlite3.rb +1 -1
- data/lib/sequel/adapters/ibmdb.rb +6 -6
- data/lib/sequel/adapters/jdbc.rb +15 -15
- data/lib/sequel/adapters/jdbc/db2.rb +1 -1
- data/lib/sequel/adapters/jdbc/derby.rb +3 -3
- data/lib/sequel/adapters/jdbc/h2.rb +3 -3
- data/lib/sequel/adapters/jdbc/hsqldb.rb +2 -2
- data/lib/sequel/adapters/jdbc/mssql.rb +1 -1
- data/lib/sequel/adapters/jdbc/mysql.rb +1 -1
- data/lib/sequel/adapters/jdbc/oracle.rb +1 -1
- data/lib/sequel/adapters/jdbc/postgresql.rb +2 -2
- data/lib/sequel/adapters/jdbc/sqlanywhere.rb +1 -1
- data/lib/sequel/adapters/jdbc/sqlite.rb +1 -1
- data/lib/sequel/adapters/jdbc/transactions.rb +10 -10
- data/lib/sequel/adapters/mock.rb +1 -1
- data/lib/sequel/adapters/mysql.rb +2 -2
- data/lib/sequel/adapters/mysql2.rb +2 -2
- data/lib/sequel/adapters/odbc.rb +2 -2
- data/lib/sequel/adapters/odbc/mssql.rb +2 -2
- data/lib/sequel/adapters/oracle.rb +9 -9
- data/lib/sequel/adapters/postgres.rb +3 -3
- data/lib/sequel/adapters/shared/mssql.rb +36 -8
- data/lib/sequel/adapters/shared/oracle.rb +15 -0
- data/lib/sequel/adapters/shared/postgres.rb +22 -1
- data/lib/sequel/adapters/sqlanywhere.rb +1 -1
- data/lib/sequel/adapters/sqlite.rb +7 -7
- data/lib/sequel/adapters/swift.rb +3 -3
- data/lib/sequel/adapters/swift/mysql.rb +1 -1
- data/lib/sequel/adapters/swift/postgres.rb +1 -1
- data/lib/sequel/adapters/swift/sqlite.rb +1 -1
- data/lib/sequel/adapters/tinytds.rb +5 -7
- data/lib/sequel/database/logging.rb +18 -3
- data/lib/sequel/database/misc.rb +19 -8
- data/lib/sequel/database/schema_generator.rb +7 -2
- data/lib/sequel/database/schema_methods.rb +9 -2
- data/lib/sequel/database/transactions.rb +52 -18
- data/lib/sequel/dataset/actions.rb +24 -19
- data/lib/sequel/dataset/features.rb +5 -0
- data/lib/sequel/dataset/query.rb +6 -0
- data/lib/sequel/extensions/_pretty_table.rb +1 -1
- data/lib/sequel/extensions/error_sql.rb +3 -3
- data/lib/sequel/extensions/pg_range.rb +10 -1
- data/lib/sequel/extensions/schema_dumper.rb +8 -5
- data/lib/sequel/extensions/server_logging.rb +61 -0
- data/lib/sequel/extensions/sql_comments.rb +91 -0
- data/lib/sequel/model/associations.rb +40 -8
- data/lib/sequel/model/base.rb +19 -5
- data/lib/sequel/plugins/class_table_inheritance.rb +12 -0
- data/lib/sequel/plugins/delay_add_association.rb +1 -0
- data/lib/sequel/plugins/json_serializer.rb +10 -2
- data/lib/sequel/version.rb +1 -1
- data/spec/adapter_spec.rb +4 -0
- data/spec/adapters/mysql_spec.rb +1 -1
- data/spec/adapters/postgres_spec.rb +3 -2
- data/spec/core/connection_pool_spec.rb +2 -0
- data/spec/core/database_spec.rb +49 -0
- data/spec/core/dataset_spec.rb +25 -1
- data/spec/core/mock_adapter_spec.rb +3 -1
- data/spec/core/schema_generator_spec.rb +1 -1
- data/spec/core_model_spec.rb +2 -0
- data/spec/core_spec.rb +1 -0
- data/spec/extensions/delay_add_association_spec.rb +22 -0
- data/spec/extensions/json_serializer_spec.rb +6 -0
- data/spec/extensions/pg_range_spec.rb +30 -2
- data/spec/extensions/schema_dumper_spec.rb +3 -2
- data/spec/extensions/server_logging_spec.rb +45 -0
- data/spec/extensions/sql_comments_spec.rb +27 -0
- data/spec/files/reversible_migrations/006_reversible.rb +10 -0
- data/spec/files/reversible_migrations/007_reversible.rb +10 -0
- data/spec/integration/dataset_test.rb +28 -2
- data/spec/integration/migrator_test.rb +23 -1
- data/spec/integration/schema_test.rb +12 -32
- data/spec/integration/transaction_test.rb +10 -0
- data/spec/integration/type_test.rb +1 -1
- data/spec/model/eager_loading_spec.rb +16 -0
- data/spec/model/record_spec.rb +9 -0
- data/spec/model_no_assoc_spec.rb +1 -0
- data/spec/model_spec.rb +1 -0
- data/spec/plugin_spec.rb +1 -0
- metadata +16 -2
@@ -131,6 +131,22 @@ describe Sequel::Model, "#eager" do
|
|
131
131
|
DB.sqls.must_equal []
|
132
132
|
end
|
133
133
|
|
134
|
+
it "should eagerly load when using to_hash" do
|
135
|
+
h = EagerAlbum.eager(:band).to_hash
|
136
|
+
DB.sqls.must_equal ['SELECT * FROM albums', 'SELECT * FROM bands WHERE (bands.id IN (2))']
|
137
|
+
h.must_equal(1=>EagerAlbum.load(:id => 1, :band_id => 2))
|
138
|
+
h[1].band.must_equal EagerBand.load(:id=>2)
|
139
|
+
DB.sqls.must_equal []
|
140
|
+
end
|
141
|
+
|
142
|
+
it "should eagerly load when using to_hash_groups" do
|
143
|
+
h = EagerAlbum.eager(:band).to_hash_groups(:id)
|
144
|
+
DB.sqls.must_equal ['SELECT * FROM albums', 'SELECT * FROM bands WHERE (bands.id IN (2))']
|
145
|
+
h.must_equal(1=>[EagerAlbum.load(:id => 1, :band_id => 2)])
|
146
|
+
h[1].first.band.must_equal EagerBand.load(:id=>2)
|
147
|
+
DB.sqls.must_equal []
|
148
|
+
end
|
149
|
+
|
134
150
|
it "should skip eager loading for a many_to_one association with no matching keys" do
|
135
151
|
EagerAlbum.dataset._fetch = [{:id=>1, :band_id=>nil}]
|
136
152
|
a = EagerAlbum.eager(:band).all
|
data/spec/model/record_spec.rb
CHANGED
@@ -2142,6 +2142,15 @@ describe "Model#lock!" do
|
|
2142
2142
|
o.instance_variable_get(:@a).must_equal 1
|
2143
2143
|
DB.sqls.must_equal ["SELECT * FROM items WHERE (id = 1) LIMIT 1 FOR UPDATE"]
|
2144
2144
|
end
|
2145
|
+
|
2146
|
+
it "should refresh the record using the specified lock when it is not a new record and a style is given" do
|
2147
|
+
o = @c.load(:id => 1)
|
2148
|
+
def o._refresh(x) instance_variable_set(:@a, 1); super(x) end
|
2149
|
+
x = o.lock!('FOR NO KEY UPDATE')
|
2150
|
+
x.must_equal o
|
2151
|
+
o.instance_variable_get(:@a).must_equal 1
|
2152
|
+
DB.sqls.must_equal ["SELECT * FROM items WHERE (id = 1) LIMIT 1 FOR NO KEY UPDATE"]
|
2153
|
+
end
|
2145
2154
|
end
|
2146
2155
|
|
2147
2156
|
describe "Model#schema_type_class" do
|
@@ -0,0 +1 @@
|
|
1
|
+
Dir['./spec/model/*_spec.rb'].delete_if{|f| f =~ /association|eager_loading/}.each{|f| require f}
|
data/spec/model_spec.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
Dir['./spec/model/*_spec.rb'].each{|f| require f}
|
data/spec/plugin_spec.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
Dir['./spec/extensions/*_spec.rb'].each{|f| require f}
|
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: 4.
|
4
|
+
version: 4.35.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: 2016-
|
11
|
+
date: 2016-06-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: minitest
|
@@ -235,6 +235,7 @@ extra_rdoc_files:
|
|
235
235
|
- doc/release_notes/4.32.0.txt
|
236
236
|
- doc/release_notes/4.33.0.txt
|
237
237
|
- doc/release_notes/4.34.0.txt
|
238
|
+
- doc/release_notes/4.35.0.txt
|
238
239
|
files:
|
239
240
|
- CHANGELOG
|
240
241
|
- MIT-LICENSE
|
@@ -358,6 +359,7 @@ files:
|
|
358
359
|
- doc/release_notes/4.32.0.txt
|
359
360
|
- doc/release_notes/4.33.0.txt
|
360
361
|
- doc/release_notes/4.34.0.txt
|
362
|
+
- doc/release_notes/4.35.0.txt
|
361
363
|
- doc/release_notes/4.4.0.txt
|
362
364
|
- doc/release_notes/4.5.0.txt
|
363
365
|
- doc/release_notes/4.6.0.txt
|
@@ -524,8 +526,10 @@ files:
|
|
524
526
|
- lib/sequel/extensions/select_remove.rb
|
525
527
|
- lib/sequel/extensions/sequel_3_dataset_methods.rb
|
526
528
|
- lib/sequel/extensions/server_block.rb
|
529
|
+
- lib/sequel/extensions/server_logging.rb
|
527
530
|
- lib/sequel/extensions/set_overrides.rb
|
528
531
|
- lib/sequel/extensions/split_array_nil.rb
|
532
|
+
- lib/sequel/extensions/sql_comments.rb
|
529
533
|
- lib/sequel/extensions/sql_expr.rb
|
530
534
|
- lib/sequel/extensions/string_date_time.rb
|
531
535
|
- lib/sequel/extensions/thread_local_timezones.rb
|
@@ -621,6 +625,7 @@ files:
|
|
621
625
|
- lib/sequel/sql.rb
|
622
626
|
- lib/sequel/timezones.rb
|
623
627
|
- lib/sequel/version.rb
|
628
|
+
- spec/adapter_spec.rb
|
624
629
|
- spec/adapters/db2_spec.rb
|
625
630
|
- spec/adapters/firebird_spec.rb
|
626
631
|
- spec/adapters/informix_spec.rb
|
@@ -645,6 +650,8 @@ files:
|
|
645
650
|
- spec/core/spec_helper.rb
|
646
651
|
- spec/core/version_spec.rb
|
647
652
|
- spec/core_extensions_spec.rb
|
653
|
+
- spec/core_model_spec.rb
|
654
|
+
- spec/core_spec.rb
|
648
655
|
- spec/extensions/accessed_columns_spec.rb
|
649
656
|
- spec/extensions/active_model_spec.rb
|
650
657
|
- spec/extensions/after_initialize_spec.rb
|
@@ -747,6 +754,7 @@ files:
|
|
747
754
|
- spec/extensions/serialization_modification_detection_spec.rb
|
748
755
|
- spec/extensions/serialization_spec.rb
|
749
756
|
- spec/extensions/server_block_spec.rb
|
757
|
+
- spec/extensions/server_logging_spec.rb
|
750
758
|
- spec/extensions/set_overrides_spec.rb
|
751
759
|
- spec/extensions/sharding_spec.rb
|
752
760
|
- spec/extensions/shared_caching_spec.rb
|
@@ -756,6 +764,7 @@ files:
|
|
756
764
|
- spec/extensions/spec_helper.rb
|
757
765
|
- spec/extensions/split_array_nil_spec.rb
|
758
766
|
- spec/extensions/split_values_spec.rb
|
767
|
+
- spec/extensions/sql_comments_spec.rb
|
759
768
|
- spec/extensions/sql_expr_spec.rb
|
760
769
|
- spec/extensions/static_cache_spec.rb
|
761
770
|
- spec/extensions/string_date_time_spec.rb
|
@@ -819,6 +828,8 @@ files:
|
|
819
828
|
- spec/files/reversible_migrations/003_reversible.rb
|
820
829
|
- spec/files/reversible_migrations/004_reversible.rb
|
821
830
|
- spec/files/reversible_migrations/005_reversible.rb
|
831
|
+
- spec/files/reversible_migrations/006_reversible.rb
|
832
|
+
- spec/files/reversible_migrations/007_reversible.rb
|
822
833
|
- spec/files/timestamped_migrations/1273253849_create_sessions.rb
|
823
834
|
- spec/files/timestamped_migrations/1273253851_create_nodes.rb
|
824
835
|
- spec/files/timestamped_migrations/1273253853_3_create_users.rb
|
@@ -856,6 +867,9 @@ files:
|
|
856
867
|
- spec/model/record_spec.rb
|
857
868
|
- spec/model/spec_helper.rb
|
858
869
|
- spec/model/validations_spec.rb
|
870
|
+
- spec/model_no_assoc_spec.rb
|
871
|
+
- spec/model_spec.rb
|
872
|
+
- spec/plugin_spec.rb
|
859
873
|
- spec/sequel_coverage.rb
|
860
874
|
- spec/spec_config.rb
|
861
875
|
homepage: http://sequel.jeremyevans.net
|