Class: Mysql::AlterTableQueryHandler

Inherits:
DdlQueryHandler show all
Defined in:
lib/flydata/fluent-plugins/mysql/alter_table_query_handler.rb

Constant Summary collapse

PATTERN =
/^ALTER TABLE/i

Constants inherited from DdlQueryHandler

DdlQueryHandler::DDL_TABLE_QUERY

Constants inherited from BinlogRecordHandler

BinlogRecordHandler::RESPECT_ORDER, BinlogRecordHandler::SEQ, BinlogRecordHandler::SRC_POS, BinlogRecordHandler::TABLE_NAME, BinlogRecordHandler::TABLE_REV, BinlogRecordHandler::TYPE

Instance Method Summary collapse

Methods inherited from DdlQueryHandler

#acceptable_db?

Constructor Details

#initialize(context) ⇒ AlterTableQueryHandler

Returns a new instance of AlterTableQueryHandler.



8
9
10
# File 'lib/flydata/fluent-plugins/mysql/alter_table_query_handler.rb', line 8

def initialize(context)
  super
end

Instance Method Details

#patternObject



12
13
14
# File 'lib/flydata/fluent-plugins/mysql/alter_table_query_handler.rb', line 12

def pattern
  PATTERN
end

#process(record, normalized_query) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/flydata/fluent-plugins/mysql/alter_table_query_handler.rb', line 16

def process(record, normalized_query)
  emit_record(:alter_table, record, increment_table_rev: true) do
    ret = nil
    begin
      result = ParserProvider.parser(:mysql, :mysql_alter_table).new.parse(record['query'])
      if result.nil?
        $log.warn("Received unsupported alter table query. query:'#{record['query']}'")
      else
        ret = result.tree
      end
    rescue => e
      msg = <<EOS
Received unsupported alter table query. query:'#{record['query']}'
  Caused by error '#{e.to_s}'
  Stacktrace :
#{e.backtrace.join("\n")}
EOS
      $log.error(msg)
    end
    ret
  end
end