Rotate_log_event::exec_event() believed that the relay log was corrupted. Fixed it
by moving the test for corruption to Start_log_event::exec_event().
Changed Rotate_log_event::exec_event() to not increment positions when the
event is seen in the middle of a transaction.
I did a separate commit in 4.1 (so this should not be merged to 4.0) because
code is a bit different in 4.1.
A test to see if the slave detects when the master died while writing a
transaction to the binlog (uses a forged truncated binlog I made).
sql/log_event.cc:
When the I/O thread was stopped while copying a long transaction, and restarted,
Rotate_log_event::exec_event() believed that the relay log was corrupted. Fixed it
by moving the test for corruption to Start_log_event::exec_event().
Changed Rotate_log_event::exec_event() to not increment positions when the
event is seen in the middle of a transaction.
Changed Rotate_log_event::exec_event() to not increment positions when the
event is seen in the middle of a transaction.
mysql-test/r/rpl_relayrotate.result:
remove timeout which was too short for Valgrind
mysql-test/r/rpl_until.result:
updated error message
mysql-test/t/rpl_relayrotate.test:
removed timeout which was too short for Valgrind
sql/log_event.cc:
Fix for a rpl_relayrotate failure. The problem was that Rotate_log_event::exec_event()
believed that the relay log was corrupted. Fixed it by moving the test for
corruption to Start_log_event::exec_event().
Changed Rotate_log_event::exec_event() to not increment positions when the
event is seen in the middle of a transaction (that was an old bug found by
chance :)
Use forced close of socket to make mysqld shutdown faster when used under valgrind
mysql-test/mysql-test-run.sh:
Added --skip-bdb for valgrind
mysql-test/r/user_var.result:
Extended test for user variables
mysql-test/t/user_var.test:
Extended test for user variables
sql/item_func.cc:
Optimized code for setting user variables with := and fixed some bugs in old code
sql/item_func.h:
Optimized code for setting user variables
sql/log.cc:
Fixed comments
sql/mysqld.cc:
Use forced close of socket to make mysqld shutdown faster when used under valgrind
sql/sql_class.h:
Optimized code for setting user variables
correcting it now. Thanks Dmitri for spotting this.
mysql-test/r/user_var.result:
result update
mysql-test/t/user_var.test:
a simple test
sql/item_func.cc:
Had mangled the order of if()s in a previous changeset (1.1596) (not pushed),
correcting it now.
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).
(a missing synchronization in the test)
mysql-test/r/drop_temp_table.result:
result update
mysql-test/t/drop_temp_table.test:
synchronize to be sure that the ending connection has finished binlogging.
Add quoting for use `database` for mysqlbinlog
Removed test ins0000001
Add support for --replace for exec in mysqltest
Don't refer to install dir in mysqlbinlog.result
BitKeeper/deleted/.del-ins000001.result~f45c599efdf8352b:
Delete: mysql-test/r/ins000001.result
BitKeeper/deleted/.del-ins000001.test~2428ee5c9b1bc483:
Delete: mysql-test/t/ins000001.test
client/mysqlbinlog.cc:
Removed random chars after filename for LOAD DATA INFILE
client/mysqltest.c:
Add support for --replace for 'exec'
mysql-test/r/drop_temp_table.result:
Updated results after quoting change
mysql-test/r/fulltext_multi.result:
Updated results after quoting change
mysql-test/r/fulltext_order_by.result:
Updated results after quoting change
mysql-test/r/insert.result:
New tests
mysql-test/r/insert_select.result:
Updated results after quoting change
mysql-test/r/mix_innodb_myisam_binlog.result:
Updated results after quoting change
mysql-test/r/mysqlbinlog.result:
Updated results after quoting change
mysql-test/r/rpl_log.result:
Updated results after quoting change
mysql-test/t/fulltext_multi.test:
Remove 'use'
mysql-test/t/fulltext_order_by.test:
Remove 'use'
mysql-test/t/insert.test:
Merge test with ins0000001.test
mysql-test/t/mysqlbinlog.test:
Don't refer to install dir in result
sql/log_event.cc:
Add quoting for use `database` for mysqlbinlog
support-files/mysql.server.sh:
Move pid_file test after arguments have been parsed
it's just backquoting the db's and table's names
when writing DROP TEMPORARY TABLE to the binlog when a connection ends.
A testcase for this.
sql/sql_base.cc:
backquote db and table name when writing DROP TEMPORARY TABLE to the binlog
when a connection ends.
mysql-test/r/rpl_until.result:
Fixed race then sometimes io slave thread stopped without managing to get any data from master and sometimes not.
mysql-test/t/rpl_until.test:
Fixed race then sometimes io slave thread stopped without managing to get any data from master and sometimes not.
"If LOAD DATA INFILE 'small_file' fails on master, slave leaves temp files"
(the bug is in the master)
mysql-test/r/rpl_loaddata.result:
result update
mysql-test/std_data/rpl_loaddata2.dat:
change to introduce a unique key violation
mysql-test/t/rpl_loaddata.test:
testcase for bug#1391.
sql/sql_load.cc:
fix for bug#1391:
for a small file, we had in the binlog only the Create_file, not the Delete_file
(the Create_file was written when the READ_INFO was destroyed).
Particularly for BUG#1340 mysqlbinlog coredumps when reading Exec
event without seeing Create_file event before
mysql-test/mysql-test-run.sh:
Now mysqlbinlog will use proper temporary directory
mysql-test/r/func_group.result:
test of BUG#1318
mysql-test/r/subselect.result:
correct results
mysql-test/t/func_group.test:
test of BUG#1318
sql/sql_select.cc:
hixed processing of static tables
(kind request from the Novell team).
Note that old chmods in rpl_rotate_logs remain.
mysql-test/r/rpl000009.result:
result update
mysql-test/t/rpl000009.test:
removing my chmods so that the test can be run on non-Unix platforms.
sequence boundaries in functions LIKE and LOCATE in
the case of "binary" collation. Comparison was done
like if the strings were just a binary strings without
character set assumption.
mysql-test/r/func_compress.result:
Test for the bug #1333: COMPRESS(NULL) segfaults.
mysql-test/t/func_compress.test:
Test for the bug #1333: COMPRESS(NULL) segfaults.
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
optimiser bug patch.
mysql-test/r/distinct.result:
test results reverted
mysql-test/r/order_by.result:
test results reverted
sql/sql_select.cc:
found_constrain renamed to found_constraint
We don't perform full cartesian product in
case when JOIN BUFFER is used: it was taken
into account.
s->read_time may contain range index read time,
so to get full table scan time is necessary to
call s->table->file->scan_time().
to estimate correctly cost of full table scan we should take into
account rows read and skipped on each iteration.
mysql-test/r/distinct.result:
Fixed test suite: now full scan is used
less often
mysql-test/r/join_outer.result:
Fixed test suite: now full scan is used
less often
mysql-test/r/select_safe.result:
Fixed test suite: now full scan is used
less often