Adds bigint/long support to address #61
This commit is contained in:
parent
ffb2f700be
commit
47fdf7d442
|
@ -1,7 +1,10 @@
|
|||
# Change Log
|
||||
All notable changes to this project will be documented in this file, from 0.2.0.
|
||||
|
||||
## [0.3.1] = 2016-08-28
|
||||
## [0.3.2] - 2016-09-15
|
||||
- Adds long/bigint support to address https://github.com/theangryangel/logstash-output-jdbc/issues/61
|
||||
|
||||
## [0.3.1] - 2016-08-28
|
||||
- Adds connection_test configuration option, to prevent the connection test from occuring, allowing the error to be suppressed.
|
||||
Useful for cockroachdb deployments. https://github.com/theangryangel/logstash-output-jdbc/issues/53
|
||||
|
||||
|
|
|
@ -280,7 +280,13 @@ class LogStash::Outputs::Jdbc < LogStash::Outputs::Base
|
|||
# strftime appears to be the most reliable across drivers.
|
||||
statement.setString(idx + 1, value.time.strftime(STRFTIME_FMT))
|
||||
when Fixnum, Integer
|
||||
statement.setInt(idx + 1, value)
|
||||
# bit_length doesn't exist in the current version of ruby/jruby logstash targets
|
||||
# and this seems quicker than doing some Math.log2(value < 0 ? -value : value+1).ceil shit
|
||||
if value > 2147483647 or value < -2147483648
|
||||
statement.setLong(idx + 1, value)
|
||||
else
|
||||
statement.setInt(idx + 1, value)
|
||||
end
|
||||
when Float
|
||||
statement.setFloat(idx + 1, value)
|
||||
when String
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
Gem::Specification.new do |s|
|
||||
s.name = 'logstash-output-jdbc'
|
||||
s.version = "0.3.1"
|
||||
s.version = "0.3.2"
|
||||
s.licenses = [ "Apache License (2.0)" ]
|
||||
s.summary = "This plugin allows you to output to SQL, via JDBC"
|
||||
s.description = "This gem is a logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/plugin install gemname. This gem is not a stand-alone program"
|
||||
|
|
|
@ -31,11 +31,11 @@ RSpec.shared_context 'when outputting messages' do
|
|||
end
|
||||
|
||||
let(:jdbc_create_table) do
|
||||
"CREATE table #{jdbc_test_table} (created_at datetime not null, message varchar(512) not null, message_sprintf varchar(512) not null, static_int int not null, static_bit bit not null)"
|
||||
"CREATE table #{jdbc_test_table} (created_at datetime not null, message varchar(512) not null, message_sprintf varchar(512) not null, static_int int not null, static_bit bit not null, static_bigint bigint not null)"
|
||||
end
|
||||
|
||||
let(:jdbc_statement) do
|
||||
["insert into #{jdbc_test_table} (created_at, message, message_sprintf, static_int, static_bit) values(?, ?, ?, ?, ?)", '@timestamp', 'message', 'sprintf-%{message}', 1, true]
|
||||
["insert into #{jdbc_test_table} (created_at, message, message_sprintf, static_int, static_bit, static_bigint) values(?, ?, ?, ?, ?, ?)", '@timestamp', 'message', 'sprintf-%{message}', 1, true, 4000881632477184]
|
||||
end
|
||||
|
||||
let(:systemd_database_service) do
|
||||
|
|
|
@ -10,7 +10,7 @@ describe 'logstash-output-jdbc: derby', if: ENV['JDBC_DERBY_JAR'] do
|
|||
end
|
||||
|
||||
let(:jdbc_create_table) do
|
||||
"CREATE table #{jdbc_test_table} (created_at timestamp not null, message varchar(512) not null, message_sprintf varchar(512) not null, static_int int not null, static_bit boolean not null)"
|
||||
"CREATE table #{jdbc_test_table} (created_at timestamp not null, message varchar(512) not null, message_sprintf varchar(512) not null, static_int int not null, static_bit boolean not null, static_bigint bigint not null)"
|
||||
end
|
||||
|
||||
let(:jdbc_settings) do
|
||||
|
|
Loading…
Reference in New Issue
Block a user