logstash-integration-jdbc 5.1.1 → 5.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +15 -0
- data/NOTICE.TXT +5 -0
- data/docs/filter-jdbc_static.asciidoc +10 -1
- data/lib/logstash/filters/jdbc/lookup.rb +5 -2
- data/lib/logstash/inputs/jdbc.rb +10 -13
- data/lib/logstash/plugin_mixins/jdbc/jdbc.rb +1 -2
- data/lib/logstash/plugin_mixins/jdbc_streaming/parameter_handler.rb +1 -1
- data/lib/logstash/plugin_mixins/jdbc_streaming/statement_handler.rb +5 -2
- data/logstash-integration-jdbc.gemspec +3 -2
- data/spec/filters/jdbc/lookup_spec.rb +35 -0
- data/spec/inputs/jdbc_spec.rb +1 -1
- data/spec/plugin_mixins/jdbc_streaming/parameter_handler_spec.rb +23 -0
- metadata +22 -6
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 71904a199b39255cbefb08b1c43a08e0507df8af19be11ae3b57b69519d337f5
         | 
| 4 | 
            +
              data.tar.gz: 17e4ef460ad1e9d51d0ecada1d94b6d41951a65e65f316e287ad58331f5a4211
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 503737f45cfcba0724d533664b14bda25bf9abd0c5de549973857855f00722a666022693d1d22e517b735e6171a06d20cd31e11492c7d60321b3456627eab05f
         | 
| 7 | 
            +
              data.tar.gz: 78d36bd182723abdc72ebf7809f76b86111d3e8bc4111bb08c5a8363fe88e8fe38c4ab563f1408f60c7b0b491f3802c69a31259e4035e8bebcd4bbfc5e8636d9
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    | @@ -1,3 +1,18 @@ | |
| 1 | 
            +
            ## 5.1.5
         | 
