Fix bug: if one used the rename trick of ibman section 15.1 to recover a temp table, InnoDB asserted because it tried to lock the data dictionary twice
innobase/row/row0mysql.c:
Fix bug: if one used the rename trick of ibman section 15.1 to recover a temp table, InnoDB asserted because it tried to lock the data dictionary twice
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.
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
is involving an assembly function.
Testcase was BUG#1194
SELECT @a:=1; SELECT @a, @a:=1;
BUILD/compile-pentium-valgrind-max:
a warning note about Valgrind&assembly.
(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.
client/mysqltest.c:
Now resetting replace_result patterns after --exec command (in order to be consistent with ordinary query execution).
mysql-test/t/mysqlbinlog.test:
Added additional replaces potentially needed after adding reset of replace conditions for exec
from ulong to ulonglong by defining -DBIG_JOINS
sql/mysql_priv.h:
- enable changing the number of table bits for JOINs to be increased
from ulong to ulonglong by defining BIG_JOINS
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.
I am almost sure this is the cause for
BUG#1381 [Opn]: Bug in replication on HP-UX 64 bit binaries?
BUG#1256 [CRp]: Replication slave fails to connect to master in 64-bit version (Solaris)
The reason why I think it's wrong is that the normal client code has
uint32 ip_addr.
(of course on 32-bit machines it does not matter, but on 64-bit it does).
the calls of external programs "uname" and "pwd" with Perl builtin
functions "cwd()" and "POSIX::uname()"
sql-bench/as3ap.sh:
- portability fix: don't call external "pwd" command, use the "cwd()"
builtin function instead.
sql-bench/bench-count-distinct.sh:
- portability fix: don't call external "pwd" command, use the "cwd()"
builtin function instead.
sql-bench/bench-init.pl.sh:
- portability fix: don't call external "pwd" command, use the "cwd()"
builtin function instead.
- portability fix: don't call external "uname" in various combinations,
use POSIX::uname() instead.
sql-bench/copy-db.sh:
- portability fix: don't call external "pwd" command, use the "cwd()"
builtin function instead.
sql-bench/crash-me.sh:
- portability fix: don't call external "pwd" command, use the "cwd()"
builtin function instead.
- portability fix: don't call external "uname" in various combinations,
use POSIX::uname() instead.
sql-bench/innotest1.sh:
- portability fix: don't call external "pwd" command, use the "cwd()"
builtin function instead.
sql-bench/innotest1a.sh:
- portability fix: don't call external "pwd" command, use the "cwd()"
builtin function instead.
sql-bench/innotest1b.sh:
- portability fix: don't call external "pwd" command, use the "cwd()"
builtin function instead.
sql-bench/innotest2.sh:
- portability fix: don't call external "pwd" command, use the "cwd()"
builtin function instead.
sql-bench/innotest2a.sh:
- portability fix: don't call external "pwd" command, use the "cwd()"
builtin function instead.
sql-bench/innotest2b.sh:
- portability fix: don't call external "pwd" command, use the "cwd()"
builtin function instead.
sql-bench/run-all-tests.sh:
- portability fix: don't call external "pwd" command, use the "cwd()"
builtin function instead.
sql-bench/test-ATIS.sh:
- portability fix: don't call external "pwd" command, use the "cwd()"
builtin function instead.
sql-bench/test-alter-table.sh:
- portability fix: don't call external "pwd" command, use the "cwd()"
builtin function instead.
sql-bench/test-big-tables.sh:
- portability fix: don't call external "pwd" command, use the "cwd()"
builtin function instead.
sql-bench/test-connect.sh:
- portability fix: don't call external "pwd" command, use the "cwd()"
builtin function instead.
sql-bench/test-create.sh:
- portability fix: don't call external "pwd" command, use the "cwd()"
builtin function instead.
sql-bench/test-insert.sh:
- portability fix: don't call external "pwd" command, use the "cwd()"
builtin function instead.
sql-bench/test-select.sh:
- portability fix: don't call external "pwd" command, use the "cwd()"
builtin function instead.
sql-bench/test-transactions.sh:
- portability fix: don't call external "pwd" command, use the "cwd()"
builtin function instead.
sql-bench/test-wisconsin.sh:
- portability fix: don't call external "pwd" command, use the "cwd()"
builtin function instead.
"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).
Bug #1392 "On Win, slave leaves one temp file after successf. replicating LOAD DATA INFILE"
Windows-specific bug (we forgot to close a file before deleting it).
Patch written by me, tested by Miguel (thanks!) and it works.
sql/log.cc:
changed the comment to mean the truth
sql/log_event.cc:
When you finish replicating LOAD DATA INFILE, close the SQL_LOADxxx.data file
before deleting it, or Windows will refuse to delete.
No need to do the same thing for the SQL_LOADxxx.data file, it's not opened
at this moment.
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