ecco 0.6.0-java → 0.6.1-java
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/.gitignore +1 -0
- data/.travis.yml +15 -3
- data/README.md +1 -1
- data/Rakefile +2 -0
- data/Vagrantfile +3 -0
- data/lib/ecco/row_event_listener.rb +19 -6
- data/lib/ecco/save_event_listener.rb +3 -0
- data/lib/ecco/version.rb +1 -1
- data/vagrant/playbook.yml +2 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 260dad691405d73f74f910b80431b25be925107d
|
4
|
+
data.tar.gz: f8fde912519a3b5f1c4bed8ad26adc9fa3481da0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d22d6e6c108327f0b2de31bbaf65440ac8e8713ca1fa3e014fee4a0bb1e87a10e2f6748c2e2490a82781df28c9e814cc69d8c2fb61c90cbabcb25ac1b088fbb8
|
7
|
+
data.tar.gz: 35de29b97a50af44a2a5a63d6e8f6820e22612808503496a8904a33ac94f9859c75bba0abf17f9a587490d98d5e0918f39c30a9db38cc8776cc327946813b65a
|
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
@@ -1,23 +1,35 @@
|
|
1
1
|
sudo: true
|
2
2
|
|
3
|
+
dist: trusty
|
4
|
+
addons:
|
5
|
+
apt:
|
6
|
+
packages:
|
7
|
+
- mysql-server-5.6
|
8
|
+
- mysql-client-core-5.6
|
9
|
+
- mysql-client-5.6
|
10
|
+
- haveged # Extra entropy
|
11
|
+
|
3
12
|
language: ruby
|
4
13
|
|
14
|
+
rvm:
|
15
|
+
- jruby-9.0.5.0
|
16
|
+
|
5
17
|
services:
|
6
18
|
- mysql
|
7
19
|
|
8
20
|
before_install:
|
9
|
-
-
|
10
|
-
- rvm use jruby-9.0.3.0 --install
|
21
|
+
- sudo service haveged start # Extra entropy too ensure quick start time for JRuby
|
11
22
|
- printf "[mysqld]\nlog-bin=mysql-bin\nserver-id=1\nbinlog-format=ROW\n" | sudo tee /etc/mysql/conf.d/binlog.cnf
|
12
23
|
- sudo service mysql restart
|
13
24
|
- mysql -u root -e 'create database ecco_test;'
|
14
|
-
- gem install bundler
|
25
|
+
- gem install bundler
|
15
26
|
|
16
27
|
env:
|
17
28
|
global:
|
18
29
|
- DATABASE_USER=root
|
19
30
|
- DATABASE_PASS=""
|
20
31
|
- DATABASE_URL=jdbc:mysql://localhost:3306/ecco_test
|
32
|
+
- JRUBY_OPTS='--client -J-XX:+TieredCompilation -J-XX:TieredStopAtLevel=1 -Xcext.enabled=false -J-Xss2m -Xcompile.invokedynamic=false'
|
21
33
|
|
22
34
|
script: bin/all_specs
|
23
35
|
|
data/README.md
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
[](https://travis-ci.org/twingly/ecco)
|
4
4
|
|
5
|
-
MySQL replication binlog parser using [mysql-binlog-connector-java].
|
5
|
+
MySQL (version 5.5 and 5.6) replication binlog parser using [mysql-binlog-connector-java].
|
6
6
|
|
7
7
|
## Installation
|
8
8
|
|
data/Rakefile
CHANGED
@@ -1,11 +1,13 @@
|
|
1
1
|
require "bundler/gem_tasks"
|
2
2
|
require "rspec/core/rake_task"
|
3
3
|
|
4
|
+
desc "Run non-integration specs"
|
4
5
|
RSpec::Core::RakeTask.new(:spec) do |task|
|
5
6
|
task.exclude_pattern = "spec/integration/*_spec.rb"
|
6
7
|
end
|
7
8
|
|
8
9
|
namespace :spec do
|
10
|
+
desc "Run all specs (including integration)"
|
9
11
|
RSpec::Core::RakeTask.new(:all)
|
10
12
|
end
|
11
13
|
|
data/Vagrantfile
CHANGED
@@ -3,11 +3,12 @@ require "ecco/row_event"
|
|
3
3
|
|
4
4
|
module Ecco
|
5
5
|
class RowEventListener < EventListener
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
6
|
+
# MySQL v1 and v2 row events
|
7
|
+
WRITE_EVENTS = [EventType::WRITE_ROWS, EventType::EXT_WRITE_ROWS]
|
8
|
+
UPDATE_EVENTS = [EventType::UPDATE_ROWS, EventType::EXT_UPDATE_ROWS]
|
9
|
+
DELETE_EVENTS = [EventType::DELETE_ROWS, EventType::EXT_DELETE_ROWS]
|
10
|
+
|
11
|
+
ROW_EVENTS = WRITE_EVENTS + UPDATE_EVENTS + DELETE_EVENTS
|
11
12
|
|
12
13
|
def table_event
|
13
14
|
EventType::TABLE_MAP
|
@@ -26,9 +27,9 @@ module Ecco
|
|
26
27
|
@table_map_event = event
|
27
28
|
when *accepted_events
|
28
29
|
row_event = Ecco::RowEvent.new
|
29
|
-
row_event.type = type.to_s
|
30
30
|
row_event.table_id = data.get_table_id
|
31
31
|
row_event.rows = data.rows
|
32
|
+
row_event.type = row_type_to_string(type)
|
32
33
|
|
33
34
|
if @table_map_event
|
34
35
|
table_event_data = @table_map_event.get_data
|
@@ -40,5 +41,17 @@ module Ecco
|
|
40
41
|
@callback.call(row_event)
|
41
42
|
end
|
42
43
|
end
|
44
|
+
|
45
|
+
private
|
46
|
+
|
47
|
+
def row_type_to_string(type)
|
48
|
+
if WRITE_EVENTS.include?(type)
|
49
|
+
"WRITE_ROWS"
|
50
|
+
elsif UPDATE_EVENTS.include?(type)
|
51
|
+
"UPDATE_ROWS"
|
52
|
+
elsif DELETE_EVENTS.include?(type)
|
53
|
+
"DELETE_ROWS"
|
54
|
+
end
|
55
|
+
end
|
43
56
|
end
|
44
57
|
end
|
data/lib/ecco/version.rb
CHANGED
data/vagrant/playbook.yml
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
---
|
2
2
|
- hosts: all
|
3
|
-
|
3
|
+
become: yes
|
4
4
|
tasks:
|
5
5
|
|
6
6
|
- name: Update package cache
|
@@ -12,7 +12,7 @@
|
|
12
12
|
- python-mysqldb
|
13
13
|
|
14
14
|
- name: Install mysql server
|
15
|
-
apt: name=mysql-server state=present
|
15
|
+
apt: name=mysql-server-5.6 state=present
|
16
16
|
|
17
17
|
- name: Copy mysql config file
|
18
18
|
copy: src=files/ecco-my.cnf dest=/etc/mysql/conf.d/
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ecco
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.1
|
5
5
|
platform: java
|
6
6
|
authors:
|
7
7
|
- Twingly AB
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-07-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|