Module: MysqlBinlog
- Defined in:
- lib/mysql_binlog.rb,
lib/mysql_binlog/binlog.rb,
lib/mysql_binlog/binlog_event_parser.rb,
lib/mysql_binlog/binlog_field_parser.rb,
lib/mysql_binlog/reader/binlog_file_reader.rb,
lib/mysql_binlog/reader/binlog_stream_reader.rb
Overview
The MysqlBinlog module contains a series of classes for reading and parsing binary log events from MySQL binary logs.
Defined Under Namespace
Classes: Binlog, BinlogEventParser, BinlogFieldParser, BinlogFileReader, BinlogStreamReader, MalformedBinlogException, ShortReadException, UnsupportedVersionException, ZeroReadException
Constant Summary collapse
- EVENT_HEADER =
A common fixed-length header that is included with each event.
[ { :name => :timestamp, :length => 4, :format => "V" }, { :name => :event_type, :length => 1, :format => "C" }, { :name => :server_id, :length => 4, :format => "V" }, { :name => :event_length, :length => 4, :format => "V" }, { :name => :next_position, :length => 4, :format => "V" }, { :name => :flags, :length => 2, :format => "v" }, ]
- EVENT_HEADER_FLAGS =
Values for the
flags
field that may appear in binary logs. There are several other values that never appear in a file but may be used in events in memory. { :binlog_in_use => 0x01, :thread_specific => 0x04, :suppress_use => 0x08, :artificial => 0x20, :relay_log => 0x40, }
- EVENT_TYPES =
An array to quickly map an integer event type to its symbol.
[ :unknown_event, # 0 :start_event_v3, # 1 :query_event, # 2 :stop_event, # 3 :rotate_event, # 4 :intvar_event, # 5 :load_event, # 6 :slave_event, # 7 :create_file_event, # 8 :append_block_event, # 9 :exec_load_event, # 10 :delete_file_event, # 11 :new_load_event, # 12 :rand_event, # 13 :user_var_event, # 14 :format_description_event, # 15 :xid_event, # 16 :begin_load_query_event, # 17 :execute_load_query_event, # 18 :table_map_event, # 19 :pre_ga_write_rows_event, # 20 :pre_ga_update_rows_event, # 21 :pre_ga_delete_rows_event, # 22 :write_rows_event, # 23 :update_rows_event, # 24 :delete_rows_event, # 25 :incident_event, # 26 :heartbeat_log_event, # 27 ]
- QUERY_EVENT_STATUS_TYPES =
A mapping array for all values that may appear in the
status
field of a query_event. [ :flags2, # 0 :sql_mode, # 1 :catalog_deprecated, # 2 :auto_increment, # 3 :charset, # 4 :time_zone, # 5 :catalog, # 6 :lc_time_names, # 7 :charset_database, # 8 :table_map_for_update, # 9 ]
- QUERY_EVENT_FLAGS2 =
A mapping hash for all values that may appear in the
flags2
field of a query_event. { :auto_is_null => 1 << 14, :not_autocommit => 1 << 19, :no_foreign_key_checks => 1 << 26, :relaxed_unique_checks => 1 << 27, }
- INTVAR_EVENT_INTVAR_TYPES =
A mapping array for all values that may appear in the
Intvar_type
field of an intvar_event. [ nil, :last_insert_id, :insert_id, ]
- MYSQL_TYPES_HASH =
All MySQL types mapping to their integer values.
{ :decimal => 0, :tiny => 1, :short => 2, :long => 3, :float => 4, :double => 5, :null => 6, :timestamp => 7, :longlong => 8, :int24 => 9, :date => 10, :time => 11, :datetime => 12, :year => 13, :newdate => 14, :varchar => 15, :bit => 16, :newdecimal => 246, :enum => 247, :set => 248, :tiny_blob => 249, :medium_blob => 250, :long_blob => 251, :blob => 252, :var_string => 253, :string => 254, :geometry => 255, }
- MYSQL_TYPES =
All MySQL types in a simple lookup array to map an integer to its symbol.
MYSQL_TYPES_HASH.inject(Array.new(256)) do |type_array, item| type_array[item[1]] = item[0] type_array end