Class: Ecco::RowEventListener
Constant Summary
collapse
- WRITE_EVENTS =
MySQL v1 and v2 row events
[EventType::WRITE_ROWS, EventType::EXT_WRITE_ROWS]
- UPDATE_EVENTS =
[EventType::UPDATE_ROWS, EventType::EXT_UPDATE_ROWS]
- DELETE_EVENTS =
[EventType::DELETE_ROWS, EventType::EXT_DELETE_ROWS]
- ROW_EVENTS =
WRITE_EVENTS + UPDATE_EVENTS + DELETE_EVENTS
Instance Attribute Summary
#callback
Instance Method Summary
collapse
#initialize
Instance Method Details
#accepted_events ⇒ Object
17
18
19
|
# File 'lib/ecco/row_event_listener.rb', line 17
def accepted_events
ROW_EVENTS
end
|
#on_event(event) ⇒ Object
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
# File 'lib/ecco/row_event_listener.rb', line 21
def on_event(event)
data = event.get_data
type = event..get_event_type
case type
when table_event
@table_map_event = event
when *accepted_events
row_event = Ecco::RowEvent.new
row_event.table_id = data.get_table_id
row_event.rows = data.rows
row_event.type = row_type_to_string(type)
if @table_map_event
table_event_data = @table_map_event.get_data
row_event.database = table_event_data.get_database
row_event.table = table_event_data.get_table
end
@callback.call(row_event)
end
end
|
#table_event ⇒ Object
13
14
15
|
# File 'lib/ecco/row_event_listener.rb', line 13
def table_event
EventType::TABLE_MAP
end
|