List:Commits« Previous MessageNext Message »
From:He Zhenxing Date:November 26 2009 3:58am
Subject:Re: bzr commit into mysql-pe branch (Dao-Gang.Qu:3683) WL#5142
View as plain text  
Hi Daogang,

Nice work, please see some comments!

Dao-Gang.Qu@stripped wrote: 
> #At file:///home/daogangqu/mysql/bzrwork/wl5142/mysql-pe/ based on
> revid:jorgen.loland@stripped
> 
>  3683 Dao-Gang.Qu@stripped	2009-11-24
>       WL#5142 FLUSH LOGS should take optional arguments for which log(s) to flush
>       
>       Support to flush individual logs, so that meet user's requirement 
>       for flush specified logs and improve the response time. 
>       

..., so that user can selectively flush the logs and avoid necessary
flushes of logs.

> Flush individual logs as following:
>       flush error logs
>       flush engine logs
>       flush general logs
>       flush slow logs
>       flush binary logs
>       flush relay logs
>       
>       Flush various kinds of logs in one statement, as long as everyone 
>       is comma-separated as following:

I'd suggest:

Flush multiple logs separated by comma in one statement is also
supported as the following:

> flush slow logs, binary logs;
>       flush error logs, engine logs, general logs, relay logs;
>      @ mysql-test/suite/rpl/r/rpl_flush_logs.result
>         Test result for WL#5142.
>      @ mysql-test/suite/rpl/t/rpl_flush_logs.test
>         Added the test file to verify if the 'flush separated log' 

separated => individual

