• unknown's avatar
    Quick backport of the following bugfix from MySQL 4.0.14. · b2f745aa
    unknown authored
    DO NOT COPY THIS CODE TO 4.0. The bugfix is better in 4.0,
    but here in 3.23 we don't want to add a new error code so
    we just use ER_EMPTY_QUERY. Bug was:
    "If a query was ignored on the slave (because of
    @code{replicate-ignore-table} and other similar rules), the slave
    still checked if the query got the same error code (0, no error) as on
    the master. So if the master had an error on the query (for example,
    ``Duplicate entry'' in a multiple-row insert), then the slave stopped
    and warned that the error codes didn't match. (Bug #797)"
    
    
    sql/slave.cc:
      Ignore ER_EMPTY_QUERY as it is also a marker for "query was ignored because 
      of replicate-*-table rules".
    sql/sql_parse.cc:
      In a slave thread, mark an ignored query (because of replicate-*-table rules)
      as empty. The caller, exec_event(), will understand this error code as "ignorable
      query, don't compare the error codes on master and slave".
    b2f745aa
slave.cc 46.1 KB