List:Commits« Previous MessageNext Message »
From:He Zhenxing Date:December 10 2010 10:15am
Subject:Re: bzr commit into mysql-trunk-bugfixing branch (luis.soares:3429)
Bug#37656
View as plain text  
Approved!

Luis Soares wrote:
> #At
> file:///home/lsoares/Workspace/bzr/work/bugfixing/37656/push/mysql-trunk-bugfixing/ based
> on revid:ramil@stripped
> 
>  3429 Luis Soares	2010-12-09 [merge]
>       BUG#37656
>       
>       Manually merged bzr bundle from bug report into 
>       mysql-trunk-bugfixing.
>       
>       Conflicts
>       =========
>       
>         Text conflict in sql/log.cc
> 
>     added:
>       mysql-test/extra/rpl_tests/rpl_lower_case_table_names.test
>       mysql-test/suite/rpl/r/rpl_lcase_tblnames_rewrite_db.result
>       mysql-test/suite/rpl/r/rpl_row_lcase_tblnames.result
>       mysql-test/suite/rpl/r/rpl_stm_lcase_tblnames.result
>       mysql-test/suite/rpl/t/rpl_lcase_tblnames_rewrite_db-slave.opt
>       mysql-test/suite/rpl/t/rpl_lcase_tblnames_rewrite_db.test
>       mysql-test/suite/rpl/t/rpl_row_lcase_tblnames-slave.opt
>       mysql-test/suite/rpl/t/rpl_row_lcase_tblnames.test
>       mysql-test/suite/rpl/t/rpl_stm_lcase_tblnames-slave.opt
>       mysql-test/suite/rpl/t/rpl_stm_lcase_tblnames.test
>     modified:
>       sql/log_event.cc
> === added file 'mysql-test/extra/rpl_tests/rpl_lower_case_table_names.test'
> --- a/mysql-test/extra/rpl_tests/rpl_lower_case_table_names.test	1970-01-01 00:00:00
> +0000
> +++ b/mysql-test/extra/rpl_tests/rpl_lower_case_table_names.test	2010-03-02 16:45:06
> +0000
> @@ -0,0 +1,144 @@
> +# BUG#37656
> +#
> +#  This test aims at checking whether lower_case_table_names=1 option works
> +#  for database names and table names.
> +#
> +#  This test checks the following (when lower_case_table_names=1 is set on slave):
> +#    (i) creating a database on upper case on master results in lower case
> +#        database name on slave
> +#   (ii) creating tables with upper case names on master results in lower case
> +#        table names on slave
> +#  (iii) loading data infile into capitalized table name on master replicates to
> +#        lower case table name on slave
> +#   (iv) Propagating changes from upper case table names on into correspondent 
> +#        lower case table names on slave works.
> +
> +
> +# setup: create database and tables
> +-- echo ******** [ MASTER ] ********
> +-- let $dbname_upper= BUG_37656
> +-- let $dbname_lower= `SELECT LOWER('$dbname_upper')`
> +-- eval CREATE DATABASE $dbname_upper
> +-- eval use $dbname_upper
> +
> +# assert: database names are in upper case in master and lower
> +#         case in slave
> +-- eval show databases like '$dbname_upper'
> +sync_slave_with_master;
> +-- echo ******** [ SLAVE ] ********
> +--eval show databases like '$dbname_lower'
> +
> +-- connection master
> +-- echo ******** [ MASTER ] ********
> +CREATE TABLE T1 (a int);
> +-- eval CREATE TABLE T2 (b int) ENGINE=$engine
> +CREATE TABLE T3 (txt TEXT);
> +
> +# assert: that tables exist on master with upper case names
> +show tables;
> +
> +# assert: that tables exist on slave but with lower case names
> +-- sync_slave_with_master
> +-- echo ******** [ SLAVE ] ********
> +-- eval use $dbname_lower
> +show tables;
> +
> +# action: lets create t1 for asserting below that t1 does not get changes
> +#         from master (slave configured with
> --replicate-ignore-db=$dbname_lower.t1)
> +CREATE TABLE t1 (a INT);
> +
> +# action: fill data into tables
> +-- connection master
> +-- echo ******** [ MASTER ] ********
> +-- eval use $dbname_upper
> +INSERT INTO T1 VALUES (1);
> +INSERT INTO T2 VALUES (1);
> +if (`SELECT @@session.binlog_format != 'ROW'`)
> +{
> +  -- eval LOAD DATA INFILE '../../std_data/words.dat' INTO TABLE $dbname_upper.T3
> +}
> +
> +if  (`SELECT @@session.binlog_format = 'ROW'`)
> +{
> +  use test;
> +  -- eval INSERT INTO $dbname_upper.T1 VALUES (2)
> +  -- eval INSERT INTO $dbname_upper.T2 VALUES (2)
> +  -- eval LOAD DATA INFILE '../../std_data/words.dat' INTO TABLE $dbname_upper.T3
> +}
> +# assert: lower case tables on lower case database on slave
> +#         get updates from upper case tables on upper case
> +#         database on master
> +-- sync_slave_with_master
> +-- echo ******** [ SLAVE ] ********
> +
> +# assert: changes for slave's t1 were filterd out
> +if (`SELECT count(*) != 0 FROM t1`)
> +{
> +  -- echo UNEXPECTED DATA on $dbname_lower.t1 as table is filtered by
> replicate-ignore-table rules
> +}
> +
> +-- let $diff_table_1=master:$dbname_upper.T2
> +-- let $diff_table_2=slave:$dbname_lower.t2
> +-- source include/diff_tables.inc
> +
> +-- let $diff_table_1=master:$dbname_upper.T3
> +-- let $diff_table_2=slave:$dbname_lower.t3
> +-- source include/diff_tables.inc
> +
> +# clean up
> +-- connection master
> +-- echo ******** [ MASTER ] ********
> +-- eval DROP DATABASE $dbname_upper
> +-- sync_slave_with_master
> +
> +
> +# 
> +# BUG#50653: drop procedure implicitely treats db name in a case sensitive way
> +#
> +
> +-- source include/master-slave-reset.inc
> +-- connection master
> +
> +-- let $dbname= B50653
> +-- let $procname= b50653_proc
> +
> +-- eval CREATE DATABASE $dbname
> +-- eval USE $dbname
> +-- eval CREATE PROCEDURE $procname() BEGIN SELECT 1; END
> +
> +if (`SELECT count(*) = 1 FROM mysql.proc WHERE name like '$dbname'`)
> +{
> +  -- die Procedure not created on MASTER
> +}
> +
> +-- sync_slave_with_master
> +if (`SELECT count(*) = 1 FROM mysql.proc WHERE name like '$dbname'`)
> +{
> +  -- die Procedure not created on SLAVE
> +}
> +
> +-- connection master
> +-- eval DROP PROCEDURE $procname
> +
> +if (`SELECT count(*) FROM mysql.proc WHERE name like '$dbname'`)
> +{
> +  -- die Procedure not dropped on MASTER
> +}
> +
> +-- sync_slave_with_master
> +if (`SELECT count(*) FROM mysql.proc WHERE name like '$dbname'`)
> +{
> +  -- die Procedure not dropped on SLAVE
> +}
> +
> +-- let $last_error = query_get_value("SHOW SLAVE STATUS", Last_SQL_Errno, 1)
> +if ($last_error)
> +{
> +  -- die UNEXPECTED SLAVE SQL error: $last_error
> +}
> +
> +-- connection master
> +-- eval DROP DATABASE $dbname
> +-- sync_slave_with_master
> +
> +-- source include/master-slave-end.inc
> 
> === added file 'mysql-test/suite/rpl/r/rpl_lcase_tblnames_rewrite_db.result'
> --- a/mysql-test/suite/rpl/r/rpl_lcase_tblnames_rewrite_db.result	1970-01-01 00:00:00
> +0000
> +++ b/mysql-test/suite/rpl/r/rpl_lcase_tblnames_rewrite_db.result	2010-03-02 16:45:06
> +0000
> @@ -0,0 +1,36 @@
> +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;
> +SET SQL_LOG_BIN=0;
> +CREATE DATABASE B37656;
> +SET SQL_LOG_BIN=1;
> +CREATE DATABASE BUG37656;
> +### action: show that database on slave is created in lowercase
> +SHOW DATABASES LIKE '%37656';
> +Database (%37656)
> +bug37656
> +USE B37656;
> +CREATE TABLE T1 (a int);
> +INSERT INTO T1 VALUES (1);
> +### assertion: master contains capitalized case table
> +SHOW TABLES;
> +Tables_in_B37656
> +T1
> +use bug37656;
> +### assertion: slave contains lowered case table
> +SHOW TABLES;
> +Tables_in_bug37656
> +t1
> +### assertion: master and slave tables do not differ
> +Comparing tables master:B37656.T1 and slave:bug37656.t1
> +SET SQL_LOG_BIN=0;
> +DROP DATABASE B37656;
> +SET SQL_LOG_BIN=1;
> +SHOW DATABASES LIKE '%37656';
> +Database (%37656)
> +DROP DATABASE BUG37656;
> +SHOW DATABASES LIKE '%37656';
> +Database (%37656)
> 
> === added file 'mysql-test/suite/rpl/r/rpl_row_lcase_tblnames.result'
> --- a/mysql-test/suite/rpl/r/rpl_row_lcase_tblnames.result	1970-01-01 00:00:00 +0000
> +++ b/mysql-test/suite/rpl/r/rpl_row_lcase_tblnames.result	2010-03-02 16:45:06 +0000
> @@ -0,0 +1,56 @@
> +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;
> +******** [ MASTER ] ********
> +CREATE DATABASE BUG_37656;
> +use BUG_37656;
> +show databases like 'BUG_37656';
> +Database (BUG_37656)
> +BUG_37656
> +******** [ SLAVE ] ********
> +show databases like 'bug_37656';
> +Database (bug_37656)
> +bug_37656
> +******** [ MASTER ] ********
> +CREATE TABLE T1 (a int);
> +CREATE TABLE T2 (b int) ENGINE=InnoDB;
> +CREATE TABLE T3 (txt TEXT);
> +show tables;
> +Tables_in_BUG_37656
> +T1
> +T2
> +T3
> +******** [ SLAVE ] ********
> +use bug_37656;
> +show tables;
> +Tables_in_bug_37656
> +t2
> +t3
> +CREATE TABLE t1 (a INT);
> +******** [ MASTER ] ********
> +use BUG_37656;
> +INSERT INTO T1 VALUES (1);
> +INSERT INTO T2 VALUES (1);
> +use test;
> +INSERT INTO BUG_37656.T1 VALUES (2);
> +INSERT INTO BUG_37656.T2 VALUES (2);
> +LOAD DATA INFILE '../../std_data/words.dat' INTO TABLE BUG_37656.T3;
> +******** [ SLAVE ] ********
> +Comparing tables master:BUG_37656.T2 and slave:bug_37656.t2
> +Comparing tables master:BUG_37656.T3 and slave:bug_37656.t3
> +******** [ MASTER ] ********
> +DROP DATABASE BUG_37656;
> +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 DATABASE B50653;
> +USE B50653;
> +CREATE PROCEDURE b50653_proc() BEGIN SELECT 1; END;
> +DROP PROCEDURE b50653_proc;
> +DROP DATABASE B50653;
> 
> === added file 'mysql-test/suite/rpl/r/rpl_stm_lcase_tblnames.result'
> --- a/mysql-test/suite/rpl/r/rpl_stm_lcase_tblnames.result	1970-01-01 00:00:00 +0000
> +++ b/mysql-test/suite/rpl/r/rpl_stm_lcase_tblnames.result	2010-03-02 16:45:06 +0000
> @@ -0,0 +1,53 @@
> +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;
> +******** [ MASTER ] ********
> +CREATE DATABASE BUG_37656;
> +use BUG_37656;
> +show databases like 'BUG_37656';
> +Database (BUG_37656)
> +BUG_37656
> +******** [ SLAVE ] ********
> +show databases like 'bug_37656';
> +Database (bug_37656)
> +bug_37656
> +******** [ MASTER ] ********
> +CREATE TABLE T1 (a int);
> +CREATE TABLE T2 (b int) ENGINE=InnoDB;
> +CREATE TABLE T3 (txt TEXT);
> +show tables;
> +Tables_in_BUG_37656
> +T1
> +T2
> +T3
> +******** [ SLAVE ] ********
> +use bug_37656;
> +show tables;
> +Tables_in_bug_37656
> +t2
> +t3
> +CREATE TABLE t1 (a INT);
> +******** [ MASTER ] ********
> +use BUG_37656;
> +INSERT INTO T1 VALUES (1);
> +INSERT INTO T2 VALUES (1);
> +LOAD DATA INFILE '../../std_data/words.dat' INTO TABLE BUG_37656.T3;
> +******** [ SLAVE ] ********
> +Comparing tables master:BUG_37656.T2 and slave:bug_37656.t2
> +Comparing tables master:BUG_37656.T3 and slave:bug_37656.t3
> +******** [ MASTER ] ********
> +DROP DATABASE BUG_37656;
> +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 DATABASE B50653;
> +USE B50653;
> +CREATE PROCEDURE b50653_proc() BEGIN SELECT 1; END;
> +DROP PROCEDURE b50653_proc;
> +DROP DATABASE B50653;
> 
> === added file 'mysql-test/suite/rpl/t/rpl_lcase_tblnames_rewrite_db-slave.opt'
> --- a/mysql-test/suite/rpl/t/rpl_lcase_tblnames_rewrite_db-slave.opt	1970-01-01
> 00:00:00 +0000
> +++ b/mysql-test/suite/rpl/t/rpl_lcase_tblnames_rewrite_db-slave.opt	2010-03-02
> 16:45:06 +0000
> @@ -0,0 +1 @@
> +--lower-case-table-names=1 "--replicate-rewrite-db=b37656->bug37656"
> 
> === added file 'mysql-test/suite/rpl/t/rpl_lcase_tblnames_rewrite_db.test'
> --- a/mysql-test/suite/rpl/t/rpl_lcase_tblnames_rewrite_db.test	1970-01-01 00:00:00
> +0000
> +++ b/mysql-test/suite/rpl/t/rpl_lcase_tblnames_rewrite_db.test	2010-03-02 16:45:06
> +0000
> @@ -0,0 +1,60 @@
> +# BUG#37656
> +#
> +# DESCRIPTION
> +#
> +#
> +#  This test case is tests whether replication works properly when
> +#  slave is configured with --lower-case-table-names=1 and replication
> +#  rewrite rules are in effect.
> +#
> +#  It checks four issues:
> +# 
> +#   (i) master contains capitalized table name
> +#
> +#  (ii) slave contains lowered case table name
> +#
> +# (iii) master and slave tables do not differ
> +#
> +-- source include/master-slave.inc
> +-- source include/not_windows.inc
> +
> +SET SQL_LOG_BIN=0;
> +CREATE DATABASE B37656;
> +SET SQL_LOG_BIN=1;
> +
> +-- connection slave
> +CREATE DATABASE BUG37656;
> +
> +-- echo ### action: show that database on slave is created in lowercase
> +SHOW DATABASES LIKE '%37656';
> +
> +-- connection master
> +USE B37656;
> +CREATE TABLE T1 (a int);
> +INSERT INTO T1 VALUES (1);
> +
> +-- echo ### assertion: master contains capitalized case table
> +SHOW TABLES;
> +
> +-- sync_slave_with_master
> +
> +use bug37656;
> +
> +-- echo ### assertion: slave contains lowered case table
> +SHOW TABLES;
> +
> +-- echo ### assertion: master and slave tables do not differ
> +let $diff_table_1=master:B37656.T1;
> +let $diff_table_2=slave:bug37656.t1;
> +
> +-- source include/diff_tables.inc
> +
> +-- connection master
> +SET SQL_LOG_BIN=0;
> +DROP DATABASE B37656;
> +SET SQL_LOG_BIN=1;
> +SHOW DATABASES LIKE '%37656';
> +
> +-- connection slave
> +DROP DATABASE BUG37656;
> +SHOW DATABASES LIKE '%37656';
> 
> === added file 'mysql-test/suite/rpl/t/rpl_row_lcase_tblnames-slave.opt'
> --- a/mysql-test/suite/rpl/t/rpl_row_lcase_tblnames-slave.opt	1970-01-01 00:00:00
> +0000
> +++ b/mysql-test/suite/rpl/t/rpl_row_lcase_tblnames-slave.opt	2010-03-02 16:45:06
> +0000
> @@ -0,0 +1 @@
> +--replicate-do-db=bug_37656 --replicate-ignore-table=bug_37656.t1
> --replicate-do-table=bug_37656.t2 --replicate-do-table=bug_37656.t3
> --lower-case-table-names=1
> 
> === added file 'mysql-test/suite/rpl/t/rpl_row_lcase_tblnames.test'
> --- a/mysql-test/suite/rpl/t/rpl_row_lcase_tblnames.test	1970-01-01 00:00:00 +0000
> +++ b/mysql-test/suite/rpl/t/rpl_row_lcase_tblnames.test	2010-03-02 16:45:06 +0000
> @@ -0,0 +1,12 @@
> +# BUG#37656
> +#  
> +#  For details look into extra/rpl_tests/rpl_lower_case_table_names.test
> +# 
> +
> +-- source include/master-slave.inc
> +-- source include/have_innodb.inc
> +-- source include/not_windows.inc
> +-- source include/have_binlog_format_row.inc
> +
> +-- let $engine=InnoDB
> +-- source extra/rpl_tests/rpl_lower_case_table_names.test
> 
> === added file 'mysql-test/suite/rpl/t/rpl_stm_lcase_tblnames-slave.opt'
> --- a/mysql-test/suite/rpl/t/rpl_stm_lcase_tblnames-slave.opt	1970-01-01 00:00:00
> +0000
> +++ b/mysql-test/suite/rpl/t/rpl_stm_lcase_tblnames-slave.opt	2010-03-02 16:45:06
> +0000
> @@ -0,0 +1 @@
> +--replicate-do-db=bug_37656 --replicate-ignore-table=bug_37656.t1
> --replicate-do-table=bug_37656.t2 --replicate-do-table=bug_37656.t3
> --lower-case-table-names=1
> 
> === added file 'mysql-test/suite/rpl/t/rpl_stm_lcase_tblnames.test'
> --- a/mysql-test/suite/rpl/t/rpl_stm_lcase_tblnames.test	1970-01-01 00:00:00 +0000
> +++ b/mysql-test/suite/rpl/t/rpl_stm_lcase_tblnames.test	2010-03-02 16:45:06 +0000
> @@ -0,0 +1,12 @@
> +# BUG#37656
> +#  
> +#  For details look into extra/rpl_tests/rpl_lower_case_table_names.test
> +# 
> +
> +-- source include/master-slave.inc
> +-- source include/have_innodb.inc
> +-- source include/not_windows.inc
> +-- source include/have_binlog_format_mixed_or_statement.inc
> +
> +-- let $engine=InnoDB
> +-- source extra/rpl_tests/rpl_lower_case_table_names.test
> 
> === modified file 'sql/log_event.cc'
> --- a/sql/log_event.cc	2010-12-05 22:51:49 +0000
> +++ b/sql/log_event.cc	2010-12-09 15:05:09 +0000
> @@ -239,6 +239,26 @@ static void inline slave_rows_error_repo
>                  type, table->s->db.str, table->s->table_name.str,
>                  buff, log_name, pos);
>  }
> +
> +static void set_thd_db(THD *thd, const char *db, uint32 db_len)
> +{
> +  char lcase_db_buf[NAME_LEN +1]; 
> +  LEX_STRING new_db;
> +  new_db.length= db_len;
> +  if (lower_case_table_names == 1)
> +  {
> +    strmov(lcase_db_buf, db); 
> +    my_casedn_str(system_charset_info, lcase_db_buf);
> +    new_db.str= lcase_db_buf;
> +  }
> +  else 
> +    new_db.str= (char*) db;
> +
> +  new_db.str= (char*) rpl_filter->get_rewrite_db(new_db.str,
> +                                                 &new_db.length);
> +  thd->set_db(new_db.str, new_db.length);
> +}
> +
>  #endif
>  
> 
> @@ -3399,7 +3419,6 @@ int Query_log_event::do_apply_event(Rela
>  int Query_log_event::do_apply_event(Relay_log_info const *rli,
>                                        const char *query_arg, uint32 q_len_arg)
>  {
> -  LEX_STRING new_db;
>    int expected_error,actual_error= 0;
>    HA_CREATE_INFO db_options;
>  
> @@ -3411,9 +3430,7 @@ int Query_log_event::do_apply_event(Rela
>      you.
>    */
>    thd->catalog= catalog_len ? (char *) catalog : (char *)"";
> -  new_db.length= db_len;
> -  new_db.str= (char *) rpl_filter->get_rewrite_db(db, &new_db.length);
> -  thd->set_db(new_db.str, new_db.length);       /* allocates a copy of 'db' */
> +  set_thd_db(thd, db, db_len);
>  
>    /*
>      Setting the character set and collation of the current database thd->db.
> @@ -5137,12 +5154,9 @@ void Load_log_event::set_fields(const ch
>  int Load_log_event::do_apply_event(NET* net, Relay_log_info const *rli,
>                                     bool use_rli_only_for_errors)
>  {
> -  LEX_STRING new_db;
> -  new_db.length= db_len;
> -  new_db.str= (char *) rpl_filter->get_rewrite_db(db, &new_db.length);
> -  thd->set_db(new_db.str, new_db.length);
>    DBUG_ASSERT(thd->query() == 0);
>    thd->reset_query_inner();                    // Should not be needed
> +  set_thd_db(thd, db, db_len);
>    thd->is_slave_error= 0;
>    clear_all_errors(thd, const_cast<Relay_log_info*>(rli));
>  
> @@ -5196,10 +5210,14 @@ int Load_log_event::do_apply_event(NET*
>      thd->warning_info->opt_clear_warning_info(thd->query_id);
>  
>      TABLE_LIST tables;
> +    char table_buf[NAME_LEN + 1];
> +    strmov(table_buf, table_name);
> +    if (lower_case_table_names == 1)
> +      my_casedn_str(system_charset_info, table_buf);
>      tables.init_one_table(thd->strmake(thd->db, thd->db_length),
>                            thd->db_length,
> -                          table_name, strlen(table_name),
> -                          table_name, TL_WRITE);
> +                          table_buf, strlen(table_buf),
> +                          table_buf, TL_WRITE);
>      tables.updating= 1;
>  
>      // the table will be opened in mysql_load    
> @@ -8702,7 +8720,7 @@ Table_map_log_event::~Table_map_log_even
>  int Table_map_log_event::do_apply_event(Relay_log_info const *rli)
>  {
>    RPL_TABLE_LIST *table_list;
> -  char *db_mem, *tname_mem;
> +  char *db_mem, *tname_mem, *ptr;
>    size_t dummy_len;
>    void *memory;
>    DBUG_ENTER("Table_map_log_event::do_apply_event(Relay_log_info*)");
> @@ -8718,9 +8736,19 @@ int Table_map_log_event::do_apply_event(
>                                  NullS)))
>      DBUG_RETURN(HA_ERR_OUT_OF_MEM);
>  
> -  strmov(db_mem, rpl_filter->get_rewrite_db(m_dbnam, &dummy_len));
> +  strmov(db_mem, m_dbnam);
>    strmov(tname_mem, m_tblnam);
>  
> +  if (lower_case_table_names == 1)
> +  {
> +    my_casedn_str(system_charset_info, db_mem);
> +    my_casedn_str(system_charset_info, tname_mem);
> +  }
> +
> +  /* rewrite rules changed the database */
> +  if (((ptr= (char*) rpl_filter->get_rewrite_db(db_mem, &dummy_len)) !=
> db_mem))
> +    strmov(db_mem, ptr);
> +
>    table_list->init_one_table(db_mem, strlen(db_mem),
>                               tname_mem, strlen(tname_mem),
>                               tname_mem, TL_WRITE);
> 
> text/bzr-bundle 类型 附件
> (bzr/luis.soares@stripped)
> # Bazaar merge directive format 2 (Bazaar 0.90)
> # revision_id: luis.soares@stripped
> # target_branch: file:///home/lsoares/Workspace/bzr/work/bugfixing\
> #   /37656/push/mysql-trunk-bugfixing/
> # testament_sha1: 4817a1a8b6f912d46d07578f36a76d75b99ce1f1
> # timestamp: 2010-12-09 15:07:01 +0000
> # source_branch: /home/lsoares/Workspace/bzr/clones/mysql-trunk-\
> #   bugfixing
> # base_revision_id: ramil@stripped
> # 
> # Begin bundle
> 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
> 
> 


Thread
bzr commit into mysql-trunk-bugfixing branch (luis.soares:3429) Bug#37656Luis Soares9 Dec
  • Re: bzr commit into mysql-trunk-bugfixing branch (luis.soares:3429)Bug#37656He Zhenxing10 Dec