When an update query is to be written to the binlog, and it reads unset
user variables (example: INSERT INTO t VALUEs(@a) where @a does not exist),
we create the variable like if it had been set with SET before, and we loop
(i.e. we redo the steps of logging, now that the variable exists).
Increased some tests' robustness a bit :
- Added RESET MASTER to all tests who do SHOW BINLOG EVENTS, to make them independent from previous tests.
- Added save_master_pos to these tests to wait for the slave to start before purging its binary logs.