• Luis Soares's avatar
    BUG#28777, WL#4293: SHOW BINLOG EVENTS does not work on relay log · 207cd67f
    Luis Soares authored
    files
    
    NOTE: this is the backport to next-mr.
                
    SHOW BINLOG EVENTS does not work with relay log files. If issuing
    "SHOW BINLOG EVENTS IN 'relay-log.000001'" in a non-empty relay
    log file (relay-log.000001), mysql reports empty set.
                
    This patch addresses this issue by extending the SHOW command
    with RELAYLOG. Events in relay log files can now be inspected by
    issuing SHOW RELAYLOG EVENTS [IN 'log_name'] [FROM pos] [LIMIT
    [offset,] row_count].
    
    mysql-test/extra/rpl_tests/rpl_show_relaylog_events.inc:
      Shared part of the test case.
    mysql-test/include/show_binlog_events.inc:
      Added options $binary_log_file, $binary_log_limit_row, 
      $binary_log_limit_offset so that show_binlog_events can take 
      same parameters as SHOW BINLOG EVENTS does.
    mysql-test/include/show_relaylog_events.inc:
      Clone of show_binlog_events for relaylog events.
    mysql-test/suite/rpl/t/rpl_row_show_relaylog_events.test:
      Test case for row based replication.
    mysql-test/suite/rpl/t/rpl_stm_mix_show_relaylog_events.test:
      Test case for statement and mixed mode replication.
    sql/lex.h:
      Added RELAYLOG symbol.
    sql/mysqld.cc:
      Added "show_relaylog_events" to status_vars.
    sql/sp_head.cc:
      Set SQLCOM_SHOW_RELAYLOG_EVENTS to return flags=
      sp_head::MULTI_RESULTS; in sp_get_flags_for_command as
      SQLCOM_SHOW_BINLOG_EVENTS does.
    sql/sql_lex.h:
      Added sql_command SQLCOM_SHOW_RELAYLOG_EVENTS to lex enum_sql_command.
    sql/sql_parse.cc:
      Added handling of SQLCOM_SHOW_RELAYLOG_EVENTS.
    sql/sql_repl.cc:
      mysql_show_binlog_events set to choose the log file to use based on
      the command issued (SHOW BINLOG|RELAYLOG EVENTS).
    sql/sql_yacc.yy:
      Added RELAYLOG to the grammar.
    207cd67f
sql_parse.cc 232 KB