fluent-plugin-sqlite3 0.1.2 → 1.0.1
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/lib/fluent/plugin/out_sqlite3.rb +18 -7
- metadata +55 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3c87d717d7a4f68deae7983a924fd3d0d7f1ff70
|
4
|
+
data.tar.gz: b8a7d0a215ea5ba123a94606f3946e2c72136154
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: eaef913843e40bc5613a5c77966427fb95a2a957f9c4da058d1b82722a6d2ead7120baf9cd5e789b9f561b3cae4f99014afe41ffc27b292c539df26cc2cefa29
|
7
|
+
data.tar.gz: 4ecea8193a1926ddee25a75e4fc60512836ff0ca1a977773a220b9d314ac699ccfa922702824dc027cc9070f90647e20f108ffed7a3ccbfbdf496a7c6b0d10be
|
@@ -1,14 +1,21 @@
|
|
1
1
|
require "sqlite3"
|
2
|
+
require "fluent/plugin/output"
|
2
3
|
|
3
|
-
class Fluent::Sqlite3Output < Fluent::
|
4
|
+
class Fluent::Plugin::Sqlite3Output < Fluent::Plugin::Output
|
4
5
|
Fluent::Plugin.register_output('sqlite3', self)
|
5
6
|
|
7
|
+
DEFAULT_BUFFER_TYPE = "memory"
|
8
|
+
|
6
9
|
config_param :path, :string
|
7
10
|
config_param :table, :string, :default => nil
|
8
11
|
config_param :columns, :string, :default => nil
|
9
12
|
config_param :includes, :string, :default => nil
|
10
13
|
config_param :excludes, :string, :default => nil
|
11
14
|
|
15
|
+
config_section :buffer do
|
16
|
+
config_set_default :@type, DEFAULT_BUFFER_TYPE
|
17
|
+
end
|
18
|
+
|
12
19
|
def initialize
|
13
20
|
super
|
14
21
|
end
|
@@ -22,7 +29,7 @@ class Fluent::Sqlite3Output < Fluent::BufferedOutput
|
|
22
29
|
end
|
23
30
|
|
24
31
|
DELIMITER = / *, */
|
25
|
-
|
32
|
+
|
26
33
|
def start
|
27
34
|
super
|
28
35
|
@db = ::SQLite3::Database.new @path
|
@@ -39,10 +46,10 @@ class Fluent::Sqlite3Output < Fluent::BufferedOutput
|
|
39
46
|
end
|
40
47
|
|
41
48
|
def shutdown
|
42
|
-
|
43
|
-
$log.debug "shutdown"
|
49
|
+
log.debug "shutdown"
|
44
50
|
@stmts.each {|k,v| v.close}
|
45
51
|
@db.close
|
52
|
+
super
|
46
53
|
end
|
47
54
|
|
48
55
|
def format(tag, time, record)
|
@@ -56,15 +63,19 @@ class Fluent::Sqlite3Output < Fluent::BufferedOutput
|
|
56
63
|
@db.commit
|
57
64
|
rescue => ex
|
58
65
|
@db.rollback
|
59
|
-
|
66
|
+
log.error "rollback: ", ex
|
60
67
|
raise
|
61
68
|
end
|
62
69
|
end
|
63
70
|
|
71
|
+
def formatted_to_msgpack_binary?
|
72
|
+
true
|
73
|
+
end
|
74
|
+
|
64
75
|
def write1(chunk)
|
65
76
|
chunk.msgpack_each do |tag, time, record|
|
66
77
|
if record.keys.length == 0
|
67
|
-
|
78
|
+
log.warn "no any keys for #{tag}"
|
68
79
|
return
|
69
80
|
end
|
70
81
|
table = (@table or tag.split('.')[1]) # param 'table' or 2nd later part of tag.
|
@@ -78,7 +89,7 @@ class Fluent::Sqlite3Output < Fluent::BufferedOutput
|
|
78
89
|
cols = record.keys.join ","
|
79
90
|
@db.execute "CREATE TABLE IF NOT EXISTS #{table} (id INTEGER PRIMARY KEY AUTOINCREMENT,#{cols})"
|
80
91
|
@stmts[table] = @db.prepare (a = to_insert(table, cols))
|
81
|
-
|
92
|
+
log.debug "create a new table, #{table.upcase} (it may have been already created)"
|
82
93
|
end
|
83
94
|
@stmts[table].execute record
|
84
95
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-sqlite3
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tomotaka Sakuma
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-04-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fluentd
|
@@ -16,28 +16,76 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 0.14.15
|
20
|
+
- - "<"
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '2'
|
20
23
|
type: :runtime
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
23
26
|
requirements:
|
24
27
|
- - ">="
|
25
28
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
29
|
+
version: 0.14.15
|
30
|
+
- - "<"
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '2'
|
27
33
|
- !ruby/object:Gem::Dependency
|
28
34
|
name: sqlite3
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
30
36
|
requirements:
|
31
37
|
- - ">="
|
32
38
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
39
|
+
version: 1.3.7
|
34
40
|
type: :runtime
|
35
41
|
prerelease: false
|
36
42
|
version_requirements: !ruby/object:Gem::Requirement
|
37
43
|
requirements:
|
38
44
|
- - ">="
|
39
45
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
46
|
+
version: 1.3.7
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: test-unit
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - "~>"
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: 3.2.0
|
54
|
+
type: :development
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - "~>"
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: 3.2.0
|
61
|
+
- !ruby/object:Gem::Dependency
|
62
|
+
name: rake
|
63
|
+
requirement: !ruby/object:Gem::Requirement
|
64
|
+
requirements:
|
65
|
+
- - "~>"
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: 12.0.0
|
68
|
+
type: :development
|
69
|
+
prerelease: false
|
70
|
+
version_requirements: !ruby/object:Gem::Requirement
|
71
|
+
requirements:
|
72
|
+
- - "~>"
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: 12.0.0
|
75
|
+
- !ruby/object:Gem::Dependency
|
76
|
+
name: bundler
|
77
|
+
requirement: !ruby/object:Gem::Requirement
|
78
|
+
requirements:
|
79
|
+
- - "~>"
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: '1.13'
|
82
|
+
type: :development
|
83
|
+
prerelease: false
|
84
|
+
version_requirements: !ruby/object:Gem::Requirement
|
85
|
+
requirements:
|
86
|
+
- - "~>"
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: '1.13'
|
41
89
|
description: fluentd output to sqlite3
|
42
90
|
email: ktmtmks@gmail.com
|
43
91
|
executables: []
|
@@ -64,7 +112,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
64
112
|
version: '0'
|
65
113
|
requirements: []
|
66
114
|
rubyforge_project:
|
67
|
-
rubygems_version: 2.
|
115
|
+
rubygems_version: 2.6.11
|
68
116
|
signing_key:
|
69
117
|
specification_version: 4
|
70
118
|
summary: fluentd output to sqlite3
|