| 2 | 
            +
              - Refined ECS support [#82](https://github.com/logstash-plugins/logstash-integration-jdbc/pull/82)
         | 
| 3 | 
            +
                - Uses shared `target` guidance when ECS compatibility is enabled
         | 
| 4 | 
            +
                - Uses Logstash's EventFactory instead of instantiating events directly
         | 
| 5 | 
            +
             | 
| 6 | 
            +
            ## 5.1.4
         | 
| 7 | 
            +
              - [DOC] Update filter-jdbc_static doc to describe ECS compatibility [#79](https://github.com/logstash-plugins/logstash-integration-jdbc/pull/79)
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            ## 5.1.3
         | 
| 10 | 
            +
              - Improve robustness when handling errors from `sequel` library in jdbc static and streaming
         | 
| 11 | 
            +
                filters [#78](https://github.com/logstash-plugins/logstash-integration-jdbc/pull/78)
         | 
| 12 | 
            +
             | 
| 13 | 
            +
            ## 5.1.2
         | 
| 14 | 
            +
              -  Fix `prepared_statement_bind_values` in streaming filter to resolve nested event's fields [#76](https://github.com/logstash-plugins/logstash-integration-jdbc/pull/76)
         | 
| 15 | 
            +
             | 
| 1 16 | 
             
            ## 5.1.1
         | 
| 2 17 | 
             
              - [DOC] Changed docs to indicate that logstash-jdbc-static requires local_table [#56](https://github.com/logstash-plugins/logstash-integration-jdbc/pull/56). Fixes [#55](https://github.com/logstash-plugins/logstash-integration-jdbc/issues/55).
         | 
| 3 18 |  | 
    
        data/NOTICE.TXT
    ADDED
    
    
| @@ -264,8 +264,17 @@ order is in place. | |
| 264 264 | 
             
            ===============================
         | 
| 265 265 |  | 
| 266 266 |  | 
| 267 | 
            +
            [id="plugins-{type}s-{plugin}-ecs"]
         | 
| 268 | 
            +
            ==== Compatibility with the Elastic Common Schema (ECS)
         | 
| 269 | 
            +
             | 
| 270 | 
            +
            This plugin is compatible with the {ecs-ref}[Elastic Common Schema (ECS)]. 
         | 
| 271 | 
            +
            It behaves the same regardless of ECS compatibility, except giving a warning when ECS is enabled and `target` isn't set.
         | 
| 272 | 
            +
             | 
| 273 | 
            +
            TIP: Set the `target` option to avoid potential schema conflicts.
         | 
| 274 | 
            +
             | 
| 275 | 
            +
             | 
| 267 276 | 
             
            [id="plugins-{type}s-{plugin}-options"]
         | 
| 268 | 
            -
            ==== Jdbc_static  | 
| 277 | 
            +
            ==== Jdbc_static filter configuration options
         | 
| 269 278 |  | 
| 270 279 | 
             
            This plugin supports the following configuration options plus the <<plugins-{type}s-{plugin}-common-options>> described later.
         | 
| 271 280 |  | 
| @@ -162,8 +162,11 @@ module LogStash module Filters module Jdbc | |
| 162 162 | 
             
                  begin
         | 
| 163 163 | 
             
                    logger.debug? && logger.debug("Executing Jdbc query", :lookup_id => @id, :statement => query, :parameters => params)
         | 
| 164 164 | 
             
                    proc.call(local, query, params, result)
         | 
| 165 | 
            -
                  rescue  | 
| 166 | 
            -
                    #  | 
| 165 | 
            +
                  rescue => e
         | 
| 166 | 
            +
                    # In theory all exceptions in Sequel should be wrapped in Sequel::Error
         | 
| 167 | 
            +
                    # However, there are cases where other errors can occur - a `SQLTransactionRollbackException`
         | 
| 168 | 
            +
                    # may be thrown during `prepareStatement`. Let's handle these cases here, where we can tag and warn
         | 
| 169 | 
            +
                    # appropriately rather than bubble up and potentially crash the plugin.
         | 
| 167 170 | 
             
                    result.failed!
         | 
| 168 171 | 
             
                    logger.warn? && logger.warn("Exception when executing Jdbc query", :lookup_id => @id, :exception => e.message, :backtrace => e.backtrace.take(8))
         | 
| 169 172 | 
             
                  end
         | 
    
        data/lib/logstash/inputs/jdbc.rb
    CHANGED
    
    | @@ -4,8 +4,11 @@ require "logstash/namespace" | |
| 4 4 | 
             
            require "logstash/plugin_mixins/jdbc/common"
         | 
| 5 5 | 
             
            require "logstash/plugin_mixins/jdbc/jdbc"
         | 
| 6 6 | 
             
            require "logstash/plugin_mixins/ecs_compatibility_support"
         | 
| 7 | 
            +
            require "logstash/plugin_mixins/ecs_compatibility_support/target_check"
         | 
| 7 8 | 
             
            require "logstash/plugin_mixins/validator_support/field_reference_validation_adapter"
         | 
| 8 9 |  | 
| 10 | 
            +
            require "logstash/plugin_mixins/event_support/event_factory_adapter"
         | 
| 11 | 
            +
             | 
| 9 12 | 
             
            # this require_relative returns early unless the JRuby version is between 9.2.0.0 and 9.2.8.0
         | 
| 10 13 | 
             
            require_relative "tzinfo_jruby_patch"
         | 
| 11 14 |  | 
| @@ -131,8 +134,14 @@ require_relative "tzinfo_jruby_patch" | |
| 131 134 | 
             
            module LogStash module Inputs class Jdbc < LogStash::Inputs::Base
         | 
| 132 135 | 
             
              include LogStash::PluginMixins::Jdbc::Common
         | 
| 133 136 | 
             
              include LogStash::PluginMixins::Jdbc::Jdbc
         | 
| 137 | 
            +
             | 
| 134 138 | 
             
              # adds ecs_compatibility config which could be :disabled or :v1
         | 
| 135 139 | 
             
              include LogStash::PluginMixins::ECSCompatibilitySupport(:disabled,:v1,:v8 => :v1)
         | 
| 140 | 
            +
              include LogStash::PluginMixins::ECSCompatibilitySupport::TargetCheck
         | 
| 141 | 
            +
             | 
| 142 | 
            +
              # adds `event_factory` and `targeted_event_factory
         | 
| 143 | 
            +
              include LogStash::PluginMixins::EventSupport::EventFactoryAdapter
         | 
| 144 | 
            +
             | 
| 136 145 | 
             
              # adds :field_reference validator adapter
         | 
| 137 146 | 
             
              extend LogStash::PluginMixins::ValidatorSupport::FieldReferenceValidationAdapter
         | 
| 138 147 |  | 
| @@ -270,13 +279,6 @@ module LogStash module Inputs class Jdbc < LogStash::Inputs::Base | |
| 270 279 | 
             
                    converters[encoding] = converter
         | 
| 271 280 | 
             
                  end
         | 
| 272 281 | 
             
                end
         | 
| 273 | 
            -
             | 
| 274 | 
            -
                # target must be populated if ecs_compatibility is not :disabled
         | 
| 275 | 
            -
                if @target.nil? && ecs_compatibility != :disabled
         | 
| 276 | 
            -
                  logger.info('ECS compatibility is enabled but no ``target`` option was specified, it is recommended'\
         | 
| 277 | 
            -
                              ' to set the option to avoid potential schema conflicts (if your data is ECS compliant or'\
         | 
| 278 | 
            -
                              ' non-conflicting feel free to ignore this message)')
         | 
| 279 | 
            -
                end
         | 
| 280 282 | 
             
              end # def register
         | 
| 281 283 |  | 
| 282 284 | 
             
              # test injection points
         | 
| @@ -335,12 +337,7 @@ module LogStash module Inputs class Jdbc < LogStash::Inputs::Base | |
| 335 337 | 
             
                    ## do the necessary conversions to string elements
         | 
| 336 338 | 
             
                    row = Hash[row.map { |k, v| [k.to_s, convert(k, v)] }]
         | 
| 337 339 | 
             
                  end
         | 
| 338 | 
            -
                   | 
| 339 | 
            -
                    event = LogStash::Event.new
         | 
| 340 | 
            -
                    event.set(@target, row)
         | 
| 341 | 
            -
                  else
         | 
| 342 | 
            -
                    event = LogStash::Event.new(row)
         | 
| 343 | 
            -
                  end
         | 
| 340 | 
            +
                  event = targeted_event_factory.new_event(row)
         | 
| 344 341 | 
             
                  decorate(event)
         | 
| 345 342 | 
             
                  queue << event
         | 
| 346 343 | 
             
                end
         | 
| @@ -119,8 +119,7 @@ module LogStash  module PluginMixins module Jdbc | |
| 119 119 | 
             
                      else
         | 
| 120 120 | 
             
                        @logger.error("Failed to connect to database. #{@jdbc_pool_timeout} second timeout exceeded. Trying again.")
         | 
| 121 121 | 
             
                      end
         | 
| 122 | 
            -
                     | 
| 123 | 
            -
                    rescue ::Sequel::Error => e
         | 
| 122 | 
            +
                    rescue Java::JavaSql::SQLException, ::Sequel::Error => e
         | 
| 124 123 | 
             
                      if retry_attempts <= 0
         | 
| 125 124 | 
             
                        log_java_exception(e.cause)
         | 
| 126 125 | 
             
                        @logger.error("Unable to connect to database. Tried #{@connection_retry_attempts} times", error_details(e, trace: true))
         | 
| @@ -38,8 +38,11 @@ module LogStash module PluginMixins module JdbcStreaming | |
| 38 38 | 
             
                    begin
         | 
| 39 39 | 
             
                      logger.debug? && logger.debug("Executing JDBC query", :statement => statement, :parameters => params)
         | 
| 40 40 | 
             
                      execute_extract_records(db, params, result)
         | 
| 41 | 
            -
                    rescue  | 
| 42 | 
            -
                      #  | 
| 41 | 
            +
                    rescue => e
         | 
| 42 | 
            +
                      # In theory all exceptions in Sequel should be wrapped in Sequel::Error
         | 
| 43 | 
            +
                      # However, there are cases where other errors can occur - a `SQLException`may be thrown
         | 
| 44 | 
            +
                      # during `prepareStatement`. Let's handle these cases here, where we can tag and warn
         | 
| 45 | 
            +
                      # appropriately rather than bubble up and potentially crash the plugin.
         | 
| 43 46 | 
             
                      result.failed!
         | 
| 44 47 | 
             
                      logger.warn? && logger.warn("Exception when executing JDBC query", :statement => statement, :parameters => params, :exception => e)
         | 
| 45 48 | 
             
                    end
         | 
| @@ -1,6 +1,6 @@ | |
| 1 1 | 
             
            Gem::Specification.new do |s|
         | 
| 2 2 | 
             
              s.name = 'logstash-integration-jdbc'
         | 
| 3 | 
            -
              s.version         = '5.1. | 
| 3 | 
            +
              s.version         = '5.1.5'
         | 
| 4 4 | 
             
              s.licenses = ['Apache License (2.0)']
         | 
| 5 5 | 
             
              s.summary         = "Integration with JDBC - input and filter plugins"
         | 
| 6 6 | 
             
              s.description     = "This gem is a Logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/logstash-plugin install gemname. This gem is not a stand-alone program"
         | 
| @@ -36,8 +36,9 @@ Gem::Specification.new do |s| | |
| 36 36 | 
             
              s.add_runtime_dependency 'tzinfo-data'
         | 
| 37 37 | 
             
              # 3.5 limitation is required for jdbc-static loading schedule
         | 
| 38 38 | 
             
              s.add_runtime_dependency 'rufus-scheduler', '< 3.5'
         | 
| 39 | 
            -
              s.add_runtime_dependency 'logstash-mixin-ecs_compatibility_support', '~>1. | 
| 39 | 
            +
              s.add_runtime_dependency 'logstash-mixin-ecs_compatibility_support', '~>1.3'
         | 
| 40 40 | 
             
              s.add_runtime_dependency "logstash-mixin-validator_support", '~> 1.0'
         | 
| 41 | 
            +
              s.add_runtime_dependency "logstash-mixin-event_support", '~> 1.0'
         | 
| 41 42 |  | 
| 42 43 | 
             
              s.add_development_dependency "childprocess"
         | 
| 43 44 | 
             
              s.add_development_dependency 'logstash-devutils'
         | 
| @@ -249,6 +249,41 @@ module LogStash module Filters module Jdbc | |
| 249 249 | 
             
                  end
         | 
| 250 250 | 
             
                end
         | 
| 251 251 |  | 
| 252 | 
            +
                describe "lookup operations when prepareStatement throws" do
         | 
| 253 | 
            +
                  let(:local_db) { double("local_db") }
         | 
| 254 | 
            +
                  let(:lookup_hash) do
         | 
| 255 | 
            +
                    {
         | 
| 256 | 
            +
                        "query" => "select * from servers WHERE ip LIKE ? AND os LIKE ?",
         | 
| 257 | 
            +
                        "prepared_parameters" => ["%%{[ip]}"],
         | 
| 258 | 
            +
                        "target" => "server",
         | 
| 259 | 
            +
                        "tag_on_failure" => ["_jdbcstaticfailure_server"]
         | 
| 260 | 
            +
                    }
         | 
| 261 | 
            +
                  end
         | 
| 262 | 
            +
                  let(:event) { LogStash::Event.new()}
         | 
| 263 | 
            +
                  let(:records) { [{"name" => "ldn-1-23", "rack" => "2:1:6"}] }
         | 
| 264 | 
            +
                  let(:prepared_statement) { double("prepared_statement")}
         | 
| 265 | 
            +
             | 
| 266 | 
            +
                  subject(:lookup) { described_class.new(lookup_hash, {}, "lookup-1") }
         | 
| 267 | 
            +
             | 
| 268 | 
            +
                  before(:each) do
         | 
| 269 | 
            +
                    allow(local_db).to receive(:prepare).once.and_return(prepared_statement)
         | 
| 270 | 
            +
                    allow(prepared_statement).to receive(:call).once.and_raise(Java::JavaSql::SQLTransactionRollbackException.new)
         | 
| 271 | 
            +
                  end
         | 
| 272 | 
            +
             | 
| 273 | 
            +
                  it "must not be valid" do
         | 
| 274 | 
            +
                    expect(subject.valid?).to be_falsey
         | 
| 275 | 
            +
                  end
         | 
| 276 | 
            +
             | 
| 277 | 
            +
                  it "should tag event as failed" do
         | 
| 278 | 
            +
                    event.set("ip", "20.20")
         | 
| 279 | 
            +
                    event.set("os", "MacOS")
         | 
| 280 | 
            +
                    subject.prepare(local_db)
         | 
| 281 | 
            +
                    subject.enhance(local_db, event)
         | 
| 282 | 
            +
                    expect(event.get("tags")).to eq(["_jdbcstaticfailure_server"])
         | 
| 283 | 
            +
                    expect(event.get("server")).to be_nil
         | 
| 284 | 
            +
                  end
         | 
| 285 | 
            +
                end
         | 
| 286 | 
            +
             | 
| 252 287 | 
             
                describe "validation of target option" do
         | 
| 253 288 | 
             
                  let(:lookup_hash) do
         | 
| 254 289 | 
             
                    {
         | 
    
        data/spec/inputs/jdbc_spec.rb
    CHANGED
    
    | @@ -364,7 +364,7 @@ describe LogStash::Inputs::Jdbc do | |
| 364 364 | 
             
                end
         | 
| 365 365 |  | 
| 366 366 | 
             
                it "should log a warn of missed target usage" do
         | 
| 367 | 
            -
                  expect(plugin.logger).to receive(:info).once.with( | 
| 367 | 
            +
                  expect(plugin.logger).to receive(:info).once.with(a_string_including("ECS compatibility is enabled").and(including("target")))
         | 
| 368 368 |  | 
| 369 369 | 
             
                  plugin.register
         | 
| 370 370 | 
             
                end
         | 
| @@ -0,0 +1,23 @@ | |
| 1 | 
            +
            # encoding: utf-8
         | 
| 2 | 
            +
            require "logstash/devutils/rspec/spec_helper"
         | 
| 3 | 
            +
            require "logstash/plugin_mixins/jdbc_streaming/parameter_handler"
         | 
| 4 | 
            +
             | 
| 5 | 
            +
             | 
| 6 | 
            +
            describe LogStash::PluginMixins::JdbcStreaming::ParameterHandler do
         | 
| 7 | 
            +
              context "resolve field reference" do
         | 
| 8 | 
            +
                let(:event) { ::LogStash::Event.new("field" => "field_value") }
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                it "should resolve root field" do
         | 
| 11 | 
            +
                  handler = LogStash::PluginMixins::JdbcStreaming::ParameterHandler.build_bind_value_handler "[field]"
         | 
| 12 | 
            +
                  handler.extract_from(event)
         | 
| 13 | 
            +
                  expect(handler.extract_from(event)).to eq "field_value"
         | 
| 14 | 
            +
                end
         | 
| 15 | 
            +
             | 
| 16 | 
            +
                it "should resolve nested field" do
         | 
| 17 | 
            +
                  event = ::LogStash::Event.from_json("{\"field\": {\"nested\": \"nested_field\"}}").first
         | 
| 18 | 
            +
                  handler = LogStash::PluginMixins::JdbcStreaming::ParameterHandler.build_bind_value_handler "[field][nested]"
         | 
| 19 | 
            +
                  handler.extract_from(event)
         | 
| 20 | 
            +
                  expect(handler.extract_from(event)).to eq "nested_field"
         | 
| 21 | 
            +
                end
         | 
| 22 | 
            +
              end
         | 
| 23 | 
            +
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: logstash-integration-jdbc
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 5.1. | 
| 4 | 
            +
              version: 5.1.5
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Elastic
         | 
| 8 8 | 
             
            autorequire:
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2021- | 
| 11 | 
            +
            date: 2021-08-04 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -147,7 +147,7 @@ dependencies: | |
| 147 147 | 
             
                requirements:
         | 
| 148 148 | 
             
                - - "~>"
         | 
| 149 149 | 
             
                  - !ruby/object:Gem::Version
         | 
| 150 | 
            -
                    version: '1. | 
| 150 | 
            +
                    version: '1.3'
         | 
| 151 151 | 
             
              name: logstash-mixin-ecs_compatibility_support
         | 
| 152 152 | 
             
              prerelease: false
         | 
| 153 153 | 
             
              type: :runtime
         | 
| @@ -155,7 +155,7 @@ dependencies: | |
| 155 155 | 
             
                requirements:
         | 
| 156 156 | 
             
                - - "~>"
         | 
| 157 157 | 
             
                  - !ruby/object:Gem::Version
         | 
| 158 | 
            -
                    version: '1. | 
| 158 | 
            +
                    version: '1.3'
         | 
| 159 159 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 160 160 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 161 161 | 
             
                requirements:
         | 
| @@ -170,6 +170,20 @@ dependencies: | |
| 170 170 | 
             
                - - "~>"
         | 
| 171 171 | 
             
                  - !ruby/object:Gem::Version
         | 
| 172 172 | 
             
                    version: '1.0'
         | 
| 173 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 174 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 175 | 
            +
                requirements:
         | 
| 176 | 
            +
                - - "~>"
         | 
| 177 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 178 | 
            +
                    version: '1.0'
         | 
| 179 | 
            +
              name: logstash-mixin-event_support
         | 
| 180 | 
            +
              prerelease: false
         | 
| 181 | 
            +
              type: :runtime
         | 
| 182 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 183 | 
            +
                requirements:
         | 
| 184 | 
            +
                - - "~>"
         | 
| 185 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 186 | 
            +
                    version: '1.0'
         | 
| 173 187 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 174 188 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 175 189 | 
             
                requirements:
         | 
| @@ -238,6 +252,7 @@ files: | |
| 238 252 | 
             
            - CONTRIBUTORS
         | 
| 239 253 | 
             
            - Gemfile
         | 
| 240 254 | 
             
            - LICENSE
         | 
| 255 | 
            +
            - NOTICE.TXT
         | 
| 241 256 | 
             
            - README.md
         | 
| 242 257 | 
             
            - docs/filter-jdbc_static.asciidoc
         | 
| 243 258 | 
             
            - docs/filter-jdbc_streaming.asciidoc
         | 
| @@ -292,6 +307,7 @@ files: | |
| 292 307 | 
             
            - spec/helpers/derbyrun.jar
         | 
| 293 308 | 
             
            - spec/inputs/integration/integ_spec.rb
         | 
| 294 309 | 
             
            - spec/inputs/jdbc_spec.rb
         | 
| 310 | 
            +
            - spec/plugin_mixins/jdbc_streaming/parameter_handler_spec.rb
         | 
| 295 311 | 
             
            - vendor/jar-dependencies/org/apache/derby/derby/10.14.1.0/derby-10.14.1.0.jar
         | 
| 296 312 | 
             
            - vendor/jar-dependencies/org/apache/derby/derbyclient/10.14.1.0/derbyclient-10.14.1.0.jar
         | 
| 297 313 | 
             
            homepage: http://www.elastic.co/guide/en/logstash/current/index.html
         | 
| @@ -317,8 +333,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 317 333 | 
             
                - !ruby/object:Gem::Version
         | 
| 318 334 | 
             
                  version: '0'
         | 
| 319 335 | 
             
            requirements: []
         | 
| 320 | 
            -
             | 
| 321 | 
            -
            rubygems_version: 2.6.13
         | 
| 336 | 
            +
            rubygems_version: 3.1.6
         | 
| 322 337 | 
             
            signing_key:
         | 
| 323 338 | 
             
            specification_version: 4
         | 
| 324 339 | 
             
            summary: Integration with JDBC - input and filter plugins
         | 
| @@ -344,3 +359,4 @@ test_files: | |
| 344 359 | 
             
            - spec/helpers/derbyrun.jar
         | 
| 345 360 | 
             
            - spec/inputs/integration/integ_spec.rb
         | 
| 346 361 | 
             
            - spec/inputs/jdbc_spec.rb
         | 
| 362 | 
            +
            - spec/plugin_mixins/jdbc_streaming/parameter_handler_spec.rb
         |