errorneously abort reporting failure to kill child processes, where in
reality the problem was merely that the child had become a zombie because
of missing waitpid() call.
not needed by the tescases. This will save test time for those testcases
that does not need cluster, but need a restart, as they dont have to wait
the extra time it would take for cluster to restart. It will also save
time for other testcases, as cluster does not
need to be contacted for each table to be dropped or created.
Backport from 5.1
post-review change - use pointer instead of copy on the stack.
WL#1034 (Internal CRON)
This patch adds INFORMATION_SCHEMA.EVENTS table with the following format:
EVENT_CATALOG - MYSQL_TYPE_STRING (Always NULL)
EVENT_SCHEMA - MYSQL_TYPE_STRING (the database)
EVENT_NAME - MYSQL_TYPE_STRING (the name)
DEFINER - MYSQL_TYPE_STRING (user@host)
EVENT_BODY - MYSQL_TYPE_STRING (the body from mysql.event)
EVENT_TYPE - MYSQL_TYPE_STRING ("ONE TIME" | "RECURRING")
EXECUTE_AT - MYSQL_TYPE_TIMESTAMP (set for "ONE TIME" otherwise NULL)
INTERVAL_VALUE - MYSQL_TYPE_LONG (set for RECURRING otherwise NULL)
INTERVAL_FIELD - MYSQL_TYPE_STRING (set for RECURRING otherwise NULL)
SQL_MODE - MYSQL_TYPE_STRING (for now NULL)
STARTS - MYSQL_TYPE_TIMESTAMP (starts from mysql.event)
ENDS - MYSQL_TYPE_TIMESTAMP (ends from mysql.event)
STATUS - MYSQL_TYPE_STRING (ENABLED | DISABLED)
ON_COMPLETION - MYSQL_TYPE_STRING (NOT PRESERVE | PRESERVE)
CREATED - MYSQL_TYPE_TIMESTAMP
LAST_ALTERED - MYSQL_TYPE_TIMESTAMP
LAST_EXECUTED - MYSQL_TYPE_TIMESTAMP
EVENT_COMMENT - MYSQL_TYPE_STRING
SQL_MODE is NULL for now, because the value is still not stored in mysql.event .
Support will be added as a fix for another bug.
This patch also adds SHOW [FULL] EVENTS [FROM db] [LIKE pattern]
1. SHOW EVENTS shows always only the events on the same user,
because the PK of mysql.event is (definer, db, name) several
users may have event with the same name -> no information disclosure.
2. SHOW FULL EVENTS - shows the events (in the current db as SHOW EVENTS)
of all users. The user has to have PROCESS privilege, if not then
SHOW FULL EVENTS behave like SHOW EVENTS.
3. If [FROM db] is specified then this db is considered.
4. Event names can be filtered with LIKE pattern.
SHOW EVENTS returns table with the following columns, which are subset of
the data which is returned by SELECT * FROM I_S.EVENTS
Db
Name
Definer
Type
Execute at
Interval value
Interval field
Starts
Ends
Status
- fix EVENT_ACL problem that GRANT ALL on some_db.* to someone@somewhere did not get to mysql.db
- fix crash when the following is executed :
CREATE EVENT P() CREATE EVENT E ON SCHEDULER 1 SECOND DO ROLLBACK;
(creation works as well as calling P() which creates the event).
- split into several files
- forbid parallel execution (before analyse is done how to make it possible)
because the same sp_head instance cannot be executed in parallel
- added GPL headers
- changed EVENT_ACL to be per DB variable
- fixed minor problems
Added --skip-im option handling
Don't terminate script if IM fails to create PID file
mtr_cases.pl:
Added --skip-im option handling
mtr_process.pl:
Kill left over 'mysqld' processes started by IM
Text formatting, adjust table header
mysql-test-run.pl:
Remove requirement for source tree to run embedded server test
mysqldump.test:
Removed ending ';' from --exec line
Call mtr_timer_stop_all() at exit
mtr_report.pl, mysql-test-run.pl:
Added default/ps-protocol/embedded to abort and summary line
mtr_timer.pl:
Added function mtr_timer_stop_all()
Bug#11792: Check all of status code, to catch a crash as a failure
mtr_cases.pl:
Code cleanup for skipped/disabled handling
mtr_process.pl:
In debug mode, report if mysqladmin did not at least
make the server stop listening to the port.
Increased the time waiting for terminating to 20 seconds,
to wait for really slow slave shutdown.
Added call to start_reap_all(), to avoid zombies.
mtr_report.pl:
Removed prototype for unused function mtr_report_test_disabled()
Change bool in C code to my_bool
Added to mysqltest --enable_parsning and --disable_parsing to avoid to have to comment parts of tests
Added comparison of LEX_STRING's and use this to compare file types for view and trigger files.
Corrected appending of .exe to Windows executables
Don't alter read only @_ in foreach loop
mysql-test-run.pl:
Improved cleanup of binlogs
Use separate log file for second master
Corrected Windows paths to executables
More compact and safe handling of path names.
Support for running in Windows source tree.
Use libtool wrapper, instead of messing with
library path names, and objects in .libs dir.
mtr_misc.pl:
Utility function that search aand check path names
mtr_report.pl:
Patch by Carsten, set correct reject/result/eval if not main suite
Bug#11466: Script can now get test case name
from test case file path on command line
mysql-test-run.pl:
Bug#11466: Added --skip-ndbcluster/--skip-ndb option
mtr_cases.pl:
Don't set --default-time-zone if opt file sets it
Restart the server if time zone is given in opt file
mysql-test-run.pl:
Don't remove symlink to "var" directory in cleanup
Removed duplicate/unessesary options to mysqld
Added dummy --manager-port flag, for backward compatibility
Back port from 5.0, correction of paths to SSL pem files
mtr_cases.pl:
Removed hard coded exclude list for embedded server
mysql-test-run.pl:
Set environment variable MYSQL_SHOW, to be used in test cases
Added a sleep for 5 seconds when shuting down,
work around for strange problem with server restarts
mtr_cases.pl:
Set default time zone as opt to mysqld
mysql-test-run.pl:
Enabled --mysqld=<flags> to work
Put some Windows path names into environment,
to be used in --replace_result
mysql-test-run.sh:
Make shell script tolerant to Windows change in test cases
Try kill all children to the mysql-test-run process when exiting
mtr_process.pl:
Added new function mtr_exit() that try kill all children to the mysql-test-run process when exiting
mysql-test-run.pl:
Try kill all children to the mysql-test-run process when exiting
New --vardir caused problems on Windows
Changed faulty calls to error() to mtr_error()
Made --timer work
mtr_cases.pl:
Added option --reorder to get less server restarts
mysql-test-run.pl:
Added option --reorder to get less server restarts
Moved do_before_start_master() not to remove binlog files unless restarted
Made --timer work
Slave was incorrectly writing log to error log
Corrected user name passing
Honor the --master-binary and --slave-binary options
Insert the host name into 'user' table
Added --udiff option, to get unified diff output
Call special mtr_run_test() for running "mysqltest"
mtr_report.pl:
Added --udiff option, to get unified diff output
init_db.sql:
Insert the host name into 'user' table
Let --start-and-exit actually start a server
Added that test case names can be specified on the comman line
Added embedded server support
Added environment variables UMASK, UMASK_DIR
Added missing MASTER_MYSOCK1, MASTER_MYPORT1, USE_RUNNING_SERVER
Added missing CHARSETSDIR, MYSQL_FIX_SYSTEM_TABLES, MYSQL_CLIENT_TEST
Pass on return value from sleep_until_file_created(), to fail test
Fail test if early termination of mysqld servers
Create intial databases for the second master, and two additional slaves
mtr_process.pl:
Find out if port is still in use, using simple TCP connect
Use non blocking waitpid() to catch terminations early
Make a special case spawning the 'mysqltest' application
Redo the fork() if it returns EAGAIN
Make sure to record if master or slave terminated
Improved debugging output
Improved code that remove PID files to avoid race
Abort if we can't stop all mysqld servers using our ports
Many improvements in killing mysqld servers
Let sleep_until_file_created() catch if server died early
mtr_report.pl:
Added option to disable test cases using <testcase>.disabled file
If --timer, only try to open file with time data if it exists
mtr_io.pl:
Remove starting/ending space reading server options from file
Catch more fork() errors.
Moved sleep_until_file_created() here from "mysql-test-run.pl".
Improved debug output.
mtr_io.pl:
Improved mtr_get_opts_from_file(), try to mimic some sh.
mysql-test-run.pl:
Cleaned up the timeout handling.
Created new function environment_setup().
Corrected time zone handling.
Moved sleep_until_file_created() to "lib/mtr_process.pl".
Improved debug output.
Added missing stop_reap_all() if returns early from function
mysql-test-run.pl:
Improved output from --script-debug
Initial Cygwin support
Improved mysqld process termination