Friday, January 13, 2017

Oracle MySQL and the funny replication breakage of Friday, January 13

In my previous post, I talked about a funny replication breakage that I experienced with MariaDB.  So what about different versions of MySQL...
      > SELECT version();
      +------------+
      | version()  |
      +------------+
      | 5.6.35-log |
      +------------+
      1 row in set (0.00 sec)
      
      > SELECT * FROM test_jfg;
      +----+--------+-------------+
      | id | status | txt         |
      +----+--------+-------------+
      |  1 | a      | hello world |
      +----+--------+-------------+
      1 row in set (0.00 sec)
      
      > UPDATE test_jfg SET txt='' AND status='b' WHERE id=1;
      Query OK, 1 row affected (0.00 sec)
      Rows matched: 1  Changed: 1  Warnings: 0
      
      > SELECT * FROM test_jfg;
      +----+--------+------+
      | id | status | txt  |
      +----+--------+------+
      |  1 | a      | 0    |
      +----+--------+------+
      1 row in set (0.00 sec)
      
      ---
      
      > SELECT version();
      +------------+
      | version()  |
      +------------+
      | 5.7.17-log |
      +------------+
      1 row in set (0.00 sec)
      
      > SELECT * FROM test_jfg;
      +----+--------+-------------+
      | id | status | txt         |
      +----+--------+-------------+
      |  1 | a      | hello world |
      +----+--------+-------------+
      1 row in set (0.00 sec)
      
      > UPDATE test_jfg SET txt='' AND status='b' WHERE id=1;
      Query OK, 1 row affected (0.00 sec)
      Rows matched: 1  Changed: 1  Warnings: 0
      
      > SELECT * FROM test_jfg;
      +----+--------+------+
      | id | status | txt  |
      +----+--------+------+
      |  1 | a      | 0    |
      +----+--------+------+
      1 row in set (0.00 sec)
      
      ---
      
      > SELECT version();
      +---------------+
      | version()     |
      +---------------+
      | 8.0.0-dmr-log |
      +---------------+
      1 row in set (0.00 sec)
      
      > SELECT * FROM test_jfg;
      +----+--------+-------------+
      | id | status | txt         |
      +----+--------+-------------+
      |  1 | a      | hello world |
      +----+--------+-------------+
      1 row in set (0.00 sec)
      
      > UPDATE test_jfg SET txt='' AND status='b' WHERE id=1;
      Query OK, 1 row affected (0.00 sec)
      Rows matched: 1  Changed: 1  Warnings: 0
      
      > SELECT * FROM test_jfg;
      +----+--------+------+
      | id | status | txt  |
      +----+--------+------+
      |  1 | a      | 0    |
      +----+--------+------+
      1 row in set (0.00 sec)
So in Oracle MySQL land:
  • All latest versions are consistent (so probably no replication breakage to expect),
  • None are showing warning (should this do a warning or should it not, it is not clear to me...).
Please do not jump to the conclusion that things are better with your favorite database, it will force me to find a counter-example.

No comments:

Post a Comment