Module: Gitlab::Database::BatchCount

Extended by:
BatchCount
Included in:
BatchCount
Defined in:
lib/gitlab/database/batch_count.rb

Instance Method Summary collapse

Instance Method Details

#batch_average(relation, column, batch_size: nil, start: nil, finish: nil) ⇒ Object



50
51
52
# File 'lib/gitlab/database/batch_count.rb', line 50

def batch_average(relation, column, batch_size: nil, start: nil, finish: nil)
  BatchAverageCounter.new(relation, column).count(batch_size: batch_size)
end

#batch_count(relation, column = nil, batch_size: nil, start: nil, finish: nil) ⇒ Object



34
35
36
# File 'lib/gitlab/database/batch_count.rb', line 34

def batch_count(relation, column = nil, batch_size: nil, start: nil, finish: nil)
  BatchCounter.new(relation, column: column).count(batch_size: batch_size, start: start, finish: finish)
end

#batch_count_with_timeout(relation, column = nil, batch_size: nil, start: nil, finish: nil, timeout: nil, partial_results: nil) ⇒ Object



38
39
40
# File 'lib/gitlab/database/batch_count.rb', line 38

def batch_count_with_timeout(relation, column = nil, batch_size: nil, start: nil, finish: nil, timeout: nil, partial_results: nil)
  BatchCounter.new(relation, column: column).count_with_timeout(batch_size: batch_size, start: start, finish: finish, timeout: timeout, partial_results: partial_results)
end

#batch_distinct_count(relation, column = nil, batch_size: nil, start: nil, finish: nil) ⇒ Object



42
43
44
# File 'lib/gitlab/database/batch_count.rb', line 42

def batch_distinct_count(relation, column = nil, batch_size: nil, start: nil, finish: nil)
  BatchCounter.new(relation, column: column).count(mode: :distinct, batch_size: batch_size, start: start, finish: finish)
end

#batch_sum(relation, column, batch_size: nil, start: nil, finish: nil) ⇒ Object



46
47
48
# File 'lib/gitlab/database/batch_count.rb', line 46

def batch_sum(relation, column, batch_size: nil, start: nil, finish: nil)
  BatchCounter.new(relation, column: nil, operation: :sum, operation_args: [column]).count(batch_size: batch_size, start: start, finish: finish)
end