class LogStash::PluginMixins::Jdbc::NormalStatementHandler
Public Instance Methods
perform_query(db, sql_last_value, jdbc_paging_enabled, jdbc_page_size) { |row| ... }
click to toggle source
Performs the query, respecting our pagination settings, yielding once per row of data @param db [Sequel::Database] @param sql_last_value [Integet|DateTime|Time] @yieldparam row [Hash{Symbol=>Object}]
# File lib/logstash/plugin_mixins/jdbc/statement_handler.rb, line 32 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
Private Instance Methods
build_query(db, sql_last_value)
click to toggle source
# File lib/logstash/plugin_mixins/jdbc/statement_handler.rb, line 49 def build_query(db, sql_last_value) parameters[:sql_last_value] = sql_last_value query = db[statement, parameters] statement_logger.log_statement_parameters(statement, parameters, query) query end
post_init(plugin)
click to toggle source
# File lib/logstash/plugin_mixins/jdbc/statement_handler.rb, line 56 def post_init(plugin) @parameter_keys = ["sql_last_value"] + plugin.parameters.keys @parameters = plugin.parameters.inject({}) do |hash,(k,v)| case v when LogStash::Timestamp hash[k.to_sym] = v.time else hash[k.to_sym] = v end hash end end