logstash-input-jdbc 4.0.1 → 4.0.2
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 +2 -0
- data/README.md +1 -0
- data/lib/logstash/inputs/jdbc.rb +6 -0
- data/lib/logstash/plugin_mixins/jdbc.rb +3 -0
- data/logstash-input-jdbc.gemspec +1 -1
- data/spec/inputs/jdbc_spec.rb +35 -0
- metadata +48 -48
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: afede6bb954e753352fe3138057cb32dbffc814d
         | 
| 4 | 
            +
              data.tar.gz: 624feecfdfdea557f91b480acfccb7d0948a4660
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: da164fbd6abf2627372925ff198ba99fd822588392365498f3543a928e1ffcdd297b3098ba30ac4d8426b06059f4c4fde8cbef4ef1f21652a9345298e27c641c
         | 
| 7 | 
            +
              data.tar.gz: 4b6a2ede22c3392d6553cb2b04a7b1c26c5333722ffc7dc16ebe0fa19eee49dce7bdee9a773a4ce35aff55692942d7db06950ea571d72d37f94e165e66ea846a
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    
    
        data/README.md
    CHANGED
    
    | @@ -95,6 +95,7 @@ Reading data from MySQL: | |
| 95 95 | 
             
            	    jdbc_connection_string => "jdbc:mysql://host:port/database"
         | 
| 96 96 | 
             
            	    jdbc_user => "user"
         | 
| 97 97 | 
             
            	    jdbc_password => "password"
         | 
| 98 | 
            +
                  # or jdbc_password_filepath => "/path/to/my/password_file"
         | 
| 98 99 | 
             
            	    statement => "SELECT ..."
         | 
| 99 100 | 
             
            	    jdbc_paging_enabled => "true"
         | 
| 100 101 | 
             
            	    jdbc_page_size => "50000"
         | 
    
        data/lib/logstash/inputs/jdbc.rb
    CHANGED
    
    | @@ -185,6 +185,12 @@ class LogStash::Inputs::Jdbc < LogStash::Inputs::Base | |
| 185 185 | 
             
                end
         | 
| 186 186 |  | 
| 187 187 | 
             
                @statement = File.read(@statement_filepath) if @statement_filepath
         | 
| 188 | 
            +
             | 
| 189 | 
            +
                if (@jdbc_password_filepath and @jdbc_password)
         | 
| 190 | 
            +
                  raise(LogStash::ConfigurationError, "Only one of :jdbc_password, :jdbc_password_filepath may be set at a time.")
         | 
| 191 | 
            +
                end
         | 
| 192 | 
            +
             | 
| 193 | 
            +
                @jdbc_password = File.read(@jdbc_password_filepath).strip if @jdbc_password_filepath
         | 
| 188 194 | 
             
              end # def register
         | 
| 189 195 |  | 
| 190 196 | 
             
              def run(queue)
         | 
| @@ -40,6 +40,9 @@ module LogStash::PluginMixins::Jdbc | |
| 40 40 | 
             
                # JDBC password
         | 
| 41 41 | 
             
                config :jdbc_password, :validate => :password
         | 
| 42 42 |  | 
| 43 | 
            +
                # JDBC password filename
         | 
| 44 | 
            +
                config :jdbc_password_filepath, :validate => :path
         | 
| 45 | 
            +
             | 
| 43 46 | 
             
                # JDBC enable paging
         | 
| 44 47 | 
             
                #
         | 
| 45 48 | 
             
                # This will cause a sql statement to be broken up into multiple queries.
         | 
    
        data/logstash-input-jdbc.gemspec
    CHANGED
    
    | @@ -1,6 +1,6 @@ | |
| 1 1 | 
             
            Gem::Specification.new do |s|
         | 
| 2 2 | 
             
              s.name = 'logstash-input-jdbc'
         | 
| 3 | 
            -
              s.version         = '4.0. | 
| 3 | 
            +
              s.version         = '4.0.2'
         | 
| 4 4 | 
             
              s.licenses = ['Apache License (2.0)']
         | 
| 5 5 | 
             
              s.summary = "This example input streams a string at a definable interval."
         | 
| 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"
         | 
    
        data/spec/inputs/jdbc_spec.rb
    CHANGED
    
    | @@ -81,6 +81,41 @@ describe LogStash::Inputs::Jdbc do | |