> statement works fine.
>      @ sql/sql_parse.cc
>         Added code to flush specified logs against the option.
>      @ sql/sql_yacc.yy
>         Added code to parse the 'flush * log' statement syntax and 
>         set its option to Lex->type.
> 
>     added:
>       mysql-test/suite/rpl/r/rpl_flush_logs.result
>       mysql-test/suite/rpl/t/rpl_flush_logs-master.opt
>       mysql-test/suite/rpl/t/rpl_flush_logs.test
>     modified:
>       include/mysql_com.h
>       sql/lex.h
>       sql/sql_parse.cc
>       sql/sql_yacc.yy
> === modified file 'include/mysql_com.h'
> --- a/include/mysql_com.h	2009-11-02 15:16:58 +0000
> +++ b/include/mysql_com.h	2009-11-24 04:56:28 +0000
> @@ -128,6 +128,12 @@ enum enum_server_command
>  					   thread */
>  #define REFRESH_MASTER          128     /* Remove all bin logs in the index
>  					   and truncate the index */
> +#define REFRESH_ERROR_LOG       256 /* Rotate only the erorr log */
> +#define REFRESH_ENGINE_LOG      512 /* Flush all storage engine logs */
> +#define REFRESH_BINARY_LOG     1024 /* Flush the binary log */
> +#define REFRESH_RELAY_LOG      2048 /* Flush the relay log */
> +#define REFRESH_GENERAL_LOG    4096 /* Flush the general log */
> +#define REFRESH_SLOW_LOG       8192 /* Flush the slow query log */
>  
>  /* The following can't be set with mysql_refresh() */
>  #define REFRESH_READ_LOCK	16384	/* Lock tables for read */
> 
> === added file 'mysql-test/suite/rpl/r/rpl_flush_logs.result'
> --- a/mysql-test/suite/rpl/r/rpl_flush_logs.result	1970-01-01 00:00:00 +0000
> +++ b/mysql-test/suite/rpl/r/rpl_flush_logs.result	2009-11-24 04:56:28 +0000
> @@ -0,0 +1,110 @@
> +stop slave;
> +drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
> +reset master;
> +reset slave;
> +drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
> +start slave;
> +CREATE TABLE t1(a INT);
> +insert into t1(a) values(1);
> +# Make sure the 'master_log.err-old' file does not
> +# exist before execute 'flush error logs' statement.
> +# Test if support 'flush error logs' statement.
> +flush error logs;
> +# Check the 'master_log.err-old' file is created
> +# after executed 'flush error logs' statement.
> +# Make sure binary logs was not be flushed
> +# after execute 'flush error logs' statement.
> +# Make sure relay logs was not be flushed 
> +# after execute 'flush error logs' statement.
> +insert into t1(a) values(2);
> +insert into t1(a) values(3);
> +# Make sure the 'slave-relay-bin.000004' file does not
> +# exist before execute 'flush relay logs' statement.
> +# Test if support 'flush relay logs' statement.
> +flush relay logs;
> +# Check the 'slave-relay-bin.000004' file is created
> +# after executed 'flush relay logs' statement.
> +# Make sure binary logs was not be flushed
> +# after execute 'flush relay logs' statement.
> +insert into t1(a) values(4);
> +insert into t1(a) values(5);
> +insert into t1(a) values(6);
> +# Test if support 'flush slow logs' statement.
> +flush slow logs;
> +# Make sure binary logs was not be flushed
> +# after execute 'flush slow logs' statement.
> +insert into t1(a) values(7);
> +insert into t1(a) values(8);
> +# Test if support 'flush general logs' statement.
> +flush general logs;
> +# Make sure binary logs was not be flushed
> +# after execute 'flush general logs' statement.
> +insert into t1(a) values(9);
> +insert into t1(a) values(10);
> +# Test if support 'flush engine logs' statement.
> +flush engine logs;
> +# Make sure binary logs was not be flushed
> +# after execute 'flush engine logs' statement.
> +insert into t1(a) values(11);
> +# Make sure the 'master-bin.000002' file does not
> +# exist before execute 'flush binary logs' statement.
> +# Test if support 'flush binary logs' statement.
> +flush binary logs;
> +# Check the 'master-bin.000002' file is created
> +# after executed 'flush binary logs' statement.
> +insert into t1(a) values(12);
> +insert into t1(a) values(13);
> +# Make sure the 'slave-relay-bin.000007' file does not exist
> +# exist before execute 'flush error logs, relay logs' statement.
> +# Make sure the 'master_log.err-old' file does not exist
> +# before execute 'flush error logs, relay logs' statement.
> +# Test if support to combine all kinds of logs into one statement.
> +flush error logs, relay logs;
> +# Check the 'master_log.err-old' file is created
> +# after executed 'flush error logs, relay logs' statement.
> +# Make sure binary logs was not be flushed
> +# after execute 'flush error logs, relay logs' statement.
> +# Check the 'slave-relay-bin.000007' file is created after
> +# execute 'flush error logs, relay logs' statement.
> +# Make sure the 'slave-relay-bin.000008' and 'slave-relay-bin.000009' 
> +# files do not exist before execute 'flush error logs, relay logs' 
> +# statement.
> +# Make sure the 'master_log.err-old' file does not exist
> +# before execute 'flush logs' statement.
> +# Test if 'flush logs' statement works fine and flush all the logs.
> +flush logs;
> +# Check the 'master_log.err-old' file is created
> +# after executed 'flush logs' statement.
> +# Check 'master-bin.000003' is created
> +# after execute 'flush logs' statement.
> +# Check the 'slave-relay-bin.000008' and 'slave-relay-bin.000009' 
> +# files are created after execute 'flush logs' statement.
> +select * from t1;
> +a
> +1
> +4
> +5
> +6
> +7
> +8
> +9
> +10
> +11
> +12
> +13
> +select * from t1;
> +a
> +1
> +2
> +3
> +4
> +5
> +6
> +7
> +8
> +9
> +10
> +11
> +12
> +13
> +drop table t1;
> 
> === added file 'mysql-test/suite/rpl/t/rpl_flush_logs-master.opt'
> --- a/mysql-test/suite/rpl/t/rpl_flush_logs-master.opt	1970-01-01 00:00:00 +0000
> +++ b/mysql-test/suite/rpl/t/rpl_flush_logs-master.opt	2009-11-24 04:56:28 +0000
> @@ -0,0 +1 @@
> +--log-error=$MYSQLTEST_VARDIR/tmp/master_log.err
> 
> === added file 'mysql-test/suite/rpl/t/rpl_flush_logs.test'
> --- a/mysql-test/suite/rpl/t/rpl_flush_logs.test	1970-01-01 00:00:00 +0000
> +++ b/mysql-test/suite/rpl/t/rpl_flush_logs.test	2009-11-24 04:56:28 +0000
> @@ -0,0 +1,210 @@
> +#
> +# WL#5124
> +# This test verifies if the 'flush separated logs' statement 
> +# works fine.  
> +#
> +
> +--source include/master-slave.inc
> +--source include/have_binlog_format_statement.inc
> +connection master;
> +CREATE TABLE t1(a INT);
> +insert into t1(a) values(1);
> +

