Skip to content
  • Alfranio Correia's avatar
    909db6c7
    This patch generates error messages for statements that are not compatible · 909db6c7
    Alfranio Correia authored
    with GTID and skips the test cases that uses such statements. Incompatible
    statements are:
    
      . Mixed statements;
    
      . CREATE...SELECT statement;
    
      . Within a transaction:
        . Changes to non-transactional tables that come
          after changes to transactional tables;
        . CREATE TEMPORARY TABLE statement.
    
    We need to revisit this after pushing the first version of the code
    to trunk because in some cases we can relax the rules.
    
    Finally, it is worth mentioning that to be completely safe we should
    annotate events in the binary log with the type of the engine found
    on the master and check if it remains the same on the slave. If the
    same table is created on the master and slave with different types
    of engines (e.g. Innodb and MyIsam), this may cause issues.
    In particular Innodb on Master and MyIsam on Slave will generate
    duplicated GTIDs.
    
    However, we do not introduce this complexity into the code with the
    hope that in the future support to MyIsam tables will be deprecated.
    909db6c7
    This patch generates error messages for statements that are not compatible
    Alfranio Correia authored
    with GTID and skips the test cases that uses such statements. Incompatible
    statements are:
    
      . Mixed statements;
    
      . CREATE...SELECT statement;
    
      . Within a transaction:
        . Changes to non-transactional tables that come
          after changes to transactional tables;
        . CREATE TEMPORARY TABLE statement.
    
    We need to revisit this after pushing the first version of the code
    to trunk because in some cases we can relax the rules.
    
    Finally, it is worth mentioning that to be completely safe we should
    annotate events in the binary log with the type of the engine found
    on the master and check if it remains the same on the slave. If the
    same table is created on the master and slave with different types
    of engines (e.g. Innodb and MyIsam), this may cause issues.
    In particular Innodb on Master and MyIsam on Slave will generate
    duplicated GTIDs.
    
    However, we do not introduce this complexity into the code with the
    hope that in the future support to MyIsam tables will be deprecated.
Loading