Hi Daogang,
I will take care of all your requests.
Cheers.
On 09/09/2010 10:23 AM, Daogang Qu wrote:
> Hi Alfranio,
> Nice work. Please see another comment below. Thanks!
>
> Best Regards,
>
> Daogang
>
> 2010/09/03 01:17, Alfranio Correia wrote:
>>
> #Atfile:///home/acorreia/workspace.sun/repository.mysql.new/bzrwork/bug-55704/mysql-trunk-bugfixing/
> based onrevid:marc.alff@stripped
>>
>> 3257 Alfranio Correia 2010-09-02
>> BUG#55704 incorrect binlogging of savepoints break slaves!
>>
>> The replication was ignoring that a savepoint was valid within a
> transaction unless
>> it is released, implicit or explicitly, and was removing its occurrence
> from the
>> binary log when a rollback was issued.
>>
>> To fix the problem, we always keep the savepoint definition in the binary
> log.
>> @ mysql-test/extra/rpl_tests/rpl_mixing_engines.inc
>> Improve this test case to easily generate savepoint and rollback to
> savepoint commands.
>> @ mysql-test/extra/rpl_tests/rpl_mixing_engines.test
>>
> [snip]
>> +
>> + error= mysql_bin_log.write(&qinfo);
>> +
>> + binlog_trans_log_savepos(thd, (my_off_t*) sv);
>> + /* Write it to the binary log */
>>
> What is the above comment for?
This comment is in the wrong place.
> Could you please
> add comment to explain how the savepoint is always
> written into binlog before binlog_trans_log_savepos(...)
> in next patch.
Sure.
>
> Best Regards,
>
> Daogang
>> +
>> + DBUG_RETURN(error);
>> }
>>
>> static int binlog_savepoint_rollback(handlerton *hton, THD *thd, void *sv)
>> @@ -725,7 +732,9 @@ static int binlog_savepoint_rollback(han
>> {
>> String log_query;
>> if (log_query.append(STRING_WITH_LEN("ROLLBACK TO ")) ||
>> - log_query.append(thd->lex->ident.str,
> thd->lex->ident.length))
>> + log_query.append("`") ||
>> + log_query.append(thd->lex->ident.str,
> thd->lex->ident.length) ||
>> + log_query.append("`"))
>> DBUG_RETURN(1);
>> int errcode= query_error_code(thd, thd->killed == THD::NOT_KILLED);
>> Query_log_event qinfo(thd, log_query.c_ptr_safe(), log_query.length(),
>>
>>
>>
>>
>>
>>
>