Could you explain why you need the inserts here and below? I kind of
think that they are not necessary.

> +
> +# Test 'flush error logs' statement.
> +--echo # Make sure the 'master_log.err-old' file does not
> +--echo # exist before execute 'flush error logs' statement.
> +--error 1
> +file_exists $MYSQLTEST_VARDIR/tmp/master_log.err-old;
> +
> +--echo # Test if support 'flush error logs' statement.
> +flush error logs;
> +
> +--echo # Check the 'master_log.err-old' file is created
> +--echo # after executed 'flush error logs' statement.
> +file_exists $MYSQLTEST_VARDIR/tmp/master_log.err-old;
> +file_exists $MYSQLTEST_VARDIR/tmp/master_log.err;
> +
> +--echo # Make sure binary logs was not be flushed
> +--echo # after execute 'flush error logs' statement.
> +--error 1
> +file_exists $MYSQLTEST_VARDIR/mysqld.1/data/master-bin.000002;
> +
> +sync_slave_with_master;
> +connection slave;
> +--echo # Make sure relay logs was not be flushed 
> +--echo # after execute 'flush error logs' statement.
> +--error 1
> +file_exists $MYSQLTEST_VARDIR/mysqld.2/data/slave-relay-bin.000004;
> +
> +insert into t1(a) values(2);
> +insert into t1(a) values(3);
> +
> +
> +# Test 'flush relay logs' statement.
> +--echo # Make sure the 'slave-relay-bin.000004' file does not
> +--echo # exist before execute 'flush relay logs' statement.
> +--error 1
> +file_exists $MYSQLTEST_VARDIR/mysqld.2/data/slave-relay-bin.000004;
> +
> +connection master;
> +--echo # Test if support 'flush relay logs' statement.
> +flush relay logs;
> +
> +sync_slave_with_master;
> +connection slave;
> +--echo # Check the 'slave-relay-bin.000004' file is created
> +--echo # after executed 'flush relay logs' statement.
> +file_exists $MYSQLTEST_VARDIR/mysqld.2/data/slave-relay-bin.000004;
> +
> +connection master;
> +--echo # Make sure binary logs was not be flushed
> +--echo # after execute 'flush relay logs' statement.
> +--error 1
> +file_exists $MYSQLTEST_VARDIR/mysqld.1/data/master-bin.000002;
> +
> +insert into t1(a) values(4);
> +insert into t1(a) values(5);
> +insert into t1(a) values(6);
> +
> +
> +# Test 'flush slow logs' statement.
> +--echo # Test if support 'flush slow logs' statement.
> +flush slow logs;
> +
> +--echo # Make sure binary logs was not be flushed
> +--echo # after execute 'flush slow logs' statement.
> +--error 1
> +file_exists $MYSQLTEST_VARDIR/mysqld.1/data/master-bin.000002;
> +
> +insert into t1(a) values(7);
> +insert into t1(a) values(8);
> +
> +
> +# Test 'flush general logs' statement.
> +--echo # Test if support 'flush general logs' statement.
> +flush general logs;
> +
> +--echo # Make sure binary logs was not be flushed
> +--echo # after execute 'flush general logs' statement.
> +--error 1
> +file_exists $MYSQLTEST_VARDIR/mysqld.1/data/master-bin.000002;
> +
> +insert into t1(a) values(9);
> +insert into t1(a) values(10);
> +
> +
> +# Test 'flush engine logs' statement.
> +--echo # Test if support 'flush engine logs' statement.
> +flush engine logs;
> +
> +--echo # Make sure binary logs was not be flushed
> +--echo # after execute 'flush engine logs' statement.
> +--error 1
> +file_exists $MYSQLTEST_VARDIR/mysqld.1/data/master-bin.000002;
> +
> +insert into t1(a) values(11);
> +
> +
> +# Test 'flush binary logs' statement.
> +--echo # Make sure the 'master-bin.000002' file does not
> +--echo # exist before execute 'flush binary logs' statement.
> +--error 1
> +file_exists $MYSQLTEST_VARDIR/mysqld.1/data/master-bin.000002;
> +
> +--echo # Test if support 'flush binary logs' statement.
> +flush binary logs;
> +
> +--echo # Check the 'master-bin.000002' file is created
> +--echo # after executed 'flush binary logs' statement.
> +file_exists $MYSQLTEST_VARDIR/mysqld.1/data/master-bin.000002;
> +file_exists $MYSQLTEST_VARDIR/mysqld.1/data/master-bin.000001;
> +
> +insert into t1(a) values(12);
> +insert into t1(a) values(13);
> +
> +
> +# Test 'flush error logs, relay logs' statement
> +sync_slave_with_master;
> +connection slave;
> +--echo # Make sure the 'slave-relay-bin.000007' file does not exist
> +--echo # exist before execute 'flush error logs, relay logs' statement.
> +--error 1
> +file_exists $MYSQLTEST_VARDIR/mysqld.2/data/slave-relay-bin.000007;
> +
> +connection master;
> +remove_file $MYSQLTEST_VARDIR/tmp/master_log.err-old;
> +
> +--echo # Make sure the 'master_log.err-old' file does not exist
> +--echo # before execute 'flush error logs, relay logs' statement.
> +--error 1
> +file_exists $MYSQLTEST_VARDIR/tmp/master_log.err-old;
> +
> +--echo # Test if support to combine all kinds of logs into one statement.
> +flush error logs, relay logs;
> +
> +--echo # Check the 'master_log.err-old' file is created
> +--echo # after executed 'flush error logs, relay logs' statement.
> +file_exists $MYSQLTEST_VARDIR/tmp/master_log.err-old;
> +file_exists $MYSQLTEST_VARDIR/tmp/master_log.err;
> +
> +--echo # Make sure binary logs was not be flushed
> +--echo # after execute 'flush error logs, relay logs' statement.
> +--error 1
> +file_exists $MYSQLTEST_VARDIR/mysqld.1/data/master-bin.000003;
> +
> +sync_slave_with_master;
> +connection slave;
> +--echo # Check the 'slave-relay-bin.000007' file is created after
> +--echo # execute 'flush error logs, relay logs' statement.
> +file_exists $MYSQLTEST_VARDIR/mysqld.2/data/slave-relay-bin.000007;
> +
> +
> +# Test 'flush logs' statement
> +--echo # Make sure the 'slave-relay-bin.000008' and 'slave-relay-bin.000009' 
> +--echo # files do not exist before execute 'flush error logs, relay logs' 
> +--echo # statement.
> +--error 1
> +file_exists $MYSQLTEST_VARDIR/mysqld.2/data/slave-relay-bin.000008;
> +--error 1
> +file_exists $MYSQLTEST_VARDIR/mysqld.2/data/slave-relay-bin.000009;
> +
> +connection master;
> +remove_file $MYSQLTEST_VARDIR/tmp/master_log.err-old;
> +
> +--echo # Make sure the 'master_log.err-old' file does not exist
> +--echo # before execute 'flush logs' statement.
> +--error 1
> +file_exists $MYSQLTEST_VARDIR/tmp/master_log.err-old;
> +
> +--echo # Test if 'flush logs' statement works fine and flush all the logs.
> +flush logs;
> +
> +--echo # Check the 'master_log.err-old' file is created
> +--echo # after executed 'flush logs' statement.
> +file_exists $MYSQLTEST_VARDIR/tmp/master_log.err-old;
> +file_exists $MYSQLTEST_VARDIR/tmp/master_log.err;
> +
> +--echo # Check 'master-bin.000003' is created
> +--echo # after execute 'flush logs' statement.
> +file_exists $MYSQLTEST_VARDIR/mysqld.1/data/master-bin.000003;
> +
> +sync_slave_with_master;
> +connection slave;
> +--echo # Check the 'slave-relay-bin.000008' and 'slave-relay-bin.000009' 
> +--echo # files are created after execute 'flush logs' statement.
> +file_exists $MYSQLTEST_VARDIR/mysqld.2/data/slave-relay-bin.000008;
> +file_exists $MYSQLTEST_VARDIR/mysqld.2/data/slave-relay-bin.000009;
> +
> +
> +connection master;
> +select * from t1;
> +
> +sync_slave_with_master;
> +connection slave;
> +select * from t1;
> +
> +connection master;
> +drop table t1;
> +sync_slave_with_master;
> +
> 
> === modified file 'sql/lex.h'
> --- a/sql/lex.h	2009-10-30 16:34:50 +0000
> +++ b/sql/lex.h	2009-11-24 04:56:28 +0000
> @@ -198,6 +198,7 @@ static SYMBOL symbols[] = {
>    { "ENGINE",		SYM(ENGINE_SYM)},
>    { "ENGINES",		SYM(ENGINES_SYM)},
>    { "ENUM",		SYM(ENUM)},
> +  { "ERROR",            SYM(ERROR_SYM)},
>    { "ERRORS",		SYM(ERRORS)},
>    { "ESCAPE",		SYM(ESCAPE_SYM)},
>    { "ESCAPED",		SYM(ESCAPED)},
> @@ -234,6 +235,7 @@ static SYMBOL symbols[] = {
>    { "FULL",		SYM(FULL)},
>    { "FULLTEXT",		SYM(FULLTEXT_SYM)},
>    { "FUNCTION",		SYM(FUNCTION_SYM)},
> +  { "GENERAL",          SYM(GENERAL)},
>    { "GEOMETRY",		SYM(GEOMETRY_SYM)},
>    { "GEOMETRYCOLLECTION",SYM(GEOMETRYCOLLECTION)},
>    { "GET_FORMAT",       SYM(GET_FORMAT)},
> @@ -446,6 +448,7 @@ static SYMBOL symbols[] = {
>    { "REDUNDANT",	SYM(REDUNDANT_SYM)},
>    { "REFERENCES",	SYM(REFERENCES)},
>    { "REGEXP",		SYM(REGEXP)},
> +  { "RELAY",            SYM(RELAY)},
>    { "RELAYLOG",         SYM(RELAYLOG_SYM)},
>    { "RELAY_LOG_FILE",   SYM(RELAY_LOG_FILE_SYM)},
>    { "RELAY_LOG_POS",    SYM(RELAY_LOG_POS_SYM)},
> @@ -503,6 +506,7 @@ static SYMBOL symbols[] = {
>    { "SIMPLE",		SYM(SIMPLE_SYM)},
>    { "SKIP_GAP_EVENT",     SYM(SKIP_GAP_EVENT_SYM)},
>    { "SLAVE",            SYM(SLAVE)},
> +  { "SLOW",             SYM(SLOW)},
>    { "SNAPSHOT",         SYM(SNAPSHOT_SYM)},
>    { "SMALLINT",		SYM(SMALLINT)},
>    { "SOCKET",		SYM(SOCKET_SYM)},
> 
> === modified file 'sql/sql_parse.cc'
> --- a/sql/sql_parse.cc	2009-11-03 09:42:49 +0000
> +++ b/sql/sql_parse.cc	2009-11-24 04:56:28 +0000
> @@ -6839,6 +6839,7 @@ bool reload_acl_and_cache(THD *thd, ulon
>      reset_mqh((LEX_USER *)NULL, TRUE);
>    }
>  #endif
> +

Please avoid this.

> if (options & REFRESH_LOG)
>    {
>      /*
> @@ -6846,32 +6847,65 @@ bool reload_acl_and_cache(THD *thd, ulon
>        the slow query log, the relay log (if it exists) and the log
>        tables.
>      */
> +    options|= REFRESH_BINARY_LOG;
> +    options|= REFRESH_RELAY_LOG;
> +    options|= REFRESH_SLOW_LOG;
> +    options|= REFRESH_GENERAL_LOG;
> +    options|= REFRESH_ENGINE_LOG;
> +    options|= REFRESH_ERROR_LOG;
> +  }
>  
> -    /*
> -      Writing this command to the binlog may result in infinite loops
> -      when doing mysqlbinlog|mysql, and anyway it does not really make
> -      sense to log it automatically (would cause more trouble to users
> -      than it would help them)
> -    */
> -    tmp_write_to_binlog= 0;

tmp_write_to_binlog should be set to 0 if we are trying to flush the
binary log

> -    if( mysql_bin_log.is_open() )
> +  if (options & REFRESH_ERROR_LOG)
> +  {
> +    if (flush_error_log())
> +      result= 1;
> +  }
> +
> +  if (options & REFRESH_SLOW_LOG)
> +  {
> +    MYSQL_QUERY_LOG *mysql_slow_log;
> +
> +    if (opt_slow_log)
> +    {
> +      mysql_slow_log= logger.get_slow_log_file_handler();
> +      mysql_slow_log->reopen_file();
> +    }
> +  }
> +
> +  if (options & REFRESH_GENERAL_LOG)
> +  {
> +    MYSQL_QUERY_LOG *mysql_log;
> +
> +    if (opt_log);
> +    {
> +      mysql_log= logger.get_log_file_handler();
> +      mysql_log->reopen_file();
> +    }
> +  }

logger should be locked when trying to reopen the general log or slow
log.

I'd also suggest to add two new functions,  LOGGER::flush_general_log()
LOGGER::flush_slow_log() to do the flush

> +
> +  if (options & REFRESH_ENGINE_LOG)
> +  {
> +    if (ha_flush_logs(NULL))
> +      result= 1;
> +  }
> +
> +  if (options & REFRESH_BINARY_LOG)
> +  {
> +    if ( mysql_bin_log.is_open() )
>      {
>        mysql_bin_log.rotate_and_purge(RP_FORCE_ROTATE);
>      }
> +  }
> +
> +  if (options & REFRESH_RELAY_LOG)
> +  {
>  #ifdef HAVE_REPLICATION
>      pthread_mutex_lock(&LOCK_active_mi);
>      rotate_relay_log(active_mi);
>      pthread_mutex_unlock(&LOCK_active_mi);
>  #endif
> -
> -    /* flush slow and general logs */
> -    logger.flush_logs(thd);
> -
> -    if (ha_flush_logs(NULL))
> -      result=1;
> -    if (flush_error_log())
> -      result=1;
>    }
> +

avoid this

>    /*
>      Added support for flushing backup logs.
>    */
> 
> === modified file 'sql/sql_yacc.yy'
> --- a/sql/sql_yacc.yy	2009-11-06 16:34:09 +0000
> +++ b/sql/sql_yacc.yy	2009-11-24 04:56:28 +0000
> @@ -782,6 +782,7 @@ bool my_yyoverflow(short **a, YYSTYPE **
>  %token  ENUM
>  %token  EQ                            /* OPERATOR */
>  %token  EQUAL_SYM                     /* OPERATOR */
> +%token  ERROR_SYM
>  %token  ERRORS
>  %token  ESCAPED
>  %token  ESCAPE_SYM                    /* SQL-2003-R */
> @@ -817,6 +818,7 @@ bool my_yyoverflow(short **a, YYSTYPE **
>  %token  FULLTEXT_SYM
>  %token  FUNCTION_SYM                  /* SQL-2003-R */
>  %token  GE
> +%token  GENERAL
>  %token  GEOMETRYCOLLECTION
>  %token  GEOMETRY_SYM
>  %token  GET_FORMAT                    /* MYSQL-FUNC */
> @@ -1040,6 +1042,7 @@ bool my_yyoverflow(short **a, YYSTYPE **
>  %token  REDUNDANT_SYM
>  %token  REFERENCES                    /* SQL-2003-R */
>  %token  REGEXP
> +%token  RELAY
>  %token  RELAYLOG_SYM
>  %token  RELAY_LOG_FILE_SYM
>  %token  RELAY_LOG_POS_SYM
> @@ -1099,6 +1102,7 @@ bool my_yyoverflow(short **a, YYSTYPE **
>  %token  SIMPLE_SYM                    /* SQL-2003-N */
>  %token  SKIP_GAP_EVENT_SYM
>  %token  SLAVE
> +%token  SLOW
>  %token  SMALLINT                      /* SQL-2003-R */
>  %token  SNAPSHOT_SYM
>  %token  SOCKET_SYM
> @@ -1444,6 +1448,7 @@ bool my_yyoverflow(short **a, YYSTYPE **
>          server_def server_options_list server_option
>          definer_opt no_definer definer opt_compression
>          opt_compression_algorithm
> +        logs

can be removed, see comments below.

>  END_OF_INPUT
>  
>  %type <NONE> call sp_proc_stmts sp_proc_stmts1 sp_proc_stmt
> @@ -11122,6 +11127,10 @@ show_engine_param:
>            { Lex->sql_command= SQLCOM_SHOW_ENGINE_LOGS; }
>          ;
>  
> +logs:
> +          LOGS_SYM
> +        ;
> +

This is not necessary, should be removed, you can use LOGS_SYM directly
in the places that currently use logs.

>  master_or_binary:
>            MASTER_SYM
>          | BINARY
> @@ -11248,6 +11257,18 @@ flush_option:
>            opt_table_list {}
>          | TABLES WITH READ_SYM LOCK_SYM
>            { Lex->type|= REFRESH_TABLES | REFRESH_READ_LOCK; }
> +        | ERROR_SYM logs

use LOGS_SYM directly here and below

> +          { Lex->type|= REFRESH_ERROR_LOG; }
> +        | ENGINE_SYM logs
> +          { Lex->type|= REFRESH_ENGINE_LOG; } 
> +        | GENERAL logs
> +          { Lex->type|= REFRESH_GENERAL_LOG; }
> +        | SLOW logs
> +          { Lex->type|= REFRESH_SLOW_LOG; }
> +        | BINARY logs
> +          { Lex->type|= REFRESH_BINARY_LOG; }
> +        | RELAY logs
> +          { Lex->type|= REFRESH_RELAY_LOG; }
>          | QUERY_SYM CACHE_SYM
>            { Lex->type|= REFRESH_QUERY_CACHE_FREE; }
>          | HOSTS_SYM
> @@ -12421,6 +12442,7 @@ keyword_sp:
>          | ENUM                     {}
>          | ENGINE_SYM               {}
>          | ENGINES_SYM              {}
> +        | ERROR_SYM                {}
>          | ERRORS                   {}
>          | ESCAPE_SYM               {}
>          | EVENT_SYM                {}
> @@ -12550,6 +12572,7 @@ keyword_sp:
>          | REDO_BUFFER_SIZE_SYM     {}
>          | REDOFILE_SYM             {}
>          | REDUNDANT_SYM            {}
> +        | RELAY                    {}
>          | RELAYLOG_SYM             {}
>          | RELAY_LOG_FILE_SYM       {}
>          | RELAY_LOG_POS_SYM        {}
> 



Thread
bzr commit into mysql-pe branch (Dao-Gang.Qu:3683) WL#5142Dao-Gang.Qu24 Nov
  • Re: bzr commit into mysql-pe branch (Dao-Gang.Qu:3683) WL#5142He Zhenxing26 Nov
    • Re: bzr commit into mysql-pe branch (Dao-Gang.Qu:3683) WL#5142Daogang Qu27 Nov