sequel 5.33.0 → 5.35.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG +42 -0
- data/doc/association_basics.rdoc +7 -2
- data/doc/dataset_filtering.rdoc +2 -2
- data/doc/release_notes/5.34.0.txt +40 -0
- data/doc/release_notes/5.35.0.txt +56 -0
- data/lib/sequel/adapters/oracle.rb +2 -1
- data/lib/sequel/adapters/shared/sqlite.rb +8 -2
- data/lib/sequel/adapters/tinytds.rb +1 -0
- data/lib/sequel/connection_pool/sharded_single.rb +4 -1
- data/lib/sequel/connection_pool/sharded_threaded.rb +10 -10
- data/lib/sequel/connection_pool/single.rb +1 -1
- data/lib/sequel/connection_pool/threaded.rb +1 -1
- data/lib/sequel/database/connecting.rb +1 -1
- data/lib/sequel/database/misc.rb +16 -10
- data/lib/sequel/database/query.rb +2 -0
- data/lib/sequel/database/schema_generator.rb +0 -1
- data/lib/sequel/database/schema_methods.rb +15 -16
- data/lib/sequel/database/transactions.rb +7 -4
- data/lib/sequel/dataset/placeholder_literalizer.rb +3 -7
- data/lib/sequel/dataset/query.rb +5 -4
- data/lib/sequel/deprecated.rb +3 -1
- data/lib/sequel/exceptions.rb +2 -0
- data/lib/sequel/extensions/_pretty_table.rb +1 -2
- data/lib/sequel/extensions/columns_introspection.rb +1 -2
- data/lib/sequel/extensions/core_refinements.rb +2 -0
- data/lib/sequel/extensions/duplicate_columns_handler.rb +2 -0
- data/lib/sequel/extensions/migration.rb +0 -1
- data/lib/sequel/extensions/pg_array_ops.rb +4 -0
- data/lib/sequel/extensions/pg_enum.rb +2 -0
- data/lib/sequel/extensions/pg_extended_date_support.rb +1 -1
- data/lib/sequel/extensions/pg_hstore_ops.rb +2 -0
- data/lib/sequel/extensions/pg_inet.rb +2 -0
- data/lib/sequel/extensions/pg_json_ops.rb +2 -0
- data/lib/sequel/extensions/pg_range.rb +3 -7
- data/lib/sequel/extensions/pg_range_ops.rb +2 -0
- data/lib/sequel/extensions/pg_row.rb +0 -1
- data/lib/sequel/extensions/run_transaction_hooks.rb +1 -1
- data/lib/sequel/extensions/s.rb +2 -0
- data/lib/sequel/extensions/symbol_aref_refinement.rb +2 -0
- data/lib/sequel/extensions/symbol_as_refinement.rb +2 -0
- data/lib/sequel/extensions/to_dot.rb +9 -3
- data/lib/sequel/model.rb +2 -0
- data/lib/sequel/model/associations.rb +36 -20
- data/lib/sequel/model/base.rb +11 -5
- data/lib/sequel/model/plugins.rb +2 -3
- data/lib/sequel/plugins/association_pks.rb +60 -18
- data/lib/sequel/plugins/blacklist_security.rb +1 -2
- data/lib/sequel/plugins/class_table_inheritance.rb +3 -3
- data/lib/sequel/plugins/csv_serializer.rb +2 -0
- data/lib/sequel/plugins/forbid_lazy_load.rb +2 -0
- data/lib/sequel/plugins/instance_specific_default.rb +113 -0
- data/lib/sequel/plugins/lazy_attributes.rb +1 -1
- data/lib/sequel/plugins/pg_array_associations.rb +2 -3
- data/lib/sequel/plugins/prepared_statements.rb +5 -11
- data/lib/sequel/plugins/prepared_statements_safe.rb +1 -3
- data/lib/sequel/plugins/rcte_tree.rb +10 -16
- data/lib/sequel/plugins/string_stripper.rb +1 -1
- data/lib/sequel/plugins/validation_class_methods.rb +5 -1
- data/lib/sequel/version.rb +1 -1
- metadata +7 -2
@@ -66,9 +66,7 @@ module Sequel
|
|
66
66
|
# Merge the current values into the default values to reduce the number
|
67
67
|
# of free columns.
|
68
68
|
def before_create
|
69
|
-
|
70
|
-
@values = v.merge(values)
|
71
|
-
end
|
69
|
+
@values = model.prepared_statements_column_defaults.merge(@values)
|
72
70
|
super
|
73
71
|
end
|
74
72
|
|
@@ -192,23 +192,19 @@ module Sequel
|
|
192
192
|
:args=>((key_aliases + col_aliases) if col_aliases))
|
193
193
|
ds = r.apply_eager_dataset_changes(ds)
|
194
194
|
ds = ds.select_append(ka) unless ds.opts[:select] == nil
|
195
|
-
model.eager_load_results(r, eo.merge(:loader=>false, :
|
195
|
+
model.eager_load_results(r, eo.merge(:loader=>false, :initialize_rows=>false, :dataset=>ds, :id_map=>nil)) do |obj|
|
196
196
|
opk = prkey_conv[obj]
|
197
|
-
if parent_map
|
198
|
-
|
199
|
-
|
200
|
-
obj = idm_obj
|
201
|
-
end
|
197
|
+
if idm_obj = parent_map[opk]
|
198
|
+
key_aliases.each{|ka_| idm_obj.values[ka_] = obj.values[ka_]}
|
199
|
+
obj = idm_obj
|
202
200
|
else
|
203
201
|
obj.associations[parent] = nil
|
204
202
|
parent_map[opk] = obj
|
205
203
|
(children_map[key_conv[obj]] ||= []) << obj
|
206
204
|
end
|
207
205
|
|
208
|
-
|
209
|
-
|
210
|
-
root.associations[ancestors] << obj
|
211
|
-
end
|
206
|
+
id_map[extract_key_alias[obj]].each do |root|
|
207
|
+
root.associations[ancestors] << obj
|
212
208
|
end
|
213
209
|
end
|
214
210
|
parent_map.each do |parent_id, obj|
|
@@ -300,17 +296,15 @@ module Sequel
|
|
300
296
|
:args=>((key_aliases + col_aliases + (level ? [la] : [])) if col_aliases))
|
301
297
|
ds = r.apply_eager_dataset_changes(ds)
|
302
298
|
ds = ds.select_append(ka) unless ds.opts[:select] == nil
|
303
|
-
model.eager_load_results(r, eo.merge(:loader=>false, :
|
299
|
+
model.eager_load_results(r, eo.merge(:loader=>false, :initialize_rows=>false, :dataset=>ds, :id_map=>nil, :associations=>OPTS)) do |obj|
|
304
300
|
if level
|
305
301
|
no_cache = no_cache_level == obj.values.delete(la)
|
306
302
|
end
|
307
303
|
|
308
304
|
opk = prkey_conv[obj]
|
309
|
-
if parent_map
|
310
|
-
|
311
|
-
|
312
|
-
obj = idm_obj
|
313
|
-
end
|
305
|
+
if idm_obj = parent_map[opk]
|
306
|
+
key_aliases.each{|ka_| idm_obj.values[ka_] = obj.values[ka_]}
|
307
|
+
obj = idm_obj
|
314
308
|
else
|
315
309
|
obj.associations[childrena] = [] unless no_cache
|
316
310
|
parent_map[opk] = obj
|
@@ -28,7 +28,7 @@ module Sequel
|
|
28
28
|
model.plugin(:input_transformer, :string_stripper){|v| (v.is_a?(String) && !v.is_a?(SQL::Blob)) ? v.strip : v}
|
29
29
|
end
|
30
30
|
def self.configure(model)
|
31
|
-
model.
|
31
|
+
model.send(:set_skipped_string_stripping_columns)
|
32
32
|
end
|
33
33
|
|
34
34
|
module ClassMethods
|
@@ -194,7 +194,11 @@ module Sequel
|
|
194
194
|
def validates_each(*atts, &block)
|
195
195
|
opts = extract_options!(atts)
|
196
196
|
blank_meth = db.method(:blank_object?).to_proc
|
197
|
-
|
197
|
+
i = opts[:if]
|
198
|
+
am = opts[:allow_missing]
|
199
|
+
an = opts[:allow_nil]
|
200
|
+
ab = opts[:allow_blank]
|
201
|
+
blk = if i || am || an || ab
|
198
202
|
if i.is_a?(Proc)
|
199
203
|
i = Plugins.def_sequel_method(self, "validation_class_methods_if", 0, &i)
|
200
204
|
end
|
data/lib/sequel/version.rb
CHANGED
@@ -6,7 +6,7 @@ module Sequel
|
|
6
6
|
|
7
7
|
# The minor version of Sequel. Bumped for every non-patch level
|
8
8
|
# release, generally around once a month.
|
9
|
-
MINOR =
|
9
|
+
MINOR = 35
|
10
10
|
|
11
11
|
# The tiny version of Sequel. Usually 0, only bumped for bugfix
|
12
12
|
# releases that fix regressions from previous versions.
|
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.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: 2020-
|
11
|
+
date: 2020-08-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: minitest
|
@@ -181,6 +181,8 @@ extra_rdoc_files:
|
|
181
181
|
- doc/release_notes/5.31.0.txt
|
182
182
|
- doc/release_notes/5.32.0.txt
|
183
183
|
- doc/release_notes/5.33.0.txt
|
184
|
+
- doc/release_notes/5.34.0.txt
|
185
|
+
- doc/release_notes/5.35.0.txt
|
184
186
|
files:
|
185
187
|
- CHANGELOG
|
186
188
|
- MIT-LICENSE
|
@@ -235,6 +237,8 @@ files:
|
|
235
237
|
- doc/release_notes/5.31.0.txt
|
236
238
|
- doc/release_notes/5.32.0.txt
|
237
239
|
- doc/release_notes/5.33.0.txt
|
240
|
+
- doc/release_notes/5.34.0.txt
|
241
|
+
- doc/release_notes/5.35.0.txt
|
238
242
|
- doc/release_notes/5.4.0.txt
|
239
243
|
- doc/release_notes/5.5.0.txt
|
240
244
|
- doc/release_notes/5.6.0.txt
|
@@ -460,6 +464,7 @@ files:
|
|
460
464
|
- lib/sequel/plugins/insert_returning_select.rb
|
461
465
|
- lib/sequel/plugins/instance_filters.rb
|
462
466
|
- lib/sequel/plugins/instance_hooks.rb
|
467
|
+
- lib/sequel/plugins/instance_specific_default.rb
|
463
468
|
- lib/sequel/plugins/inverted_subsets.rb
|
464
469
|
- lib/sequel/plugins/json_serializer.rb
|
465
470
|
- lib/sequel/plugins/lazy_attributes.rb
|