| 81 81 | 
             
                end
         | 
| 82 82 | 
             
              end
         | 
| 83 83 |  | 
| 84 | 
            +
              context "when both jdbc_password and jdbc_password_filepath arguments are passed" do
         | 
| 85 | 
            +
                let(:statement) { "SELECT * from test_table" }
         | 
| 86 | 
            +
                let(:jdbc_password) { "secret" }
         | 
| 87 | 
            +
                let(:jdbc_password_file_path) { Stud::Temporary.pathname }
         | 
| 88 | 
            +
                let(:settings) { { "jdbc_password_filepath" => jdbc_password_file_path,
         | 
| 89 | 
            +
                                   "jdbc_password" => jdbc_password,
         | 
| 90 | 
            +
                                   "statement" => statement } }
         | 
| 91 | 
            +
             | 
| 92 | 
            +
                it "should fail to register" do
         | 
| 93 | 
            +
                  expect{ plugin.register }.to raise_error(LogStash::ConfigurationError)
         | 
| 94 | 
            +
                end
         | 
| 95 | 
            +
              end
         | 
| 96 | 
            +
             | 
| 97 | 
            +
              context "when jdbc_password is passed in from a file" do
         | 
| 98 | 
            +
                let(:statement) { "SELECT * from test_table" }
         | 
| 99 | 
            +
                let(:jdbc_password) { "secret" }
         | 
| 100 | 
            +
                let(:jdbc_password_file_path) { Stud::Temporary.pathname }
         | 
| 101 | 
            +
                let(:settings) { { "jdbc_password_filepath" => jdbc_password_file_path,
         | 
| 102 | 
            +
                                   "statement" => statement } }
         | 
| 103 | 
            +
             | 
| 104 | 
            +
                before do
         | 
| 105 | 
            +
                  File.write(jdbc_password_file_path, jdbc_password)
         | 
| 106 | 
            +
                  plugin.register
         | 
| 107 | 
            +
                end
         | 
| 108 | 
            +
             | 
| 109 | 
            +
                after do
         | 
| 110 | 
            +
                  plugin.stop
         | 
| 111 | 
            +
                end
         | 
| 112 | 
            +
             | 
| 113 | 
            +
                it "should read in jdbc_password from file" do
         | 
| 114 | 
            +
                  expect(plugin.jdbc_password).to eq(jdbc_password)
         | 
| 115 | 
            +
                end
         | 
| 116 | 
            +
              end
         | 
| 117 | 
            +
             | 
| 118 | 
            +
             | 
| 84 119 | 
             
              context "when neither statement and statement_filepath arguments are passed" do
         | 
| 85 120 | 
             
                it "should fail to register" do
         | 
| 86 121 | 
             
                  expect{ plugin.register }.to raise_error(LogStash::ConfigurationError)
         | 
    
        metadata
    CHANGED
    
    | @@ -1,155 +1,155 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: logstash-input-jdbc
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 4.0. | 
| 4 | 
            +
              version: 4.0.2
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Elastic
         | 
| 8 8 | 
             
            autorequire:
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2016-05- | 
| 11 | 
            +
            date: 2016-05-18 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 | 
            +
              name: logstash-core-plugin-api
         | 
| 15 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 16 | 
            +
                requirements:
         | 
| 17 | 
            +
                - - ~>
         | 
| 18 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 19 | 
            +
                    version: '2.0'
         | 
| 14 20 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 15 21 | 
             
                requirements:
         | 
| 16 | 
            -
                - -  | 
| 22 | 
            +
                - - ~>
         | 
| 17 23 | 
             
                  - !ruby/object:Gem::Version
         | 
| 18 24 | 
             
                    version: '2.0'
         | 
| 19 | 
            -
              name: logstash-core-plugin-api
         | 
| 20 25 | 
             
              prerelease: false
         | 
| 21 26 | 
             
              type: :runtime
         | 
| 27 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 28 | 
            +
              name: logstash-codec-plain
         | 
| 22 29 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 23 30 | 
             
                requirements:
         | 
| 24 | 
            -
                - -  | 
| 31 | 
            +
                - - '>='
         | 
| 25 32 | 
             
                  - !ruby/object:Gem::Version
         | 
| 26 | 
            -
                    version: ' | 
