List:Commits« Previous MessageNext Message »
From:Libing Song Date:March 15 2010 7:24am
Subject:Re: bzr commit into mysql-5.1-bugteam branch (Li-Bing.Song:3368)
Bug#50095
View as plain text  
On Mon, 2010-03-15 at 01:15 +0000, Luís Soares wrote:
> Hi Li-bing,
> 
>   Nice Work. Please find my review comments below.
> 
> STATUS
> ------
>   Approved.
> 
> REQUIRED CHANGES
> ----------------
>  n/a
> 
> REQUESTS
> --------
> 
>  R1. Should the comments to the definition of stmt_definition_begin
>      be updated to also include CREATE EVENT ?
Sure, I will comment. thank you.
> 
> SUGGESTIONS
> -----------
>  n/a
> 
> DETAILS 
> -------
>  n/a
> 
> On Wed, 2010-03-10 at 10:36 +0000, Li-Bing.Song@stripped wrote:
> > #At file:///home/anders/work/bzrwork/worktree3/mysql-5.1-bugteam/ based on
> revid:staale.smedseng@stripped
> > 
> >  3368 Li-Bing.Song@stripped	2010-03-10
> >       Bug #50095  	Multi statement including CREATE EVENT causes rotten binlog
> entry
> >       
> >       The log event of 'CREATE EVENT' was being binlogged with garbage
> >       at the end of the query if 'CREATE EVENT' is followed by another SQL
> statement
> >       and they were executed as one command.
> >       for example:
> >           DELIMITER |;
> >           CREATE EVENT e1 ON EVERY DAY DO SELECT 1; SELECT 'a';
> >           DELIMITER ;|
> >       When binlogging 'CREATE EVENT', we always create a new statement with
> definer
> >       and write it into the log event. The new statement is made from
> cpp_buf(preprocessed buffer).
> >       which is not a c string(end with '\0'), but it is copied as a c string.
> >       
> >       In this patch, cpp_buf is copied with its length.
> > 
> >     modified:
> >       mysql-test/suite/rpl/r/rpl_events.result
> >       mysql-test/suite/rpl/t/rpl_events.test
> >       sql/events.cc
> > === modified file 'mysql-test/suite/rpl/r/rpl_events.result'
> > --- a/mysql-test/suite/rpl/r/rpl_events.result	2010-02-02 13:38:44 +0000
> > +++ b/mysql-test/suite/rpl/r/rpl_events.result	2010-03-10 10:36:48 +0000
> > @@ -208,8 +208,14 @@ CREATE /*!50000 DEFINER='user44331' */ E
> >  ON SCHEDULE AT CURRENT_TIMESTAMP
> >  ON COMPLETION PRESERVE DISABLE
> >  DO INSERT INTO test.t1 VALUES('event event44331_4 fired - DEFINER=user1');
> > -Warnings:
> > -Note	1449	The user specified as a definer ('user44331'@'%') does not exist
> > +# Test for bug#50095 Multi-statement including CREATE EVENT causes rotten
> > +# binlog entry
> > +SELECT 'ABC';
> > +SELECT '123'|
> > +ABC
> > +ABC
> > +123
> > +123
> >  #on master 
> >  select EVENT_SCHEMA, EVENT_NAME, DEFINER from information_schema.events
> >  where EVENT_NAME='event44331_1';
> > 
> > === modified file 'mysql-test/suite/rpl/t/rpl_events.test'
> > --- a/mysql-test/suite/rpl/t/rpl_events.test	2010-02-02 13:38:44 +0000
> > +++ b/mysql-test/suite/rpl/t/rpl_events.test	2010-03-10 10:36:48 +0000
> > @@ -69,10 +69,16 @@ CREATE DEFINER=CURRENT_USER() EVENT even
> >    ON COMPLETION PRESERVE DISABLE
> >    DO INSERT INTO test.t1 VALUES('event event44331_3 fired -
> DEFINER=CURRENT_USER() function');
> >  
> > +DELIMITER |;
> >  CREATE /*!50000 DEFINER='user44331' */ EVENT event44331_4
> >    ON SCHEDULE AT CURRENT_TIMESTAMP
> >    ON COMPLETION PRESERVE DISABLE
> >    DO INSERT INTO test.t1 VALUES('event event44331_4 fired - DEFINER=user1');
> > +# Test for bug#50095 Multi-statement including CREATE EVENT causes rotten
> > +# binlog entry
> > +  SELECT 'ABC';
> > +  SELECT '123'|
> > +DELIMITER ;|
> >  
> >  --echo #on master 
> >  select EVENT_SCHEMA, EVENT_NAME, DEFINER from information_schema.events
> > 
> > === modified file 'sql/events.cc'
> > --- a/sql/events.cc	2010-02-02 13:38:44 +0000
> > +++ b/sql/events.cc	2010-03-10 10:36:48 +0000
> > @@ -362,7 +362,9 @@ create_query_string(THD *thd, String *bu
> >    /* Append definer */
> >    append_definer(thd, buf, &(thd->lex->definer->user),
> &(thd->lex->definer->host));
> >    /* Append the left part of thd->query after "DEFINER" part */
> > -  if (buf->append(thd->lex->stmt_definition_begin))
> > +  if (buf->append(thd->lex->stmt_definition_begin,
> > +                  thd->lex->stmt_definition_end -
> > +                  thd->lex->stmt_definition_begin))
> >      return 1;
> >   
> >    return 0;
> > 
> 
> 
> 


-- 
Your Sincerely,
Libing Song
==================================
MySQL Replication Team
Software Engineer


Email : Li-Bing.Song@stripped
Skype : libing.song
MSN   : slb_database@stripped
Phone : +86 010-6505-4020 ext. 319
Mobile: +86 138-1144-2038
==================================

Thread
bzr commit into mysql-5.1-bugteam branch (Li-Bing.Song:3368) Bug#50095Li-Bing.Song10 Mar
  • Re: bzr commit into mysql-5.1-bugteam branch (Li-Bing.Song:3368)Bug#50095Luís Soares15 Mar
    • Re: bzr commit into mysql-5.1-bugteam branch (Li-Bing.Song:3368)Bug#50095Libing Song15 Mar
  • Re: bzr commit into mysql-5.1-bugteam branch (Li-Bing.Song:3368)Bug#50095Daogang Qu16 Mar