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).
mysql-test/r/rpl_user_variables.result:
result update.
mysql-test/t/rpl_user_variables.test:
test to see if unset user variables are written to the binlog
sql/item_func.cc:
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.
mysql-test/r/rpl_log.result:
Updated SHOW BINLOG EVENTS's positions as Monty lengthened std_data/words.dat by 500 bytes.
mysql-test/r/rpl_temporary.result:
Added RESET MASTER to make positions shown by SHOW BINLOG EVENTS independent of any previous test.
mysql-test/r/rpl_user_variables.result:
Added RESET MASTER to make positions shown by SHOW BINLOG EVENTS independent of any previous test.
mysql-test/t/rpl_log.test:
Added save_master_pos to wait for the slave to have started before purging its binary logs.
Otherwise, we could purge before the slave finishes starting, and then the slave could log events implicitly provoked by previous tests.
mysql-test/t/rpl_temporary.test:
Added RESET MASTER to make positions shown by SHOW BINLOG EVENTS independent of any previous test.
mysql-test/t/rpl_user_variables.test:
Added RESET MASTER to make positions shown by SHOW BINLOG EVENTS independent of any previous test.
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
Fixed problem with LIKE and BINARY
BitKeeper/etc/ignore:
added scripts/fill_help_tables
client/mysqltest.c:
Better error messages
libmysql/libmysql.c:
Simple code cleanup
Simplified connect() and change_user() by using sub function
libmysqld/lib_sql.cc:
Ensure that new fields in MYSQL_FIELD structure is used
mysql-test/r/rpl_user_variables.result:
Cleaned up test
mysql-test/r/type_blob.result:
New test
mysql-test/t/rpl_user_variables.test:
Cleaned up test
mysql-test/t/type_blob.test:
New test
sql/item.cc:
Fixed that Item_ref returns the right character set
sql/item_cmpfunc.cc:
Fixed problem with LIKE and BINARY
sql/item_func.cc:
Don't store end ASCII(0) for string user variables
(Made some other code easier)
sql/log_event.cc:
Don't store end ASCII(0) for string user variables.
Fixed comment style
Some optimizations
sql/log_event.h:
Optimized type
sql/mini_client.cc:
Indentation changes
sql/mysql_priv.h:
Made is_update_query extern
sql/protocol.cc:
Simple code cleanup
sql/sql_acl.cc:
Code cleanup
Fixed problem when connecting to user without a password.
sql/sql_lex.h:
Fixed problem with uninitialized memory
sql/sql_parse.cc:
Fixed problem with user without passwords
Fixed some connect problems.
sql/time.cc:
removed reference to uninitialized memory