ruby-binlog 0.1.6 → 0.1.7
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.
- data/README +14 -1
- data/ext/ruby_binlog_row_event.cpp +16 -3
- metadata +15 -15
data/README
CHANGED
@@ -4,7 +4,8 @@
|
|
4
4
|
|
5
5
|
ruby-binlog is Ruby binding for MySQL Binary log API.
|
6
6
|
|
7
|
-
|
7
|
+
* http://www.oscon.com/oscon2011/public/schedule/detail/18785
|
8
|
+
* https://launchpad.net/mysql-replication-listener
|
8
9
|
|
9
10
|
== Install
|
10
11
|
|
@@ -33,9 +34,12 @@ gem install ruby-binlog
|
|
33
34
|
|
34
35
|
case event
|
35
36
|
when Binlog::QueryEvent
|
37
|
+
puts event.db_name
|
36
38
|
puts event.query
|
37
39
|
when Binlog::RowEvent
|
38
40
|
puts event.event_type
|
41
|
+
puts event.db_name
|
42
|
+
puts event.table_name
|
39
43
|
p event.columns
|
40
44
|
p event.rows
|
41
45
|
when Binlog::RotateEvent
|
@@ -54,5 +58,14 @@ gem install ruby-binlog
|
|
54
58
|
|
55
59
|
The following type are not supported in row mode.
|
56
60
|
|
61
|
+
* DECIMAL
|
62
|
+
* INT24
|
57
63
|
* DATE
|
64
|
+
* TIME
|
65
|
+
* YEAR
|
66
|
+
* BIT
|
58
67
|
* ENUM
|
68
|
+
* SET
|
69
|
+
* GEOMETRY
|
70
|
+
|
71
|
+
see http://bazaar.launchpad.net/~mysql/mysql-replication-listener/trunk/view/head:/src/value.cpp#L310
|
@@ -217,9 +217,22 @@ void RowEvent::proc0(mysql::Row_of_fields &fields, VALUE rb_fields) {
|
|
217
217
|
mysql::Row_of_fields::iterator itor = fields.begin();
|
218
218
|
|
219
219
|
do {
|
220
|
-
|
221
|
-
|
222
|
-
|
220
|
+
VALUE rval = Qnil;
|
221
|
+
mysql::system::enum_field_types type = itor->type();
|
222
|
+
|
223
|
+
if (itor->is_null()) {
|
224
|
+
rval = Qnil;
|
225
|
+
} else if (type == mysql::system::MYSQL_TYPE_FLOAT) {
|
226
|
+
rval = rb_float_new(itor->as_float());
|
227
|
+
} else if (type == mysql::system::MYSQL_TYPE_DOUBLE) {
|
228
|
+
rval = rb_float_new(itor->as_double());
|
229
|
+
} else {
|
230
|
+
std::string out;
|
231
|
+
converter.to(out, *itor);
|
232
|
+
rval = rb_str_new2(out.c_str());
|
233
|
+
}
|
234
|
+
|
235
|
+
rb_ary_push(rb_fields, rval);
|
223
236
|
} while(++itor != fields.end());
|
224
237
|
}
|
225
238
|
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-binlog
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 21
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
9
|
+
- 7
|
10
|
+
version: 0.1.7
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- winebarrel
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2012-11-
|
18
|
+
date: 2012-11-16 00:00:00 Z
|
19
19
|
dependencies: []
|
20
20
|
|
21
21
|
description: Ruby binding for MySQL Binary log API.
|
@@ -27,22 +27,22 @@ extensions:
|
|
27
27
|
extra_rdoc_files:
|
28
28
|
- README
|
29
29
|
files:
|
30
|
+
- ext/ruby_binlog_row_event.cpp
|
30
31
|
- ext/ruby_binlog_incident_event.cpp
|
31
|
-
- ext/
|
32
|
-
- ext/
|
32
|
+
- ext/ruby_binlog_table_map_event.cpp
|
33
|
+
- ext/ruby_binlog_int_var_event.cpp
|
33
34
|
- ext/ruby_binlog_query_event.cpp
|
34
|
-
- ext/
|
35
|
+
- ext/ruby_binlog_user_var_event.cpp
|
35
36
|
- ext/ruby_binlog_format_event.cpp
|
36
|
-
- ext/
|
37
|
-
- ext/
|
37
|
+
- ext/ruby_binlog_cast_to_tcp_driver.cpp
|
38
|
+
- ext/ruby_binlog.cpp
|
38
39
|
- ext/ruby_binlog_rotate_event.cpp
|
39
|
-
- ext/
|
40
|
+
- ext/ruby_binlog_xid_event.cpp
|
41
|
+
- ext/ruby_binlog_event.cpp
|
42
|
+
- ext/ruby_binlog_get_field_type_str.cpp
|
40
43
|
- ext/ruby_binlog_unimplemented_event.cpp
|
41
|
-
- ext/ruby_binlog_table_map_event.cpp
|
42
|
-
- ext/ruby_binlog_user_var_event.cpp
|
43
|
-
- ext/ruby_binlog_cast_to_tcp_driver.cpp
|
44
|
-
- ext/ruby_binlog_event.h
|
45
44
|
- ext/ruby_binlog.h
|
45
|
+
- ext/ruby_binlog_event.h
|
46
46
|
- ext/extconf.rb
|
47
47
|
- README
|
48
48
|
homepage: https://bitbucket.org/winebarrel/ruby-binlog
|
@@ -75,7 +75,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
75
75
|
requirements: []
|
76
76
|
|
77
77
|
rubyforge_project:
|
78
|
-
rubygems_version: 1.8.
|
78
|
+
rubygems_version: 1.8.24
|
79
79
|
signing_key:
|
80
80
|
specification_version: 3
|
81
81
|
summary: Ruby binding for MySQL Binary log API.
|