- ie. backport from 5.1
- also update testcase error dected by new version
mysql-test/include/show_msg.inc:
BitKeeper file /home/msvensson/mysql/same_tools/my41-same_tools/mysql-test/include/show_msg.inc
mysql-test/include/show_msg80.inc:
BitKeeper file /home/msvensson/mysql/same_tools/my41-same_tools/mysql-test/include/show_msg80.inc
BitKeeper/deleted/.del-rpl_chain_temp_table.test:
Delete: mysql-test/t/rpl_chain_temp_table.test
BitKeeper/deleted/.del-rpl_chain_temp_table.result:
Delete: mysql-test/r/rpl_chain_temp_table.result
BitKeeper/deleted/.del-rpl_failsafe.result:
Delete: mysql-test/r/rpl_failsafe.result
BitKeeper/deleted/.del-rpl_failsafe.test:
Delete: mysql-test/t/rpl_failsafe.test
BitKeeper/deleted/.del-rpl_heap.test:
Delete: mysql-test/t/rpl_heap.test
BitKeeper/deleted/.del-rpl_heap.result:
Delete: mysql-test/r/rpl_heap.result
BitKeeper/deleted/.del-rpl000018.result:
Delete: mysql-test/r/rpl000018.result
BitKeeper/deleted/.del-rpl000018.test:
Delete: mysql-test/t/rpl000018.test
client/Makefile.am:
Link mysqltest with mysys/my_copy.c
client/mysqltest.c:
Update mysqltest to latest version
mysql-test/include/have_multi_ndb.inc:
Remove old syntax "@filename" in favor of "--require filename"
mysql-test/include/master-slave.inc:
Remove old syntax "@filename" in favor of "--require filename"
mysql-test/include/ps_query.inc:
Remove the comment about no output now when it does.
mysql-test/r/check.result:
Update output from --send
mysql-test/r/connect.result:
Update result file for connect test after backport form 5.1
mysql-test/r/flush.result:
Update output from --send
mysql-test/r/flush_block_commit.result:
Update output from --send
mysql-test/r/func_misc.result:
Update output from --send
mysql-test/r/grant2.result:
Update output from --send
mysql-test/r/handler.result:
Update output from --send
mysql-test/r/kill.result:
Update output from --send
mysql-test/r/lock_multi.result:
Update output from --send
mysql-test/r/mix_innodb_myisam_binlog.result:
Update output from --send
mysql-test/r/mysqltest.result:
Update mysqltest.result after backport
mysql-test/r/ps_2myisam.result:
Update result as the output from query is now printed
mysql-test/r/ps_3innodb.result:
Update result as the output from query is now printed
mysql-test/r/ps_4heap.result:
Update result as the output from query is now printed
mysql-test/r/ps_5merge.result:
Update result as the output from query is now printed
mysql-test/r/ps_6bdb.result:
Update result as the output from query is now printed
mysql-test/r/ps_7ndb.result:
Update result as the output from query is now printed
mysql-test/r/rename.result:
Update output from --send
mysql-test/r/rpl000001.result:
Update output from --send
mysql-test/r/rpl_error_ignored_table.result:
Update output from --send
mysql-test/r/rpl_master_pos_wait.result:
Update output from --send
mysql-test/r/subselect.result:
Update result file after adding missing ;
mysql-test/r/synchronization.result:
Update output from --send
mysql-test/r/type_blob.result:
Update result file after adding missing ;
mysql-test/t/connect.test:
Backport test from 5.1
mysql-test/t/init_file.test:
Update test so something is printed
mysql-test/t/mysql_client_test.test:
Update test so result is sent to file and something is printed
mysql-test/t/mysqltest.test:
Backport latest mysqltest.test file
mysql-test/t/ps.test:
Move the --replace_column statement to just before the statetement it should replace
mysql-test/t/ps_1general.test:
Move the --replace_column statement to just before the statetement it should replace
mysql-test/t/ps_grant.test:
Remove the $DB, no other test uses it
mysql-test/t/rpl_flush_tables.test:
Fetch $SERVER_VERSION from the db server
mysql-test/t/rpl_trunc_temp.test:
Remove the selection of connection master after it's been disconnected already
mysql-test/t/subselect.test:
Add missing ;
mysql-test/t/type_blob.test:
Add missing ;
(back to behaviour of 4.1.7). Warning was not fatal: mysqldump continued. And the good thing is that it helped spot that starting from 4.1.7,
SHOW CREATE DATABASE failed (if --single-transaction and first db has non-empty InnoDB table and there is a second db) and thus mysqldump
produced CREATE DATABASE statements missing the CHARACTER SET clause. Removing the bug which was in the server, and the warning reporting in
mysqldump (compatibility with old servers).
client/mysqldump.c:
don't report errors as we deal almost gracefully with them (back to code of 4.1.7)
mysql-test/r/flush_block_commit.result:
result update
mysql-test/t/flush_block_commit.test:
let's verify that SHOW CREATE DATABASE succeeds even if connection has open transaction.
sql/sql_parse.cc:
There is no reason to forbid SHOW CREATE DATABASE if connection has an open transaction
into mysql.com:/home/mysql_src/mysql-4.1-clean
mysql-test/r/flush_block_commit.result:
Auto merged
mysql-test/t/flush_block_commit.test:
Auto merged
sql/lock.cc:
Auto merged
(originally reported as "second run of innobackup hangs forever and can even hang server").
Plus testcase for the bugfix and comments about global read locks.
mysql-test/r/flush_block_commit.result:
result update
mysql-test/t/flush_block_commit.test:
testing bugfix (originally: second run of innobackup hangs)
sql/lock.cc:
When we are in start_waiting_global_read_lock(), if we ourselves have
the global read lock, there is nothing to start. This makes a pair with how
wait_if_global_read_lock() behaves when we ourselves have the global read lock.
Previously, start_waiting_global_read_lock() decremented protect... whereas wait_if_global_read_lock()
hadn't incremented it => very wrong => hangs.
Descriptive comments on how global read lock works.
myisam/Makefile.am:
put zlib at the end (libtool adds the whole bunch of dependencies right after that)
sql/Makefile.am:
put zlib at the end (libtool adds the whole bunch of dependencies right after that)
in a deadlock-free manner. This splits locking the global read lock in two steps.
This fixes a consequence of this bug, known as:
BUG#4953 'mysqldump --master-data may report incorrect binlog position if using InnoDB'
And a test.
sql/handler.cc:
making COMMIT wait if FLUSH TABLES WITH READ LOCK happened.
sql/lock.cc:
an additional stage so that FLUSH TABLES WITH READ LOCK blocks COMMIT:
make_global_read_lock_block_commit():
taking the global read lock is TWO steps (2nd step is optional; without
it, COMMIT of existing transactions will be allowed):
lock_global_read_lock() THEN make_global_read_lock_block_commit().
sql/mysql_priv.h:
new argument to wait_if_global_read_lock()
sql/sql_class.h:
THD::global_read_lock now an uint to reflect the 2 steps of global read lock (does not block COMMIT / does)
sql/sql_db.cc:
update for new prototype
sql/sql_parse.cc:
implementing the two steps of global read lock so that FLUSH TABLES WITH READ LOCK can block COMMIT without deadlocking with COMMITs.