mongo_mapper_parallel 1.0.5 → 1.0.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +8 -8
  2. data/lib/mongo_mapper_parallel.rb +9 -0
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- YjNkY2Q4NTkxNjdjYTU3ODEzMDk3YmEyNDhhM2E1OWQ5OWFlMmFhMw==
4
+ NDQ3Yjk5OTg1YTYyYzQ0MWU4MjliNDlhNDUxMDAxYmVkZjY4ZDQwOQ==
5
5
  data.tar.gz: !binary |-
6
- NjVlNjZhNzE4ZGUzOTFkMDdjMjZlMjZkMjllMDc2YTk5YTg2NTk0OQ==
6
+ NDI0ZWM1MTQ2Yzk4NmZiMTM4ZTIzNzNmOGY2ZWMwYjA3OTZmNTNjZA==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- Njk3NTQxYjJkMjUzOTEyZDdhN2RmNTYwNTVlZDVmYmQxZjE5YWUxNjRmMTFl
10
- Y2U1MzNmZjIzMzQzZTRkYzgwYjZkMDEwMmFjNTU0ZTZjYjNlMjY2ZDM0NWVh
11
- MjkzYjQ3YmZmZDc3MTUyYWMzNjlhZTA2NWUxN2QzMDk3M2U0ZmI=
9
+ NmVjYWE5MTI5YjkwY2ZiMzRiMzdmN2I5Mjk3ZWNlNzJhNzY2ZWVjZmNmODQx
10
+ OGI0ZDA5N2ZiZTM4ZWM4MWFmY2Q3N2RmNGM1ZjYwNjc0MGU1ZTc4NTJkOWM4
11
+ N2JmNGMxODEwOGRiZjU2YWIyYzA2ZjY5MTM2NzQ3ZThmM2Q5ZjQ=
12
12
  data.tar.gz: !binary |-
13
- ZTcyNDM0NDg5Yjc0YTMxMWE0OTM2ZGJiMmZhZmEzNTE2NDZiZDk4NGJjYTI0
14
- YzgxYzZhODA2ZjBiOWE3NDEyMDczNzUwZWY3ZDNkMDk3NmQxZTZhZjJjMWQ1
15
- YWI1OWU5YmYxNzM0YzdlMmE2OGMxMTNkNmZmM2JhYTViMmJiYTg=
13
+ NjJmMTBjNTQ1OTAyMjkzMjcxYTgwYjlhYjU2ZDljYzhkZDFjNWJjZjI5ZjQx
14
+ M2MwZTFhNDllOWM4MGZlMTIzZjcxYzAyM2YyMDc2Y2QzMjI4NTE4YTkwOTAy
15
+ Y2FiNzYzOGVkOWI5M2I5Mzc2ZWNiNGEyYTZhMDg0ZWExMjNjYzM=
@@ -73,6 +73,15 @@ class MongoMapperParallel
73
73
  splits.each_with_index do |split_key,k|
74
74
  @split_keys << MongoMapperParallel::Key.new(:compiler => self, :key => split_key[@split.to_s], :future_key => (splits[k+1] ? splits[k+1][@split.to_s] : nil))
75
75
  end
76
+ if @split_keys.length == 0 and @command_class.count > 0 then get_extreme_split_keys end
77
+ end
78
+
79
+ # Obtains the splitVectors keys by looking at the first and last element of the database if no splitVector is returned.
80
+ #
81
+ # @return [Array<MongoMapperParallel::Key>] the list of the keys that will be used for parallel operation
82
+ def get_extreme_split_keys
83
+ split_key = @command_class.where().order(@split.to_sym).fields(@split.to_sym).first.send(@split.to_sym)
84
+ @split_keys << MongoMapperParallel::Key.new(:compiler => self, :key => split_key, :future_key => nil)
76
85
  end
77
86
 
78
87
  # Instantiates the parallel operation object with the right class, javascript function, and field
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mongo_mapper_parallel
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.5
4
+ version: 1.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonathan Raiman