This will hopefully avoiid annoying crashes when running with --debug
Fix warnings from the above in mysqltest.c
client/mysqltest.c:
Fix format specifier warnings in mysqltest.c
include/my_dbug.h:
Add ATTRIBUTE_FORMAT specifier to _db_doprnt, which is used by DBUG_PRINT
This will hopefully avoiid annoying crashes when running with --debug
mysql-test/lib/mtr_process.pl:
Remove junk code/comments
Moved the creation of var/log out of function mtr_kill_leftovers
mysql-test/mysql-test-run.pl:
Rename 'kill_running_server' to more appropriate name 'kill_running_servers'
If no var/log dir exists when mtr_kill_leftovers is started it should be created
Remove "unless" syntax, too perlish
Fix typo
MOve DBUG_ASSERT(result_file_name) to after DBUG_ENTER
Change type of "reconnect" variable from int to my_bool, reconnect didn't work on Solaris without that
'run_testcase_need_master/slave_restart'
Remove the faulty qw
Only look for mysql_fix_privilege_tables if not windows
mysql-test/lib/mtr_cases.pl:
Move all code to determine when to restart into 'run_testcase_need_master/slave_restart'
Add possibility to wite --force-restart in -master.opt file, this will force a restart and
since master is not started with any special options there is no need to restart
again afterwards.
mysql-test/mysql-test-run.pl:
Remove the qw surrounding ENV{'LD_LIBRARY_PATH'}
Only look for the sh script mysql_fix_privileges when not on windows
Remove warnings about using unitialized variables
Improve the restart logic, eall code to determine when to restart is
now in run_testcase_need_master_restart and run_testcase_need_slave_restart
mysql-test/t/bdb-alter-table-2-master.opt:
Use --force-restart
mysql-test/t/not_embedded_server-master.opt:
Use --force-restart
into polly.local:/home/kaa/src/maint/m41-maint--07OGk
sql/field.cc:
Auto merged
sql/item_timefunc.cc:
Auto merged
mysql-test/r/func_time.result:
Manually merged
mysql-test/t/func_time.test:
Manually merged
client/mysqltest.c:
Remove vsnprintf() and DBUG_PRINT from die() function, as it's not portable to Windows, and it's not allowed to
call vsnprintf() and then vfprintf() with the same args.
Can't just print the buffer here, because the buffer is a fixed size.
If the message is longer than will fit int he buffer, it would get
truncated on Unix, and the full thing would be printed on Windows.
This DBUG_PRINT isn't important enough for this hassle, so just get rid
of it.
set. This has always worked because when flag is !=0 then
HA_VAR_LENGTH_KEY is always set. Therefore, a test case cannot
reveal a faulty behavior.
Fix for bug#23074: typo in myisam/sort.c
myisam/sort.c:
fix typo. Nevertheless, it has worked as expected
because when a bit in flag is set HA_VAR_LENGTH_KEY has
been always set too. Actually, no problem exposed through
DDL.
The bug is present only in 4.1, will be null-merged to 5.0
For InnoDB, check value of thd->transaction.all.innodb_active_trans instead of thd->transaction.stmt.innobase_tid to see if we really need to rollback.
mysql-test/r/innodb_mysql.result:
Added testcase for bug #22728 "Handler_rollback value is growing"
mysql-test/t/innodb_mysql.test:
Added testcase for bug #22728 "Handler_rollback value is growing"
sql/handler.cc:
For InnoDB, check value of thd->transaction.all.innodb_active_trans instead of thd->transaction.stmt.innobase_tid to see if we really need to rollback.
When the client program had its stdout file descriptor closed by the calling
shell, after some amount of work (enough to fill a socket buffer) the server
would complain about a packet error and then disconnect the client.
This is a serious security problem. If stdout is closed before the mysql is
exec()d, then the first socket() call allocates file number 1 to communicate
with the server. Subsequent write()s to that file number (as when printing
results that come back from the database) go back to the server instead in
the command channel. So, one should be able to craft data which, upon being
selected back from the server to the client, and injected into the command
stream become valid MySQL protocol to do something nasty when sent /back/ to
the server.
The solution is to close explicitly the file descriptor that we *printf() to,
so that the libc layer and the OS layer both agree that the file is closed.
BitKeeper/etc/collapsed:
BitKeeper file /home/cmiller/work/mysql/bug17583/my41-bug17583/BitKeeper/etc/collapsed
client/mysql.cc:
If standard output is not open (specifically, if dup() of its file number
fails) then we explicitly close it so that future uses of the file descriptor
behave correctly for a closed file.
mysql-test/r/mysql_client.result:
Prove that the problem of writing SQL output to the command socket no longer
exists.
mysql-test/t/mysql_client.test:
Prove that the problem of writing SQL output to the command socket no longer
exists.
to run the whole testcase to find wich testcases need to be checked more carefully
and the just "copy and paste" the suspicious test case names to
a new mysql-test-run.pl command.
mysql-test/mysql-test-run.pl:
Mark test cases that fails "check_testcase"
Make run_check_testcase return value indicating if check failed
mysql-test/include/check-testcase.test:
New BitKeeper file ``mysql-test/include/check-testcase.test''
Move the code to look for exe_mysqld earlier => to initial_setup
Fix warnings detected by running with "diagnostics"
Remove unused option "opt_result_ext"
Init "path_ndb_examples_dir"
mysql-test/lib/mtr_cases.pl:
Set default number of slave to 0
Remove unused/uninitialized "$opt_result_ext"
mysql-test/lib/mtr_report.pl:
Remove unused/uninitialized "$opt_result_ext"
the "mysqld --version" command will print "/path/.libs/lt-mysqld Ver x.x.x"
mysql-test/mysql-test-run.pl:
Modify regex for parsing mysqld version as the mysqld is sometimes a libtool wrapper and
the "mysqld --version" command will print "/path/.libs/lt-mysqld"
into neptunus.(none):/home/msvensson/mysql/mysql-4.1-maint
mysql-test/r/subselect.result:
Auto merged
mysql-test/t/ps.test:
Auto merged
mysql-test/t/subselect.test:
Auto merged
Improve 'run_testcase_need_slave_restart' to detect if a slave restart really is necessary.
So far all rpl test requires a slave restart, but for all other tests it can be skipped
Improve the sort order used by --reorder
mysql-test/lib/mtr_cases.pl:
Improve the sort order used by reorder
mysql-test/mysql-test-run.pl:
Improve 'run_testcase_need_master_restart' to require restart if master is not already started
Improve 'run_testcase_need_slave_restart' to detect if a slave restart really is necessary.
So far all rpl test requires a slave restart, but for all other tests it can be skipped
Cleanup .progress, .reject, .log and .warnings files produced by mysqltest
client/mysqltest.c:
Add printout of file in which warning was detected
mysql-test/include/ctype_like_escape.inc:
Remove warnings, convert -- comments to # comments
mysql-test/mysql-test-run.pl:
Cleanup all files produced by mysqltest before starting mysqltest again