Class: LogStash::PluginMixins::Jdbc::NormalStatementHandler

Inherits:
StatementHandler show all
Defined in:
lib/logstash/plugin_mixins/jdbc/statement_handler.rb

Direct Known Subclasses

ExplicitPagingModeStatementHandler

Instance Attribute Summary

Attributes inherited from StatementHandler

#parameters, #statement, #statement_logger

Instance Method Summary collapse

Methods inherited from StatementHandler

build_statement_handler, #initialize

Constructor Details

This class inherits a constructor from LogStash::PluginMixins::Jdbc::StatementHandler

Instance Method Details

#perform_query(db, sql_last_value, jdbc_paging_enabled, jdbc_page_size) {|row| ... } ⇒ Object

Performs the query, respecting our pagination settings, yielding once per row of data

Parameters:

  • db (Sequel::Database)
  • sql_last_value (Integer|DateTime|Time)
  • jdbc_paging_enabled (Boolean)
  • jdbc_page_size (Integer)

Yield Parameters:

  • row (Hash{Symbol=>Object})


42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/logstash/plugin_mixins/jdbc/statement_handler.rb', line 42

def perform_query(db, sql_last_value, jdbc_paging_enabled, jdbc_page_size)
  query = build_query(db, sql_last_value)
  if jdbc_paging_enabled
    query.each_page(jdbc_page_size) do |paged_dataset|
      paged_dataset.each do |row|
        yield row
      end
    end
  else
    query.each do |row|
      yield row
    end
  end
end