Class: Fairy::PGroupBy::DirectPQMergeSortBuffer
- Inherits:
-
DirectMergeSortBuffer
- Object
- DirectOnMemoryBuffer
- DirectMergeSortBuffer
- Fairy::PGroupBy::DirectPQMergeSortBuffer
- Defined in:
- lib/fairy/node/p-group-by.rb
Defined Under Namespace
Classes: Merger
Instance Attribute Summary
Attributes inherited from DirectOnMemoryBuffer
Instance Method Summary collapse
- #each_2ndmemory(&block) ⇒ Object
-
#initialize(njob, policy) ⇒ DirectPQMergeSortBuffer
constructor
A new instance of DirectPQMergeSortBuffer.
Methods inherited from DirectMergeSortBuffer
#each, #init_2ndmemory, #open_buffer, #push, #store_2ndmemory
Methods inherited from DirectOnMemoryBuffer
Constructor Details
#initialize(njob, policy) ⇒ DirectPQMergeSortBuffer
Returns a new instance of DirectPQMergeSortBuffer.
1264 1265 1266 1267 |
# File 'lib/fairy/node/p-group-by.rb', line 1264 def initialize(njob, policy) require "priority_queue" super end |
Instance Method Details
#each_2ndmemory(&block) ⇒ Object
1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 |
# File 'lib/fairy/node/p-group-by.rb', line 1269 def each_2ndmemory(&block) unless @key_values.empty? store_2ndmemory(@key_values) @key_values = nil end Log::info(self, "Merge Start: #{@buffers.size} files") Log::debug(self, @buffers.collect{|b| b.path}.join(" ")) m = Merger.new(@njob, @buffers) m.each(&block) end |