fluent-plugin-mysql-load 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,10 @@
1
+ # 0.0.2 (2014/05/17)
2
+
3
+ Features:
4
+
5
+ - Add `key_names` option parameter
6
+ - Add `column_names`, Remove `columns` parameters
7
+
8
+ # 0.0.1 (2014/05/05)
9
+
10
+ First version
data/README.md CHANGED
@@ -3,22 +3,119 @@
3
3
 
4
4
  # Overview
5
5
 
6
- "fluent-plugin-mysql-load" is a plugin fluentd.
6
+ BufferedOutput plugin to mysql import.
7
+ Internal processing uses the **"LOAD DATA LOCAL INFILE"**.
7
8
 
8
- Output filter plugin to mysql import.
9
- Internal processing uses the "LOAD DATA INFILE".
9
+ [Buffer Plugin Overview is here](http://docs.fluentd.org/articles/buffer-plugin-overview#buffer-plugin-overview)
10
10
 
11
11
  [MySQL Manual of LOAD DATA is here](http://dev.mysql.com/doc/refman/5.6/en/load-data.html)
12
12
 
13
13
  # Configuration
14
- ## Ex.
14
+
15
+ ## Ex1.
16
+ ```
17
+ <match loaddata.**>
18
+ type mysql_load
19
+ host localhost
20
+ port 3306
21
+ username taro
22
+ password abcdefg
23
+ database fluentd
24
+ column_names id,txt,txt2,txt3,created_at
25
+
26
+ buffer_type file
27
+ buffer_path /var/log/fluent/test.*.buffer
28
+ flush_interval 60s
29
+ </match>
30
+ ```
31
+
32
+ ### In.
33
+ ```
34
+ loaddata.test: {"id":111,"txt":"hoge","txt2":"foo","txt3":"bar","created_at":"2014-01-01 00:00:00"}
35
+ loaddata.test: {"id":112,"txt":"hoge2","txt2":"foo2","txt3":"bar2","created_at":"2014-01-01 00:00:01"}
36
+ loaddata.test: {"id":123,"txt":"hoge3","txt2":"foo3","txt3":"bar3","created_at":"2014-01-01 00:00:02"}
37
+ ```
38
+
39
+ ### Out.
40
+ ```
41
+ mysql> desc test;
42
+ +------------+----------+------+-----+---------+----------------+
43
+ | Field | Type | Null | Key | Default | Extra |
44
+ +------------+----------+------+-----+---------+----------------+
45
+ | id | int(11) | NO | PRI | NULL | auto_increment |
46
+ | txt | text | YES | | NULL | |
47
+ | txt2 | text | YES | | NULL | |
48
+ | txt3 | text | YES | | NULL | |
49
+ | created_at | datetime | YES | | NULL | |
50
+ +------------+----------+------+-----+---------+----------------+
51
+ mysql> select * from test;
52
+ +---------------+------------------+---------------------+---------------------+---------------------+
53
+ | id | txt | txt2 | txt3 |created_at |
54
+ +---------------+------------------+---------------------+---------------------+---------------------+
55
+ | 111 | hoge | foo | bar |2014-01-01 00:00:00 |
56
+ | 112 | hoge2 | foo2 | bar2 |2014-01-01 00:00:01 |
57
+ | 113 | hoge3 | foo3 | bar3 |2014-01-01 00:00:02 |
58
+ +---------------+------------------+---------------------+---------------------+---------------------+
59
+ ```
60
+
61
+ ## Ex2.
62
+ ```
63
+ <match loaddata.**>
64
+ type mysql_load
65
+ host localhost
66
+ port 3306
67
+ username taro
68
+ password abcdefg
69
+ database fluentd
70
+ key_names dummy1,dummy2,dummy3,create_d
71
+ column_names txt,txt2,txt3,created_at
72
+
73
+ buffer_type file
74
+ buffer_path /var/log/fluent/test.*.buffer
75
+ flush_interval 60s
76
+ </match>
77
+ ```
78
+
79
+ ### In.
80
+ ```
81
+ loaddata.test: {"dummy1":"hoge","dummy2":"foo","dummy3":"bar","create_d":"2014-01-01 00:00:00"}
82
+ loaddata.test: {"dummy1":"hoge2","dummy2":"foo2","dummy3":"bar2","create_d":"2014-01-01 00:00:01"}
83
+ loaddata.test: {"dummy1":"hoge3","dummy2":"foo3","dummy3":"bar3","create_d":"2014-01-01 00:00:02"}
84
+ ```
85
+
86
+ ### Out.
87
+ ```
88
+ mysql> desc test;
89
+ +------------+----------+------+-----+---------+----------------+
90
+ | Field | Type | Null | Key | Default | Extra |
91
+ +------------+----------+------+-----+---------+----------------+
92
+ | id | int(11) | NO | PRI | NULL | auto_increment |
93
+ | txt | text | YES | | NULL | |
94
+ | txt2 | text | YES | | NULL | |
95
+ | txt3 | text | YES | | NULL | |
96
+ | created_at | datetime | YES | | NULL | |
97
+ +------------+----------+------+-----+---------+----------------+
98
+ mysql> select * from test;
99
+ +---------------+------------------+---------------------+---------------------+---------------------+
100
+ | id | txt | txt2 | txt3 |created_at |
101
+ +---------------+------------------+---------------------+---------------------+---------------------+
102
+ | 1 | hoge | foo | bar |2014-01-01 00:00:00 |
103
+ | 2 | hoge2 | foo2 | bar2 |2014-01-01 00:00:01 |
104
+ | 3 | hoge3 | foo3 | bar3 |2014-01-01 00:00:02 |
105
+ +---------------+------------------+---------------------+---------------------+---------------------+
106
+ ```
107
+
108
+ ## Ex3.
15
109
  ```
16
110
  <match loaddata.**>
17
111
  type mysql_load
18
- password password
112
+ host localhost
113
+ port 3306
114
+ username taro
115
+ password abcdefg
19
116
  database fluentd
20
- tablename test
21
- columns txt,txt2,txt3
117
+ key_names dummy1,dummy2,dummy3,${time}
118
+ column_names txt,txt2,txt3,created_at
22
119
 
23
120
  buffer_type file
24
121
  buffer_path /var/log/fluent/test.*.buffer
@@ -26,58 +123,91 @@ Internal processing uses the "LOAD DATA INFILE".
26
123
  </match>
27
124
  ```
28
125
 
29
- ## In.
126
+ ### In.
30
127
  ```
31
- loaddata.test: {"seq":1,"txt":"hoge","txt2":"foo","txt3":"bar","createte_at":"2014-01-01 00:00:00"}
32
- loaddata.test: {"seq":2,"txt":"hoge2","txt2":"foo2","txt3":"bar2","createte_at":"2014-01-01 00:00:01"}
33
- loaddata.test: {"seq":3,"txt":"hoge3","txt2":"foo3","txt3":"bar3","createte_at":"2014-01-01 00:00:02"}
128
+ loaddata.test: {"dummy1":"hoge","dummy2":"foo","dummy3":"bar"}
129
+ loaddata.test: {"dummy1":"hoge2","dummy2":"foo2","dummy3":"bar2"}
130
+ loaddata.test: {"dummy1":"hoge3","dummy2":"foo3","dummy3":"bar3"}
34
131
  ```
35
132
 
36
- ## Out.
133
+ ### Out.
37
134
  ```
38
- +------------------+---------------------+---------------------+
39
- | txt | txt2 | txt3 |
40
- +------------------+---------------------+---------------------+
41
- | hoge | foo | bar |
42
- | hoge2 | foo2 | bar2 |
43
- | hoge3 | foo3 | bar3 |
44
- +------------------+---------------------+---------------------+
135
+ mysql> desc test;
136
+ +------------+----------+------+-----+---------+----------------+
137
+ | Field | Type | Null | Key | Default | Extra |
138
+ +------------+----------+------+-----+---------+----------------+
139
+ | id | int(11) | NO | PRI | NULL | auto_increment |
140
+ | txt | text | YES | | NULL | |
141
+ | txt2 | text | YES | | NULL | |
142
+ | txt3 | text | YES | | NULL | |
143
+ | created_at | datetime | YES | | NULL | |
144
+ +------------+----------+------+-----+---------+----------------+
145
+ mysql> select * from test;
146
+ +---------------+------------------+---------------------+---------------------+---------------------+
147
+ | id | txt | txt2 | txt3 |created_at |
148
+ +---------------+------------------+---------------------+---------------------+---------------------+
149
+ | 1 | hoge | foo | bar |2014-01-01 00:00:00 |
150
+ | 2 | hoge2 | foo2 | bar2 |2014-01-01 00:00:01 |
151
+ | 3 | hoge3 | foo3 | bar3 |2014-01-01 00:00:02 |
152
+ +---------------+------------------+---------------------+---------------------+---------------------+
45
153
  ```
46
154
 
47
155
  # Parameters
48
156
 
49
- * host(option)
157
+ * **host** (option)
50
158
 
51
159
  Set the host name of MySQL Server.The default is "localhost".
52
160
 
53
- * port(option)
161
+ * **port** (option)
54
162
 
55
163
  Set the port of MySQL Server.The default is "3306".
56
164
 
57
- * username(option)
165
+ * **username** (option)
58
166
 
59
167
  Set the user of MySQL Server.The default is "root".
60
168
 
61
- * password(option)
169
+ * **password** (option)
62
170
 
63
171
  Set the password of MySQL Server.The default is ""(blank).
64
172
 
65
- * database(required)
173
+ * **database** (required)
66
174
 
67
175
  Set the database of MySQL Server.
68
176
 
69
- * tablename(required)
177
+ * **tablename** (required)
70
178
 
71
179
  Set the table name of the import data.
72
180
 
73
- * columns(option)
181
+ * **key_names** (option)
74
182
 
75
- Set if you want to specify the column of the table of data import destination.Attaches to the string key of the input data.
183
+ It is possible to specify the key for JSON input.
76
184
 
77
- * encoding(option)
185
+ Will be converted to a format in this embedding ${time}. (Format:'%Y-%m-%d %H:%M:%S')
186
+
187
+
188
+ * **column_names** (required)
189
+
190
+ Set if you want to specify the column of the table of data import destination.
191
+
192
+ If you do not specify a "key_names" parameters, to be used as a key input value of JSON the parameters specified in the "column_names".
193
+
194
+ * **encoding** (option)
78
195
 
79
196
  Set the encode of MySQL Server.The default is "utf8".
80
197
 
198
+ And Buffer Plugin Parameters...
199
+
200
+ * [memory Buffer Plugin](http://docs.fluentd.org/articles/buf_memory)
201
+ * [file Buffer Plugin](http://docs.fluentd.org/articles/buf_file)
202
+
203
+ And Logging of Fluentd Parameters...(>=v0.10.43)
204
+
205
+ * [Logging of Fluentd](http://docs.fluentd.org/articles/logging#per-plugin-log-fluentd-v01043-and-above)
206
+
207
+
208
+ # ChangeLog
209
+
210
+ See [CHANGELOG.md](https://github.com/fukuiretu/fluent-plugin-mysql-load/blob/master/CHANGELOG.md) for details.
81
211
 
82
212
  # Copyright
83
213
  Copyright:: Copyright (c) 2014- Fukui ReTu License:: Apache License, Version 2.0
@@ -1,11 +1,11 @@
1
1
  # coding: utf-8
2
2
  Gem::Specification.new do |spec|
3
3
  spec.name = "fluent-plugin-mysql-load"
4
- spec.version = "0.0.1"
4
+ spec.version = "0.0.2"
5
5
  spec.authors = ["Fukui ReTu"]
6
6
  spec.email = ["s0232101@gmail.com"]
7
- spec.description = %q{Output filter plugin to mysql import}
8
- spec.summary = %q{Output filter plugin to mysql import}
7
+ spec.description = %q{BufferedOutput plugin to mysql import}
8
+ spec.summary = %q{BufferedOutput plugin to mysql import}
9
9
  spec.homepage = "https://github.com/fukuiretu/fluent-plugin-mysql-load"
10
10
  spec.license = "APL2.0"
11
11
 
@@ -19,4 +19,4 @@ Gem::Specification.new do |spec|
19
19
  spec.add_development_dependency "rake"
20
20
  spec.add_runtime_dependency "fluentd"
21
21
  spec.add_runtime_dependency "mysql2"
22
- end
22
+ end
@@ -21,17 +21,19 @@ module Fluent
21
21
  config_param :password, :string, :default => nil
22
22
  config_param :database, :string, :default => nil
23
23
  config_param :tablename, :string, :default => nil
24
- config_param :columns, :string, :default => nil
24
+ config_param :key_names, :string, :default => nil
25
+ config_param :column_names, :string, :default => nil
25
26
  config_param :encoding, :string, :default => 'utf8'
26
27
 
27
28
  def configure(conf)
28
29
  super
29
- if @database.nil? || @tablename.nil?
30
- raise Fluent::ConfigError, "database and tablename is required!"
30
+ if @database.nil? || @tablename.nil? || @column_names.nil?
31
+ raise Fluent::ConfigError, "database and tablename and column_names is required."
31
32
  end
32
33
 
33
- if (!@columns.nil?)
34
- @columns = @columns.split(",")
34
+ @key_names = @key_names.nil? ? @column_names.split(',') : @key_names.split(',')
35
+ unless @column_names.split(',').count == @key_names.count
36
+ raise Fluent::ConfigError, "It does not take the integrity of the key_names and column_names."
35
37
  end
36
38
  end
37
39
 
@@ -44,36 +46,30 @@ module Fluent
44
46
  end
45
47
 
46
48
  def format(tag, time, record)
47
- record.to_msgpack
49
+ values = @key_names.map { |k|
50
+ k == '${time}' ? Time.at(time).strftime('%Y-%m-%d %H:%M:%S') : record[k]
51
+ }
52
+ values.to_msgpack
48
53
  end
49
54
 
50
55
  def write(chunk)
51
- tmp = Tempfile.new("loaddata")
52
- keys = nil
56
+ data_count = 0
57
+ tmp = Tempfile.new("mysql-loaddata")
53
58
  chunk.msgpack_each { |record|
54
- # keyの取得は初回のみ
55
- if keys.nil?
56
- # columnsが指定されている場合はそっちを有効にする
57
- keys = @columns.nil? ? record.keys : @columns
58
- end
59
-
60
- values = []
61
- keys.each{ |key|
62
- values << record[key]
63
- }
64
-
65
- tmp.write values.join("\t") + "\n"
59
+ tmp.write record.join("\t") + "\n"
60
+ data_count += 1
66
61
  }
67
62
  tmp.close
68
63
 
69
- query = QUERY_TEMPLATE % ([tmp.path, @tablename, keys.join(",")])
70
-
71
64
  conn = get_connection
72
- conn.query(query)
65
+ conn.query(QUERY_TEMPLATE % ([tmp.path, @tablename, @column_names]))
73
66
  conn.close
67
+
68
+ log.info "number that is registered in the \"%s:%s\" table is %d" % ([@database, @tablename, data_count])
74
69
  end
75
70
 
76
71
  private
72
+
77
73
  def get_connection
78
74
  Mysql2::Client.new({
79
75
  :host => @host,
@@ -81,7 +77,8 @@ module Fluent
81
77
  :username => @username,
82
78
  :password => @password,
83
79
  :database => @database,
84
- :encoding => @encoding
80
+ :encoding => @encoding,
81
+ :local_infile => true
85
82
  })
86
83
  end
87
84
  end
@@ -8,6 +8,7 @@ class MysqlLoadOutputTest < Test::Unit::TestCase
8
8
  CONFIG = %[
9
9
  database fluentd
10
10
  tablename test
11
+ column_names a,b,c,d,e
11
12
  ]
12
13
 
13
14
  def create_driver(conf = CONFIG, tag='test')
@@ -16,7 +17,7 @@ class MysqlLoadOutputTest < Test::Unit::TestCase
16
17
 
17
18
  def test_configure_default
18
19
  d = create_driver
19
-
20
+
20
21
  assert_equal 'localhost', d.instance.host
21
22
  assert_equal 3306, d.instance.port
22
23
  assert_equal 'root', d.instance.username
@@ -32,9 +33,31 @@ class MysqlLoadOutputTest < Test::Unit::TestCase
32
33
  database db
33
34
  encoding sjis
34
35
  tablename test
35
- columns a,b,c,d,e
36
+ column_names a,b,c,d,e
37
+ ]
38
+
39
+ assert_equal 'abcde', d.instance.host
40
+ assert_equal 33306, d.instance.port
41
+ assert_equal 'taro', d.instance.username
42
+ assert_equal 'pldoeudku', d.instance.password
43
+ assert_equal 'db', d.instance.database
44
+ assert_equal 'sjis', d.instance.encoding
45
+ assert_equal 'test', d.instance.tablename
46
+ assert_equal 'a,b,c,d,e', d.instance.column_names
47
+ assert_equal ['a', 'b', 'c', 'd', 'e'], d.instance.key_names
48
+
49
+ d = create_driver %[
50
+ host abcde
51
+ port 33306
52
+ username taro
53
+ password pldoeudku
54
+ database db
55
+ encoding sjis
56
+ tablename test
57
+ column_names a,b,c,d,e
58
+ key_names f,g,h,i,j
36
59
  ]
37
-
60
+
38
61
  assert_equal 'abcde', d.instance.host
39
62
  assert_equal 33306, d.instance.port
40
63
  assert_equal 'taro', d.instance.username
@@ -42,7 +65,8 @@ class MysqlLoadOutputTest < Test::Unit::TestCase
42
65
  assert_equal 'db', d.instance.database
43
66
  assert_equal 'sjis', d.instance.encoding
44
67
  assert_equal 'test', d.instance.tablename
45
- assert_equal ['a', 'b', 'c', 'd', 'e'], d.instance.columns
68
+ assert_equal 'a,b,c,d,e', d.instance.column_names
69
+ assert_equal ['f', 'g', 'h', 'i', 'j'], d.instance.key_names
46
70
  end
47
71
 
48
72
  def test_configure_error
@@ -54,7 +78,31 @@ class MysqlLoadOutputTest < Test::Unit::TestCase
54
78
  password pldoeudku
55
79
  encoding sjis
56
80
  tablename test
57
- columns a,b,c,d,e
81
+ column_names a,b,c,d,e
82
+ ]
83
+ end
84
+
85
+ assert_raise(Fluent::ConfigError) do
86
+ create_driver %[
87
+ host abcde
88
+ port 33306
89
+ username taro
90
+ password pldoeudku
91
+ database db
92
+ encoding sjis
93
+ column_names a,b,c,d,e
94
+ ]
95
+ end
96
+
97
+ assert_raise(Fluent::ConfigError) do
98
+ create_driver %[
99
+ host abcde
100
+ port 33306
101
+ username taro
102
+ password pldoeudku
103
+ database db
104
+ tablename test
105
+ encoding sjis
58
106
  ]
59
107
  end
60
108
 
@@ -65,25 +113,34 @@ class MysqlLoadOutputTest < Test::Unit::TestCase
65
113
  username taro
66
114
  password pldoeudku
67
115
  database db
116
+ tablename test
117
+ column_names a,b,c,d,e
118
+ key_names a,b,c,d,e,f,g
68
119
  encoding sjis
69
- columns a,b,c,d,e
70
120
  ]
71
121
  end
72
122
  end
73
123
 
74
124
  def test_format
75
- d = create_driver
125
+ d = create_driver %[
126
+ host localhost
127
+ port 3306
128
+ username root
129
+ database fluentd
130
+ tablename test
131
+ column_names id,txt,txt2
132
+ ]
76
133
 
77
134
  d.emit({"id"=>1, "txt" => "hoge", "txt2" => "foo"})
78
135
  d.emit({"id"=>2, "txt" => "hoge2", "txt2" => "foo2"})
79
136
 
80
- d.expect_format({"id"=>1, "txt" => "hoge", "txt2" => "foo"}.to_msgpack)
81
- d.expect_format({"id"=>2, "txt" => "hoge2", "txt2" => "foo2"}.to_msgpack)
137
+ d.expect_format([1, "hoge", "foo"].to_msgpack)
138
+ d.expect_format([2, "hoge2", "foo2"].to_msgpack)
82
139
 
83
- # d.run
140
+ d.run
84
141
  end
85
142
 
86
143
  def test_write
87
144
  # TODO
88
145
  end
89
- end
146
+ end
metadata CHANGED
@@ -1,18 +1,20 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-mysql-load
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Fukui ReTu
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2014-05-04 00:00:00.000000000 Z
12
+ date: 2014-05-17 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: bundler
15
16
  requirement: !ruby/object:Gem::Requirement
17
+ none: false
16
18
  requirements:
17
19
  - - ~>
18
20
  - !ruby/object:Gem::Version
@@ -20,6 +22,7 @@ dependencies:
20
22
  type: :development
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
23
26
  requirements:
24
27
  - - ~>
25
28
  - !ruby/object:Gem::Version
@@ -27,46 +30,52 @@ dependencies:
27
30
  - !ruby/object:Gem::Dependency
28
31
  name: rake
29
32
  requirement: !ruby/object:Gem::Requirement
33
+ none: false
30
34
  requirements:
31
- - - '>='
35
+ - - ! '>='
32
36
  - !ruby/object:Gem::Version
33
37
  version: '0'
34
38
  type: :development
35
39
  prerelease: false
36
40
  version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
37
42
  requirements:
38
- - - '>='
43
+ - - ! '>='
39
44
  - !ruby/object:Gem::Version
40
45
  version: '0'
41
46
  - !ruby/object:Gem::Dependency
42
47
  name: fluentd
43
48
  requirement: !ruby/object:Gem::Requirement
49
+ none: false
44
50
  requirements:
45
- - - '>='
51
+ - - ! '>='
46
52
  - !ruby/object:Gem::Version
47
53
  version: '0'
48
54
  type: :runtime
49
55
  prerelease: false
50
56
  version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
51
58
  requirements:
52
- - - '>='
59
+ - - ! '>='
53
60
  - !ruby/object:Gem::Version
54
61
  version: '0'
55
62
  - !ruby/object:Gem::Dependency
56
63
  name: mysql2
57
64
  requirement: !ruby/object:Gem::Requirement
65
+ none: false
58
66
  requirements:
59
- - - '>='
67
+ - - ! '>='
60
68
  - !ruby/object:Gem::Version
61
69
  version: '0'
62
70
  type: :runtime
63
71
  prerelease: false
64
72
  version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
65
74
  requirements:
66
- - - '>='
75
+ - - ! '>='
67
76
  - !ruby/object:Gem::Version
68
77
  version: '0'
69
- description: Output filter plugin to mysql import
78
+ description: BufferedOutput plugin to mysql import
70
79
  email:
71
80
  - s0232101@gmail.com
72
81
  executables: []
@@ -75,6 +84,7 @@ extra_rdoc_files: []
75
84
  files:
76
85
  - .gitignore
77
86
  - .travis.yml
87
+ - CHANGELOG.md
78
88
  - Gemfile
79
89
  - LICENSE.txt
80
90
  - README.md
@@ -89,27 +99,28 @@ files:
89
99
  homepage: https://github.com/fukuiretu/fluent-plugin-mysql-load
90
100
  licenses:
91
101
  - APL2.0
92
- metadata: {}
93
102
  post_install_message:
94
103
  rdoc_options: []
95
104
  require_paths:
96
105
  - lib
97
106
  required_ruby_version: !ruby/object:Gem::Requirement
107
+ none: false
98
108
  requirements:
99
- - - '>='
109
+ - - ! '>='
100
110
  - !ruby/object:Gem::Version
101
111
  version: '0'
102
112
  required_rubygems_version: !ruby/object:Gem::Requirement
113
+ none: false
103
114
  requirements:
104
- - - '>='
115
+ - - ! '>='
105
116
  - !ruby/object:Gem::Version
106
117
  version: '0'
107
118
  requirements: []
108
119
  rubyforge_project: fluent-plugin-mysql-load
109
- rubygems_version: 2.0.14
120
+ rubygems_version: 1.8.23
110
121
  signing_key:
111
- specification_version: 4
112
- summary: Output filter plugin to mysql import
122
+ specification_version: 3
123
+ summary: BufferedOutput plugin to mysql import
113
124
  test_files:
114
125
  - test/helper.rb
115
126
  - test/plugin/test_out_mysql_load.rb
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: 694e88114b2538b250ecbf498b4351f06fdda1d0
4
- data.tar.gz: 0d9d81e11ca091d49b1fd8620902d71a8740dcae
5
- SHA512:
6
- metadata.gz: b93240239bcaac9cb8ab02480a73cb55bd873e60f686a6cee1b6a81d571d0aa097ace435c5c2a57c74ff261168c9c52e11542dd44787bebb1906e1d6ba449aa1
7
- data.tar.gz: b32a77a8148fe0b9dea6daebfbb448eeb8b63a5c233657fb670de6922230e66eba3030b6e1f23fa9c91d2d614bb04925c5a249b14136c133042f4c71bb85a88d