Class: SalesforceChunker::PrimaryKeyChunkingQuery

Inherits:
Job
  • Object
show all
Defined in:
lib/salesforce_chunker/primary_key_chunking_query.rb

Constant Summary

Constants inherited from Job

Job::DEFAULT_RETRY_SECONDS, Job::DEFAULT_TIMEOUT_SECONDS, Job::QUERY_OPERATIONS

Instance Attribute Summary

Attributes inherited from Job

#batches_count

Instance Method Summary collapse

Methods inherited from Job

#close, #create_batch, #download_results, #get_batch_results, #get_completed_batches, #retrieve_batch_results, #retrieve_raw_results, #retrieve_results

Constructor Details

#initialize(connection:, object:, operation:, query:, **options) ⇒ PrimaryKeyChunkingQuery

Returns a new instance of PrimaryKeyChunkingQuery.



4
5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/salesforce_chunker/primary_key_chunking_query.rb', line 4

def initialize(connection:, object:, operation:, query:, **options)
  batch_size = options[:batch_size] || 100000

  if options[:headers].nil?
    options[:headers] = {"Sforce-Enable-PKChunking": "true; chunkSize=#{batch_size};" }
  else
    options[:headers].reverse_merge!({"Sforce-Enable-PKChunking": "true; chunkSize=#{batch_size};" })
  end

  super(connection: connection, object: object, operation: operation, **options)
  @log.info "Using Primary Key Chunking"
  @initial_batch_id = create_batch(query)
end

Instance Method Details

#get_batch_statusesObject



18
19
20
21
22
# File 'lib/salesforce_chunker/primary_key_chunking_query.rb', line 18

def get_batch_statuses
  batches = super
  finalize_chunking_setup(batches) if @batches_count.nil?
  batches
end