| 27 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 33 | 
            +
                    version: '0'
         | 
| 28 34 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 29 35 | 
             
                requirements:
         | 
| 30 | 
            -
                - -  | 
| 36 | 
            +
                - - '>='
         | 
| 31 37 | 
             
                  - !ruby/object:Gem::Version
         | 
| 32 38 | 
             
                    version: '0'
         | 
| 33 | 
            -
              name: logstash-codec-plain
         | 
| 34 39 | 
             
              prerelease: false
         | 
| 35 40 | 
             
              type: :runtime
         | 
| 41 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 42 | 
            +
              name: sequel
         | 
| 36 43 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 37 44 | 
             
                requirements:
         | 
| 38 | 
            -
                - -  | 
| 45 | 
            +
                - - '>='
         | 
| 39 46 | 
             
                  - !ruby/object:Gem::Version
         | 
| 40 47 | 
             
                    version: '0'
         | 
| 41 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 42 48 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 43 49 | 
             
                requirements:
         | 
| 44 | 
            -
                - -  | 
| 50 | 
            +
                - - '>='
         | 
| 45 51 | 
             
                  - !ruby/object:Gem::Version
         | 
| 46 52 | 
             
                    version: '0'
         | 
| 47 | 
            -
              name: sequel
         | 
| 48 53 | 
             
              prerelease: false
         | 
| 49 54 | 
             
              type: :runtime
         | 
| 55 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 56 | 
            +
              name: tzinfo
         | 
| 50 57 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 51 58 | 
             
                requirements:
         | 
| 52 | 
            -
                - -  | 
| 59 | 
            +
                - - '>='
         | 
| 53 60 | 
             
                  - !ruby/object:Gem::Version
         | 
| 54 61 | 
             
                    version: '0'
         | 
| 55 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 56 62 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 57 63 | 
             
                requirements:
         | 
| 58 | 
            -
                - -  | 
| 64 | 
            +
                - - '>='
         | 
| 59 65 | 
             
                  - !ruby/object:Gem::Version
         | 
| 60 66 | 
             
                    version: '0'
         | 
| 61 | 
            -
              name: tzinfo
         | 
| 62 67 | 
             
              prerelease: false
         | 
| 63 68 | 
             
              type: :runtime
         | 
| 69 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 70 | 
            +
              name: tzinfo-data
         | 
| 64 71 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 65 72 | 
             
                requirements:
         | 
| 66 | 
            -
                - -  | 
| 73 | 
            +
                - - '>='
         | 
| 67 74 | 
             
                  - !ruby/object:Gem::Version
         | 
| 68 75 | 
             
                    version: '0'
         | 
| 69 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 70 76 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 71 77 | 
             
                requirements:
         | 
| 72 | 
            -
                - -  | 
| 78 | 
            +
                - - '>='
         | 
| 73 79 | 
             
                  - !ruby/object:Gem::Version
         | 
| 74 80 | 
             
                    version: '0'
         | 
| 75 | 
            -
              name: tzinfo-data
         | 
| 76 81 | 
             
              prerelease: false
         | 
| 77 82 | 
             
              type: :runtime
         | 
| 83 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 84 | 
            +
              name: rufus-scheduler
         | 
| 78 85 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 79 86 | 
             
                requirements:
         | 
| 80 | 
            -
                - -  | 
| 87 | 
            +
                - - '>='
         | 
| 81 88 | 
             
                  - !ruby/object:Gem::Version
         | 
| 82 89 | 
             
                    version: '0'
         | 
| 83 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 84 90 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 85 91 | 
             
                requirements:
         | 
| 86 | 
            -
                - -  | 
| 92 | 
            +
                - - '>='
         | 
| 87 93 | 
             
                  - !ruby/object:Gem::Version
         | 
| 88 94 | 
             
                    version: '0'
         | 
| 89 | 
            -
              name: rufus-scheduler
         | 
| 90 95 | 
             
              prerelease: false
         | 
| 91 96 | 
             
              type: :runtime
         | 
| 97 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 98 | 
            +
              name: logstash-devutils
         | 
| 92 99 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 93 100 | 
             
                requirements:
         | 
| 94 | 
            -
                - -  | 
| 101 | 
            +
                - - '>='
         | 
| 95 102 | 
             
                  - !ruby/object:Gem::Version
         | 
| 96 103 | 
             
                    version: '0'
         | 
| 97 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 98 104 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 99 105 | 
             
                requirements:
         | 
| 100 | 
            -
                - -  | 
| 106 | 
            +
                - - '>='
         | 
| 101 107 | 
             
                  - !ruby/object:Gem::Version
         | 
| 102 108 | 
             
                    version: '0'
         | 
| 103 | 
            -
              name: logstash-devutils
         | 
| 104 109 | 
             
              prerelease: false
         | 
| 105 110 | 
             
              type: :development
         | 
| 111 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 112 | 
            +
              name: timecop
         | 
| 106 113 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 107 114 | 
             
                requirements:
         | 
| 108 | 
            -
                - -  | 
| 115 | 
            +
                - - '>='
         | 
| 109 116 | 
             
                  - !ruby/object:Gem::Version
         | 
| 110 117 | 
             
                    version: '0'
         | 
| 111 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 112 118 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 113 119 | 
             
                requirements:
         | 
| 114 | 
            -
                - -  | 
| 120 | 
            +
                - - '>='
         | 
| 115 121 | 
             
                  - !ruby/object:Gem::Version
         | 
| 116 122 | 
             
                    version: '0'
         | 
| 117 | 
            -
              name: timecop
         | 
| 118 123 | 
             
              prerelease: false
         | 
| 119 124 | 
             
              type: :development
         | 
| 125 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 126 | 
            +
              name: jdbc-derby
         | 
| 120 127 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 121 128 | 
             
                requirements:
         | 
| 122 | 
            -
                - -  | 
| 129 | 
            +
                - - '>='
         | 
| 123 130 | 
             
                  - !ruby/object:Gem::Version
         | 
| 124 131 | 
             
                    version: '0'
         | 
| 125 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 126 132 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 127 133 | 
             
                requirements:
         | 
| 128 | 
            -
                - -  | 
| 134 | 
            +
                - - '>='
         | 
| 129 135 | 
             
                  - !ruby/object:Gem::Version
         | 
| 130 136 | 
             
                    version: '0'
         | 
| 131 | 
            -
              name: jdbc-derby
         | 
| 132 137 | 
             
              prerelease: false
         | 
| 133 138 | 
             
              type: :development
         | 
| 139 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 140 | 
            +
              name: docker-api
         | 
| 134 141 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 135 142 | 
             
                requirements:
         | 
| 136 | 
            -
                - -  | 
| 143 | 
            +
                - - '>='
         | 
| 137 144 | 
             
                  - !ruby/object:Gem::Version
         | 
| 138 145 | 
             
                    version: '0'
         | 
| 139 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 140 146 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 141 147 | 
             
                requirements:
         | 
| 142 | 
            -
                - -  | 
| 148 | 
            +
                - - '>='
         | 
| 143 149 | 
             
                  - !ruby/object:Gem::Version
         | 
| 144 150 | 
             
                    version: '0'
         | 
| 145 | 
            -
              name: docker-api
         | 
| 146 151 | 
             
              prerelease: false
         | 
| 147 152 | 
             
              type: :development
         | 
| 148 | 
            -
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 149 | 
            -
                requirements:
         | 
| 150 | 
            -
                - - ">="
         | 
| 151 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 152 | 
            -
                    version: '0'
         | 
| 153 153 | 
             
            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
         | 
| 154 154 | 
             
            email: info@elastic.co
         | 
| 155 155 | 
             
            executables: []
         | 
| @@ -177,12 +177,12 @@ require_paths: | |
| 177 177 | 
             
            - lib
         | 
| 178 178 | 
             
            required_ruby_version: !ruby/object:Gem::Requirement
         | 
| 179 179 | 
             
              requirements:
         | 
| 180 | 
            -
              - -  | 
| 180 | 
            +
              - - '>='
         | 
| 181 181 | 
             
                - !ruby/object:Gem::Version
         | 
| 182 182 | 
             
                  version: '0'
         | 
| 183 183 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 184 184 | 
             
              requirements:
         | 
| 185 | 
            -
              - -  | 
| 185 | 
            +
              - - '>='
         | 
| 186 186 | 
             
                - !ruby/object:Gem::Version
         | 
| 187 187 | 
             
                  version: '0'
         | 
| 188 188 | 
             
            requirements: []
         |