You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1420 lines
36 KiB

Several fixes for Netware. client/client_priv.h: Added option auto close for Netware. client/mysql.cc: Added option auto close for Netware. client/mysqladmin.c: Added option auto close for Netware. client/mysqlbinlog.cc: Added option auto close for Netware. client/mysqlcheck.c: Added option auto close for Netware. client/mysqldump.c: Added option auto close for Netware. client/mysqlimport.c: Added option auto close for Netware. client/mysqlshow.c: Added option auto close for Netware. client/mysqltest.c: Fixed help messages for Netware. extra/my_print_defaults.c: Fixed help messages for Netware. extra/perror.c: Fixed help messages for Netware. extra/resolve_stack_dump.c: Fixed help messages for Netware. include/help_end.h: Fixed help messages for Netware. include/help_start.h: Fixed help messages for Netware. isam/isamchk.c: Added auto close of window for Netware isam/pack_isam.c: Added auto close of window for Netware myisam/myisamchk.c: Added auto close of window for Netware myisam/myisamlog.c: Added help for Netware. myisam/myisampack.c: Added auto close for Netware. netware/myisamchk.def: Scrollable screen patch. netware/mysql.def: Scrollable screen patch. netware/mysql_test_run.c: Fixed strindex for Netware. netware/mysqladmin.def: Scrollable screen patch. netware/mysqlbinlog.def: Scrollable screen patch. netware/mysqlcheck.def: Scrollable screen patch. netware/mysqld_safe.c: Removed debug message for Netware. netware/mysqldump.def: Scrollable screen patch. netware/mysqlimport.def: Scrollable screen patch. netware/mysqlshow.def: Scrollable screen patch. sql/mysqld.cc: Abnormal end patch when shutting down and volume not ready.
21 years ago
Several fixes for Netware. client/client_priv.h: Added option auto close for Netware. client/mysql.cc: Added option auto close for Netware. client/mysqladmin.c: Added option auto close for Netware. client/mysqlbinlog.cc: Added option auto close for Netware. client/mysqlcheck.c: Added option auto close for Netware. client/mysqldump.c: Added option auto close for Netware. client/mysqlimport.c: Added option auto close for Netware. client/mysqlshow.c: Added option auto close for Netware. client/mysqltest.c: Fixed help messages for Netware. extra/my_print_defaults.c: Fixed help messages for Netware. extra/perror.c: Fixed help messages for Netware. extra/resolve_stack_dump.c: Fixed help messages for Netware. include/help_end.h: Fixed help messages for Netware. include/help_start.h: Fixed help messages for Netware. isam/isamchk.c: Added auto close of window for Netware isam/pack_isam.c: Added auto close of window for Netware myisam/myisamchk.c: Added auto close of window for Netware myisam/myisamlog.c: Added help for Netware. myisam/myisampack.c: Added auto close for Netware. netware/myisamchk.def: Scrollable screen patch. netware/mysql.def: Scrollable screen patch. netware/mysql_test_run.c: Fixed strindex for Netware. netware/mysqladmin.def: Scrollable screen patch. netware/mysqlbinlog.def: Scrollable screen patch. netware/mysqlcheck.def: Scrollable screen patch. netware/mysqld_safe.c: Removed debug message for Netware. netware/mysqldump.def: Scrollable screen patch. netware/mysqlimport.def: Scrollable screen patch. netware/mysqlshow.def: Scrollable screen patch. sql/mysqld.cc: Abnormal end patch when shutting down and volume not ready.
21 years ago
Changed prototype of killed_ptr() to make it more portable Applied patches for Netware innobase/include/os0thread.h: Applied patches for Netware innobase/os/os0thread.c: Applied patches for Netware libmysql/libmysql.c: Applied patches for Netware libmysql/libmysql.def: Applied patches for Netware myisam/myisamchk.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable myisam/myisamdef.h: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable mysql-test/t/rpl_relayspace-slave.opt: Applied patches for Netware mysys/my_pthread.c: Applied patches for Netware mysys/my_static.h: Portability fix netware/BUILD/compile-linux-tools: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/BUILD/mwenv: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/BUILD/nwbootstrap: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/my_manage.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/mysql_fix_privilege_tables.pl: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/mysql_test_run.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/static_init_db.sql: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable scripts/make_binary_distribution.sh: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable sql/filesort.cc: Changed prototype of killed_ptr() to make it more portable sql/ha_myisam.cc: Changed prototype of killed_ptr() to make it more portable sql/mysqld.cc: Fixed some typos for Netware sql/sql_bitmap.h: Applied patches for Netware sql/sql_class.h: Changed prototype of killed_ptr() to make it more portable sql/sql_insert.cc: safety fix strings/my_strtoll10.c: Added comment
22 years ago
Changed prototype of killed_ptr() to make it more portable Applied patches for Netware innobase/include/os0thread.h: Applied patches for Netware innobase/os/os0thread.c: Applied patches for Netware libmysql/libmysql.c: Applied patches for Netware libmysql/libmysql.def: Applied patches for Netware myisam/myisamchk.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable myisam/myisamdef.h: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable mysql-test/t/rpl_relayspace-slave.opt: Applied patches for Netware mysys/my_pthread.c: Applied patches for Netware mysys/my_static.h: Portability fix netware/BUILD/compile-linux-tools: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/BUILD/mwenv: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/BUILD/nwbootstrap: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/my_manage.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/mysql_fix_privilege_tables.pl: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/mysql_test_run.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/static_init_db.sql: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable scripts/make_binary_distribution.sh: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable sql/filesort.cc: Changed prototype of killed_ptr() to make it more portable sql/ha_myisam.cc: Changed prototype of killed_ptr() to make it more portable sql/mysqld.cc: Fixed some typos for Netware sql/sql_bitmap.h: Applied patches for Netware sql/sql_class.h: Changed prototype of killed_ptr() to make it more portable sql/sql_insert.cc: safety fix strings/my_strtoll10.c: Added comment
22 years ago
Changed prototype of killed_ptr() to make it more portable Applied patches for Netware innobase/include/os0thread.h: Applied patches for Netware innobase/os/os0thread.c: Applied patches for Netware libmysql/libmysql.c: Applied patches for Netware libmysql/libmysql.def: Applied patches for Netware myisam/myisamchk.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable myisam/myisamdef.h: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable mysql-test/t/rpl_relayspace-slave.opt: Applied patches for Netware mysys/my_pthread.c: Applied patches for Netware mysys/my_static.h: Portability fix netware/BUILD/compile-linux-tools: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/BUILD/mwenv: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/BUILD/nwbootstrap: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/my_manage.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/mysql_fix_privilege_tables.pl: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/mysql_test_run.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/static_init_db.sql: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable scripts/make_binary_distribution.sh: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable sql/filesort.cc: Changed prototype of killed_ptr() to make it more portable sql/ha_myisam.cc: Changed prototype of killed_ptr() to make it more portable sql/mysqld.cc: Fixed some typos for Netware sql/sql_bitmap.h: Applied patches for Netware sql/sql_class.h: Changed prototype of killed_ptr() to make it more portable sql/sql_insert.cc: safety fix strings/my_strtoll10.c: Added comment
22 years ago
Changed prototype of killed_ptr() to make it more portable Applied patches for Netware innobase/include/os0thread.h: Applied patches for Netware innobase/os/os0thread.c: Applied patches for Netware libmysql/libmysql.c: Applied patches for Netware libmysql/libmysql.def: Applied patches for Netware myisam/myisamchk.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable myisam/myisamdef.h: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable mysql-test/t/rpl_relayspace-slave.opt: Applied patches for Netware mysys/my_pthread.c: Applied patches for Netware mysys/my_static.h: Portability fix netware/BUILD/compile-linux-tools: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/BUILD/mwenv: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/BUILD/nwbootstrap: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/my_manage.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/mysql_fix_privilege_tables.pl: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/mysql_test_run.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/static_init_db.sql: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable scripts/make_binary_distribution.sh: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable sql/filesort.cc: Changed prototype of killed_ptr() to make it more portable sql/ha_myisam.cc: Changed prototype of killed_ptr() to make it more portable sql/mysqld.cc: Fixed some typos for Netware sql/sql_bitmap.h: Applied patches for Netware sql/sql_class.h: Changed prototype of killed_ptr() to make it more portable sql/sql_insert.cc: safety fix strings/my_strtoll10.c: Added comment
22 years ago
Changed prototype of killed_ptr() to make it more portable Applied patches for Netware innobase/include/os0thread.h: Applied patches for Netware innobase/os/os0thread.c: Applied patches for Netware libmysql/libmysql.c: Applied patches for Netware libmysql/libmysql.def: Applied patches for Netware myisam/myisamchk.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable myisam/myisamdef.h: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable mysql-test/t/rpl_relayspace-slave.opt: Applied patches for Netware mysys/my_pthread.c: Applied patches for Netware mysys/my_static.h: Portability fix netware/BUILD/compile-linux-tools: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/BUILD/mwenv: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/BUILD/nwbootstrap: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/my_manage.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/mysql_fix_privilege_tables.pl: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/mysql_test_run.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/static_init_db.sql: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable scripts/make_binary_distribution.sh: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable sql/filesort.cc: Changed prototype of killed_ptr() to make it more portable sql/ha_myisam.cc: Changed prototype of killed_ptr() to make it more portable sql/mysqld.cc: Fixed some typos for Netware sql/sql_bitmap.h: Applied patches for Netware sql/sql_class.h: Changed prototype of killed_ptr() to make it more portable sql/sql_insert.cc: safety fix strings/my_strtoll10.c: Added comment
22 years ago
Changed prototype of killed_ptr() to make it more portable Applied patches for Netware innobase/include/os0thread.h: Applied patches for Netware innobase/os/os0thread.c: Applied patches for Netware libmysql/libmysql.c: Applied patches for Netware libmysql/libmysql.def: Applied patches for Netware myisam/myisamchk.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable myisam/myisamdef.h: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable mysql-test/t/rpl_relayspace-slave.opt: Applied patches for Netware mysys/my_pthread.c: Applied patches for Netware mysys/my_static.h: Portability fix netware/BUILD/compile-linux-tools: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/BUILD/mwenv: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/BUILD/nwbootstrap: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/my_manage.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/mysql_fix_privilege_tables.pl: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/mysql_test_run.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/static_init_db.sql: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable scripts/make_binary_distribution.sh: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable sql/filesort.cc: Changed prototype of killed_ptr() to make it more portable sql/ha_myisam.cc: Changed prototype of killed_ptr() to make it more portable sql/mysqld.cc: Fixed some typos for Netware sql/sql_bitmap.h: Applied patches for Netware sql/sql_class.h: Changed prototype of killed_ptr() to make it more portable sql/sql_insert.cc: safety fix strings/my_strtoll10.c: Added comment
22 years ago
Changed prototype of killed_ptr() to make it more portable Applied patches for Netware innobase/include/os0thread.h: Applied patches for Netware innobase/os/os0thread.c: Applied patches for Netware libmysql/libmysql.c: Applied patches for Netware libmysql/libmysql.def: Applied patches for Netware myisam/myisamchk.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable myisam/myisamdef.h: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable mysql-test/t/rpl_relayspace-slave.opt: Applied patches for Netware mysys/my_pthread.c: Applied patches for Netware mysys/my_static.h: Portability fix netware/BUILD/compile-linux-tools: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/BUILD/mwenv: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/BUILD/nwbootstrap: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/my_manage.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/mysql_fix_privilege_tables.pl: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/mysql_test_run.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/static_init_db.sql: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable scripts/make_binary_distribution.sh: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable sql/filesort.cc: Changed prototype of killed_ptr() to make it more portable sql/ha_myisam.cc: Changed prototype of killed_ptr() to make it more portable sql/mysqld.cc: Fixed some typos for Netware sql/sql_bitmap.h: Applied patches for Netware sql/sql_class.h: Changed prototype of killed_ptr() to make it more portable sql/sql_insert.cc: safety fix strings/my_strtoll10.c: Added comment
22 years ago
Changed prototype of killed_ptr() to make it more portable Applied patches for Netware innobase/include/os0thread.h: Applied patches for Netware innobase/os/os0thread.c: Applied patches for Netware libmysql/libmysql.c: Applied patches for Netware libmysql/libmysql.def: Applied patches for Netware myisam/myisamchk.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable myisam/myisamdef.h: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable mysql-test/t/rpl_relayspace-slave.opt: Applied patches for Netware mysys/my_pthread.c: Applied patches for Netware mysys/my_static.h: Portability fix netware/BUILD/compile-linux-tools: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/BUILD/mwenv: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/BUILD/nwbootstrap: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/my_manage.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/mysql_fix_privilege_tables.pl: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/mysql_test_run.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/static_init_db.sql: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable scripts/make_binary_distribution.sh: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable sql/filesort.cc: Changed prototype of killed_ptr() to make it more portable sql/ha_myisam.cc: Changed prototype of killed_ptr() to make it more portable sql/mysqld.cc: Fixed some typos for Netware sql/sql_bitmap.h: Applied patches for Netware sql/sql_class.h: Changed prototype of killed_ptr() to make it more portable sql/sql_insert.cc: safety fix strings/my_strtoll10.c: Added comment
22 years ago
Changed prototype of killed_ptr() to make it more portable Applied patches for Netware innobase/include/os0thread.h: Applied patches for Netware innobase/os/os0thread.c: Applied patches for Netware libmysql/libmysql.c: Applied patches for Netware libmysql/libmysql.def: Applied patches for Netware myisam/myisamchk.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable myisam/myisamdef.h: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable mysql-test/t/rpl_relayspace-slave.opt: Applied patches for Netware mysys/my_pthread.c: Applied patches for Netware mysys/my_static.h: Portability fix netware/BUILD/compile-linux-tools: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/BUILD/mwenv: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/BUILD/nwbootstrap: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/my_manage.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/mysql_fix_privilege_tables.pl: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/mysql_test_run.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/static_init_db.sql: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable scripts/make_binary_distribution.sh: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable sql/filesort.cc: Changed prototype of killed_ptr() to make it more portable sql/ha_myisam.cc: Changed prototype of killed_ptr() to make it more portable sql/mysqld.cc: Fixed some typos for Netware sql/sql_bitmap.h: Applied patches for Netware sql/sql_class.h: Changed prototype of killed_ptr() to make it more portable sql/sql_insert.cc: safety fix strings/my_strtoll10.c: Added comment
22 years ago
Changed prototype of killed_ptr() to make it more portable Applied patches for Netware innobase/include/os0thread.h: Applied patches for Netware innobase/os/os0thread.c: Applied patches for Netware libmysql/libmysql.c: Applied patches for Netware libmysql/libmysql.def: Applied patches for Netware myisam/myisamchk.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable myisam/myisamdef.h: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable mysql-test/t/rpl_relayspace-slave.opt: Applied patches for Netware mysys/my_pthread.c: Applied patches for Netware mysys/my_static.h: Portability fix netware/BUILD/compile-linux-tools: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/BUILD/mwenv: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/BUILD/nwbootstrap: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/my_manage.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/mysql_fix_privilege_tables.pl: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/mysql_test_run.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/static_init_db.sql: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable scripts/make_binary_distribution.sh: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable sql/filesort.cc: Changed prototype of killed_ptr() to make it more portable sql/ha_myisam.cc: Changed prototype of killed_ptr() to make it more portable sql/mysqld.cc: Fixed some typos for Netware sql/sql_bitmap.h: Applied patches for Netware sql/sql_class.h: Changed prototype of killed_ptr() to make it more portable sql/sql_insert.cc: safety fix strings/my_strtoll10.c: Added comment
22 years ago
Changed prototype of killed_ptr() to make it more portable Applied patches for Netware innobase/include/os0thread.h: Applied patches for Netware innobase/os/os0thread.c: Applied patches for Netware libmysql/libmysql.c: Applied patches for Netware libmysql/libmysql.def: Applied patches for Netware myisam/myisamchk.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable myisam/myisamdef.h: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable mysql-test/t/rpl_relayspace-slave.opt: Applied patches for Netware mysys/my_pthread.c: Applied patches for Netware mysys/my_static.h: Portability fix netware/BUILD/compile-linux-tools: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/BUILD/mwenv: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/BUILD/nwbootstrap: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/my_manage.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/mysql_fix_privilege_tables.pl: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/mysql_test_run.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/static_init_db.sql: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable scripts/make_binary_distribution.sh: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable sql/filesort.cc: Changed prototype of killed_ptr() to make it more portable sql/ha_myisam.cc: Changed prototype of killed_ptr() to make it more portable sql/mysqld.cc: Fixed some typos for Netware sql/sql_bitmap.h: Applied patches for Netware sql/sql_class.h: Changed prototype of killed_ptr() to make it more portable sql/sql_insert.cc: safety fix strings/my_strtoll10.c: Added comment
22 years ago
Changed prototype of killed_ptr() to make it more portable Applied patches for Netware innobase/include/os0thread.h: Applied patches for Netware innobase/os/os0thread.c: Applied patches for Netware libmysql/libmysql.c: Applied patches for Netware libmysql/libmysql.def: Applied patches for Netware myisam/myisamchk.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable myisam/myisamdef.h: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable mysql-test/t/rpl_relayspace-slave.opt: Applied patches for Netware mysys/my_pthread.c: Applied patches for Netware mysys/my_static.h: Portability fix netware/BUILD/compile-linux-tools: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/BUILD/mwenv: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/BUILD/nwbootstrap: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/my_manage.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/mysql_fix_privilege_tables.pl: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/mysql_test_run.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/static_init_db.sql: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable scripts/make_binary_distribution.sh: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable sql/filesort.cc: Changed prototype of killed_ptr() to make it more portable sql/ha_myisam.cc: Changed prototype of killed_ptr() to make it more portable sql/mysqld.cc: Fixed some typos for Netware sql/sql_bitmap.h: Applied patches for Netware sql/sql_class.h: Changed prototype of killed_ptr() to make it more portable sql/sql_insert.cc: safety fix strings/my_strtoll10.c: Added comment
22 years ago
Changed prototype of killed_ptr() to make it more portable Applied patches for Netware innobase/include/os0thread.h: Applied patches for Netware innobase/os/os0thread.c: Applied patches for Netware libmysql/libmysql.c: Applied patches for Netware libmysql/libmysql.def: Applied patches for Netware myisam/myisamchk.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable myisam/myisamdef.h: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable mysql-test/t/rpl_relayspace-slave.opt: Applied patches for Netware mysys/my_pthread.c: Applied patches for Netware mysys/my_static.h: Portability fix netware/BUILD/compile-linux-tools: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/BUILD/mwenv: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/BUILD/nwbootstrap: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/my_manage.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/mysql_fix_privilege_tables.pl: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/mysql_test_run.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/static_init_db.sql: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable scripts/make_binary_distribution.sh: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable sql/filesort.cc: Changed prototype of killed_ptr() to make it more portable sql/ha_myisam.cc: Changed prototype of killed_ptr() to make it more portable sql/mysqld.cc: Fixed some typos for Netware sql/sql_bitmap.h: Applied patches for Netware sql/sql_class.h: Changed prototype of killed_ptr() to make it more portable sql/sql_insert.cc: safety fix strings/my_strtoll10.c: Added comment
22 years ago
Changed prototype of killed_ptr() to make it more portable Applied patches for Netware innobase/include/os0thread.h: Applied patches for Netware innobase/os/os0thread.c: Applied patches for Netware libmysql/libmysql.c: Applied patches for Netware libmysql/libmysql.def: Applied patches for Netware myisam/myisamchk.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable myisam/myisamdef.h: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable mysql-test/t/rpl_relayspace-slave.opt: Applied patches for Netware mysys/my_pthread.c: Applied patches for Netware mysys/my_static.h: Portability fix netware/BUILD/compile-linux-tools: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/BUILD/mwenv: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/BUILD/nwbootstrap: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/my_manage.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/mysql_fix_privilege_tables.pl: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/mysql_test_run.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/static_init_db.sql: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable scripts/make_binary_distribution.sh: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable sql/filesort.cc: Changed prototype of killed_ptr() to make it more portable sql/ha_myisam.cc: Changed prototype of killed_ptr() to make it more portable sql/mysqld.cc: Fixed some typos for Netware sql/sql_bitmap.h: Applied patches for Netware sql/sql_class.h: Changed prototype of killed_ptr() to make it more portable sql/sql_insert.cc: safety fix strings/my_strtoll10.c: Added comment
22 years ago
Changed prototype of killed_ptr() to make it more portable Applied patches for Netware innobase/include/os0thread.h: Applied patches for Netware innobase/os/os0thread.c: Applied patches for Netware libmysql/libmysql.c: Applied patches for Netware libmysql/libmysql.def: Applied patches for Netware myisam/myisamchk.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable myisam/myisamdef.h: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable mysql-test/t/rpl_relayspace-slave.opt: Applied patches for Netware mysys/my_pthread.c: Applied patches for Netware mysys/my_static.h: Portability fix netware/BUILD/compile-linux-tools: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/BUILD/mwenv: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/BUILD/nwbootstrap: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/my_manage.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/mysql_fix_privilege_tables.pl: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/mysql_test_run.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/static_init_db.sql: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable scripts/make_binary_distribution.sh: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable sql/filesort.cc: Changed prototype of killed_ptr() to make it more portable sql/ha_myisam.cc: Changed prototype of killed_ptr() to make it more portable sql/mysqld.cc: Fixed some typos for Netware sql/sql_bitmap.h: Applied patches for Netware sql/sql_class.h: Changed prototype of killed_ptr() to make it more portable sql/sql_insert.cc: safety fix strings/my_strtoll10.c: Added comment
22 years ago
Changed prototype of killed_ptr() to make it more portable Applied patches for Netware innobase/include/os0thread.h: Applied patches for Netware innobase/os/os0thread.c: Applied patches for Netware libmysql/libmysql.c: Applied patches for Netware libmysql/libmysql.def: Applied patches for Netware myisam/myisamchk.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable myisam/myisamdef.h: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable mysql-test/t/rpl_relayspace-slave.opt: Applied patches for Netware mysys/my_pthread.c: Applied patches for Netware mysys/my_static.h: Portability fix netware/BUILD/compile-linux-tools: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/BUILD/mwenv: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/BUILD/nwbootstrap: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/my_manage.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/mysql_fix_privilege_tables.pl: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/mysql_test_run.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/static_init_db.sql: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable scripts/make_binary_distribution.sh: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable sql/filesort.cc: Changed prototype of killed_ptr() to make it more portable sql/ha_myisam.cc: Changed prototype of killed_ptr() to make it more portable sql/mysqld.cc: Fixed some typos for Netware sql/sql_bitmap.h: Applied patches for Netware sql/sql_class.h: Changed prototype of killed_ptr() to make it more portable sql/sql_insert.cc: safety fix strings/my_strtoll10.c: Added comment
22 years ago
Changed prototype of killed_ptr() to make it more portable Applied patches for Netware innobase/include/os0thread.h: Applied patches for Netware innobase/os/os0thread.c: Applied patches for Netware libmysql/libmysql.c: Applied patches for Netware libmysql/libmysql.def: Applied patches for Netware myisam/myisamchk.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable myisam/myisamdef.h: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable mysql-test/t/rpl_relayspace-slave.opt: Applied patches for Netware mysys/my_pthread.c: Applied patches for Netware mysys/my_static.h: Portability fix netware/BUILD/compile-linux-tools: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/BUILD/mwenv: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/BUILD/nwbootstrap: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/my_manage.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/mysql_fix_privilege_tables.pl: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/mysql_test_run.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/static_init_db.sql: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable scripts/make_binary_distribution.sh: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable sql/filesort.cc: Changed prototype of killed_ptr() to make it more portable sql/ha_myisam.cc: Changed prototype of killed_ptr() to make it more portable sql/mysqld.cc: Fixed some typos for Netware sql/sql_bitmap.h: Applied patches for Netware sql/sql_class.h: Changed prototype of killed_ptr() to make it more portable sql/sql_insert.cc: safety fix strings/my_strtoll10.c: Added comment
22 years ago
Changed prototype of killed_ptr() to make it more portable Applied patches for Netware innobase/include/os0thread.h: Applied patches for Netware innobase/os/os0thread.c: Applied patches for Netware libmysql/libmysql.c: Applied patches for Netware libmysql/libmysql.def: Applied patches for Netware myisam/myisamchk.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable myisam/myisamdef.h: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable mysql-test/t/rpl_relayspace-slave.opt: Applied patches for Netware mysys/my_pthread.c: Applied patches for Netware mysys/my_static.h: Portability fix netware/BUILD/compile-linux-tools: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/BUILD/mwenv: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/BUILD/nwbootstrap: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/my_manage.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/mysql_fix_privilege_tables.pl: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/mysql_test_run.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/static_init_db.sql: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable scripts/make_binary_distribution.sh: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable sql/filesort.cc: Changed prototype of killed_ptr() to make it more portable sql/ha_myisam.cc: Changed prototype of killed_ptr() to make it more portable sql/mysqld.cc: Fixed some typos for Netware sql/sql_bitmap.h: Applied patches for Netware sql/sql_class.h: Changed prototype of killed_ptr() to make it more portable sql/sql_insert.cc: safety fix strings/my_strtoll10.c: Added comment
22 years ago
Changed prototype of killed_ptr() to make it more portable Applied patches for Netware innobase/include/os0thread.h: Applied patches for Netware innobase/os/os0thread.c: Applied patches for Netware libmysql/libmysql.c: Applied patches for Netware libmysql/libmysql.def: Applied patches for Netware myisam/myisamchk.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable myisam/myisamdef.h: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable mysql-test/t/rpl_relayspace-slave.opt: Applied patches for Netware mysys/my_pthread.c: Applied patches for Netware mysys/my_static.h: Portability fix netware/BUILD/compile-linux-tools: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/BUILD/mwenv: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/BUILD/nwbootstrap: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/my_manage.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/mysql_fix_privilege_tables.pl: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/mysql_test_run.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/static_init_db.sql: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable scripts/make_binary_distribution.sh: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable sql/filesort.cc: Changed prototype of killed_ptr() to make it more portable sql/ha_myisam.cc: Changed prototype of killed_ptr() to make it more portable sql/mysqld.cc: Fixed some typos for Netware sql/sql_bitmap.h: Applied patches for Netware sql/sql_class.h: Changed prototype of killed_ptr() to make it more portable sql/sql_insert.cc: safety fix strings/my_strtoll10.c: Added comment
22 years ago
Changed prototype of killed_ptr() to make it more portable Applied patches for Netware innobase/include/os0thread.h: Applied patches for Netware innobase/os/os0thread.c: Applied patches for Netware libmysql/libmysql.c: Applied patches for Netware libmysql/libmysql.def: Applied patches for Netware myisam/myisamchk.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable myisam/myisamdef.h: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable mysql-test/t/rpl_relayspace-slave.opt: Applied patches for Netware mysys/my_pthread.c: Applied patches for Netware mysys/my_static.h: Portability fix netware/BUILD/compile-linux-tools: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/BUILD/mwenv: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/BUILD/nwbootstrap: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/my_manage.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/mysql_fix_privilege_tables.pl: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/mysql_test_run.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/static_init_db.sql: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable scripts/make_binary_distribution.sh: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable sql/filesort.cc: Changed prototype of killed_ptr() to make it more portable sql/ha_myisam.cc: Changed prototype of killed_ptr() to make it more portable sql/mysqld.cc: Fixed some typos for Netware sql/sql_bitmap.h: Applied patches for Netware sql/sql_class.h: Changed prototype of killed_ptr() to make it more portable sql/sql_insert.cc: safety fix strings/my_strtoll10.c: Added comment
22 years ago
Changed prototype of killed_ptr() to make it more portable Applied patches for Netware innobase/include/os0thread.h: Applied patches for Netware innobase/os/os0thread.c: Applied patches for Netware libmysql/libmysql.c: Applied patches for Netware libmysql/libmysql.def: Applied patches for Netware myisam/myisamchk.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable myisam/myisamdef.h: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable mysql-test/t/rpl_relayspace-slave.opt: Applied patches for Netware mysys/my_pthread.c: Applied patches for Netware mysys/my_static.h: Portability fix netware/BUILD/compile-linux-tools: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/BUILD/mwenv: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/BUILD/nwbootstrap: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/my_manage.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/mysql_fix_privilege_tables.pl: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/mysql_test_run.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/static_init_db.sql: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable scripts/make_binary_distribution.sh: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable sql/filesort.cc: Changed prototype of killed_ptr() to make it more portable sql/ha_myisam.cc: Changed prototype of killed_ptr() to make it more portable sql/mysqld.cc: Fixed some typos for Netware sql/sql_bitmap.h: Applied patches for Netware sql/sql_class.h: Changed prototype of killed_ptr() to make it more portable sql/sql_insert.cc: safety fix strings/my_strtoll10.c: Added comment
22 years ago
Changed prototype of killed_ptr() to make it more portable Applied patches for Netware innobase/include/os0thread.h: Applied patches for Netware innobase/os/os0thread.c: Applied patches for Netware libmysql/libmysql.c: Applied patches for Netware libmysql/libmysql.def: Applied patches for Netware myisam/myisamchk.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable myisam/myisamdef.h: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable mysql-test/t/rpl_relayspace-slave.opt: Applied patches for Netware mysys/my_pthread.c: Applied patches for Netware mysys/my_static.h: Portability fix netware/BUILD/compile-linux-tools: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/BUILD/mwenv: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/BUILD/nwbootstrap: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/my_manage.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/mysql_fix_privilege_tables.pl: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/mysql_test_run.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/static_init_db.sql: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable scripts/make_binary_distribution.sh: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable sql/filesort.cc: Changed prototype of killed_ptr() to make it more portable sql/ha_myisam.cc: Changed prototype of killed_ptr() to make it more portable sql/mysqld.cc: Fixed some typos for Netware sql/sql_bitmap.h: Applied patches for Netware sql/sql_class.h: Changed prototype of killed_ptr() to make it more portable sql/sql_insert.cc: safety fix strings/my_strtoll10.c: Added comment
22 years ago
Changed prototype of killed_ptr() to make it more portable Applied patches for Netware innobase/include/os0thread.h: Applied patches for Netware innobase/os/os0thread.c: Applied patches for Netware libmysql/libmysql.c: Applied patches for Netware libmysql/libmysql.def: Applied patches for Netware myisam/myisamchk.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable myisam/myisamdef.h: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable mysql-test/t/rpl_relayspace-slave.opt: Applied patches for Netware mysys/my_pthread.c: Applied patches for Netware mysys/my_static.h: Portability fix netware/BUILD/compile-linux-tools: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/BUILD/mwenv: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/BUILD/nwbootstrap: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/my_manage.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/mysql_fix_privilege_tables.pl: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/mysql_test_run.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/static_init_db.sql: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable scripts/make_binary_distribution.sh: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable sql/filesort.cc: Changed prototype of killed_ptr() to make it more portable sql/ha_myisam.cc: Changed prototype of killed_ptr() to make it more portable sql/mysqld.cc: Fixed some typos for Netware sql/sql_bitmap.h: Applied patches for Netware sql/sql_class.h: Changed prototype of killed_ptr() to make it more portable sql/sql_insert.cc: safety fix strings/my_strtoll10.c: Added comment
22 years ago
Changed prototype of killed_ptr() to make it more portable Applied patches for Netware innobase/include/os0thread.h: Applied patches for Netware innobase/os/os0thread.c: Applied patches for Netware libmysql/libmysql.c: Applied patches for Netware libmysql/libmysql.def: Applied patches for Netware myisam/myisamchk.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable myisam/myisamdef.h: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable mysql-test/t/rpl_relayspace-slave.opt: Applied patches for Netware mysys/my_pthread.c: Applied patches for Netware mysys/my_static.h: Portability fix netware/BUILD/compile-linux-tools: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/BUILD/mwenv: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/BUILD/nwbootstrap: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/my_manage.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/mysql_fix_privilege_tables.pl: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/mysql_test_run.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/static_init_db.sql: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable scripts/make_binary_distribution.sh: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable sql/filesort.cc: Changed prototype of killed_ptr() to make it more portable sql/ha_myisam.cc: Changed prototype of killed_ptr() to make it more portable sql/mysqld.cc: Fixed some typos for Netware sql/sql_bitmap.h: Applied patches for Netware sql/sql_class.h: Changed prototype of killed_ptr() to make it more portable sql/sql_insert.cc: safety fix strings/my_strtoll10.c: Added comment
22 years ago
Several Netware specific fixes. configure.in: To configure InnoDB for cross compilation. include/config-netware.h: NetWare specific change to fix the compilation errors caused by event.h NetWare specific change required for WINE PATH and for new versions LibC(Jun 05) and zlib(1.2.3) netware/BUILD/compile-AUTOTOOLS: Netware specific change reflecting the change in source code directory structure. netware/BUILD/compile-linux-tools: Netware specific change to fix the location where gen_lex_hash gets created. Fixed also directory structure reflecting changes. netware/BUILD/compile-netware-END: Netware specific change for creating mysqld_error.h netware/BUILD/mwenv: Netware specific change required for WINE PATH and for new versions LibC(Jun 05) and zlib(1.2.3). netware/BUILD/nwbootstrap: NetWare Specific change to produce absoulte path for XDC file. netware/Makefile.am: Netware specific changes to fix to match new directory structure. netware/my_manage.h: Netware specific change required for WINE PATH and for new versions LibC(Jun 05) and zlib(1.2.3). netware/mysql_test_run.c: Netware specific change, added --autoclose option for mysql_test_run.nlm. scripts/make_binary_distribution.sh: Fix to reflect change in directory structure. sql/mysqld.cc: Stacksize change for Netware. Netware specific change to fix the compilation errors caused by event.h sql/set_var.cc: Minor indending related fix. sql/sql_class.cc: Added #ifdef HAVE_EXPLICIT_TEMPLATE_INSTANTIATION macro. storage/innobase/os/os0thread.c: Netware specific change to increase the thread stack size. storage/myisam/mi_locking.c: Enclosed MMAP related code under HAVE_MMAP preprocessor directive.
20 years ago
Changed prototype of killed_ptr() to make it more portable Applied patches for Netware innobase/include/os0thread.h: Applied patches for Netware innobase/os/os0thread.c: Applied patches for Netware libmysql/libmysql.c: Applied patches for Netware libmysql/libmysql.def: Applied patches for Netware myisam/myisamchk.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable myisam/myisamdef.h: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable mysql-test/t/rpl_relayspace-slave.opt: Applied patches for Netware mysys/my_pthread.c: Applied patches for Netware mysys/my_static.h: Portability fix netware/BUILD/compile-linux-tools: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/BUILD/mwenv: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/BUILD/nwbootstrap: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/my_manage.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/mysql_fix_privilege_tables.pl: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/mysql_test_run.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/static_init_db.sql: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable scripts/make_binary_distribution.sh: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable sql/filesort.cc: Changed prototype of killed_ptr() to make it more portable sql/ha_myisam.cc: Changed prototype of killed_ptr() to make it more portable sql/mysqld.cc: Fixed some typos for Netware sql/sql_bitmap.h: Applied patches for Netware sql/sql_class.h: Changed prototype of killed_ptr() to make it more portable sql/sql_insert.cc: safety fix strings/my_strtoll10.c: Added comment
22 years ago
Changed prototype of killed_ptr() to make it more portable Applied patches for Netware innobase/include/os0thread.h: Applied patches for Netware innobase/os/os0thread.c: Applied patches for Netware libmysql/libmysql.c: Applied patches for Netware libmysql/libmysql.def: Applied patches for Netware myisam/myisamchk.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable myisam/myisamdef.h: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable mysql-test/t/rpl_relayspace-slave.opt: Applied patches for Netware mysys/my_pthread.c: Applied patches for Netware mysys/my_static.h: Portability fix netware/BUILD/compile-linux-tools: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/BUILD/mwenv: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/BUILD/nwbootstrap: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/my_manage.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/mysql_fix_privilege_tables.pl: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/mysql_test_run.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/static_init_db.sql: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable scripts/make_binary_distribution.sh: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable sql/filesort.cc: Changed prototype of killed_ptr() to make it more portable sql/ha_myisam.cc: Changed prototype of killed_ptr() to make it more portable sql/mysqld.cc: Fixed some typos for Netware sql/sql_bitmap.h: Applied patches for Netware sql/sql_class.h: Changed prototype of killed_ptr() to make it more portable sql/sql_insert.cc: safety fix strings/my_strtoll10.c: Added comment
22 years ago
Changed prototype of killed_ptr() to make it more portable Applied patches for Netware innobase/include/os0thread.h: Applied patches for Netware innobase/os/os0thread.c: Applied patches for Netware libmysql/libmysql.c: Applied patches for Netware libmysql/libmysql.def: Applied patches for Netware myisam/myisamchk.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable myisam/myisamdef.h: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable mysql-test/t/rpl_relayspace-slave.opt: Applied patches for Netware mysys/my_pthread.c: Applied patches for Netware mysys/my_static.h: Portability fix netware/BUILD/compile-linux-tools: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/BUILD/mwenv: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/BUILD/nwbootstrap: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/my_manage.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/mysql_fix_privilege_tables.pl: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/mysql_test_run.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/static_init_db.sql: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable scripts/make_binary_distribution.sh: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable sql/filesort.cc: Changed prototype of killed_ptr() to make it more portable sql/ha_myisam.cc: Changed prototype of killed_ptr() to make it more portable sql/mysqld.cc: Fixed some typos for Netware sql/sql_bitmap.h: Applied patches for Netware sql/sql_class.h: Changed prototype of killed_ptr() to make it more portable sql/sql_insert.cc: safety fix strings/my_strtoll10.c: Added comment
22 years ago
Several Netware specific fixes. configure.in: To configure InnoDB for cross compilation. include/config-netware.h: NetWare specific change to fix the compilation errors caused by event.h NetWare specific change required for WINE PATH and for new versions LibC(Jun 05) and zlib(1.2.3) netware/BUILD/compile-AUTOTOOLS: Netware specific change reflecting the change in source code directory structure. netware/BUILD/compile-linux-tools: Netware specific change to fix the location where gen_lex_hash gets created. Fixed also directory structure reflecting changes. netware/BUILD/compile-netware-END: Netware specific change for creating mysqld_error.h netware/BUILD/mwenv: Netware specific change required for WINE PATH and for new versions LibC(Jun 05) and zlib(1.2.3). netware/BUILD/nwbootstrap: NetWare Specific change to produce absoulte path for XDC file. netware/Makefile.am: Netware specific changes to fix to match new directory structure. netware/my_manage.h: Netware specific change required for WINE PATH and for new versions LibC(Jun 05) and zlib(1.2.3). netware/mysql_test_run.c: Netware specific change, added --autoclose option for mysql_test_run.nlm. scripts/make_binary_distribution.sh: Fix to reflect change in directory structure. sql/mysqld.cc: Stacksize change for Netware. Netware specific change to fix the compilation errors caused by event.h sql/set_var.cc: Minor indending related fix. sql/sql_class.cc: Added #ifdef HAVE_EXPLICIT_TEMPLATE_INSTANTIATION macro. storage/innobase/os/os0thread.c: Netware specific change to increase the thread stack size. storage/myisam/mi_locking.c: Enclosed MMAP related code under HAVE_MMAP preprocessor directive.
20 years ago
Several Netware specific fixes. configure.in: To configure InnoDB for cross compilation. include/config-netware.h: NetWare specific change to fix the compilation errors caused by event.h NetWare specific change required for WINE PATH and for new versions LibC(Jun 05) and zlib(1.2.3) netware/BUILD/compile-AUTOTOOLS: Netware specific change reflecting the change in source code directory structure. netware/BUILD/compile-linux-tools: Netware specific change to fix the location where gen_lex_hash gets created. Fixed also directory structure reflecting changes. netware/BUILD/compile-netware-END: Netware specific change for creating mysqld_error.h netware/BUILD/mwenv: Netware specific change required for WINE PATH and for new versions LibC(Jun 05) and zlib(1.2.3). netware/BUILD/nwbootstrap: NetWare Specific change to produce absoulte path for XDC file. netware/Makefile.am: Netware specific changes to fix to match new directory structure. netware/my_manage.h: Netware specific change required for WINE PATH and for new versions LibC(Jun 05) and zlib(1.2.3). netware/mysql_test_run.c: Netware specific change, added --autoclose option for mysql_test_run.nlm. scripts/make_binary_distribution.sh: Fix to reflect change in directory structure. sql/mysqld.cc: Stacksize change for Netware. Netware specific change to fix the compilation errors caused by event.h sql/set_var.cc: Minor indending related fix. sql/sql_class.cc: Added #ifdef HAVE_EXPLICIT_TEMPLATE_INSTANTIATION macro. storage/innobase/os/os0thread.c: Netware specific change to increase the thread stack size. storage/myisam/mi_locking.c: Enclosed MMAP related code under HAVE_MMAP preprocessor directive.
20 years ago
Several Netware specific fixes. configure.in: To configure InnoDB for cross compilation. include/config-netware.h: NetWare specific change to fix the compilation errors caused by event.h NetWare specific change required for WINE PATH and for new versions LibC(Jun 05) and zlib(1.2.3) netware/BUILD/compile-AUTOTOOLS: Netware specific change reflecting the change in source code directory structure. netware/BUILD/compile-linux-tools: Netware specific change to fix the location where gen_lex_hash gets created. Fixed also directory structure reflecting changes. netware/BUILD/compile-netware-END: Netware specific change for creating mysqld_error.h netware/BUILD/mwenv: Netware specific change required for WINE PATH and for new versions LibC(Jun 05) and zlib(1.2.3). netware/BUILD/nwbootstrap: NetWare Specific change to produce absoulte path for XDC file. netware/Makefile.am: Netware specific changes to fix to match new directory structure. netware/my_manage.h: Netware specific change required for WINE PATH and for new versions LibC(Jun 05) and zlib(1.2.3). netware/mysql_test_run.c: Netware specific change, added --autoclose option for mysql_test_run.nlm. scripts/make_binary_distribution.sh: Fix to reflect change in directory structure. sql/mysqld.cc: Stacksize change for Netware. Netware specific change to fix the compilation errors caused by event.h sql/set_var.cc: Minor indending related fix. sql/sql_class.cc: Added #ifdef HAVE_EXPLICIT_TEMPLATE_INSTANTIATION macro. storage/innobase/os/os0thread.c: Netware specific change to increase the thread stack size. storage/myisam/mi_locking.c: Enclosed MMAP related code under HAVE_MMAP preprocessor directive.
20 years ago
Changed prototype of killed_ptr() to make it more portable Applied patches for Netware innobase/include/os0thread.h: Applied patches for Netware innobase/os/os0thread.c: Applied patches for Netware libmysql/libmysql.c: Applied patches for Netware libmysql/libmysql.def: Applied patches for Netware myisam/myisamchk.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable myisam/myisamdef.h: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable mysql-test/t/rpl_relayspace-slave.opt: Applied patches for Netware mysys/my_pthread.c: Applied patches for Netware mysys/my_static.h: Portability fix netware/BUILD/compile-linux-tools: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/BUILD/mwenv: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/BUILD/nwbootstrap: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/my_manage.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/mysql_fix_privilege_tables.pl: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/mysql_test_run.c: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable netware/static_init_db.sql: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable scripts/make_binary_distribution.sh: Applied patches for Netware Changed prototype of killed_ptr() to make it more portable sql/filesort.cc: Changed prototype of killed_ptr() to make it more portable sql/ha_myisam.cc: Changed prototype of killed_ptr() to make it more portable sql/mysqld.cc: Fixed some typos for Netware sql/sql_bitmap.h: Applied patches for Netware sql/sql_class.h: Changed prototype of killed_ptr() to make it more portable sql/sql_insert.cc: safety fix strings/my_strtoll10.c: Added comment
22 years ago
  1. /*
  2. Copyright (c) 2002, 2003 Novell, Inc. All Rights Reserved.
  3. This program is free software; you can redistribute it and/or modify
  4. it under the terms of the GNU General Public License as published by
  5. the Free Software Foundation; either version 2 of the License, or
  6. (at your option) any later version.
  7. This program is distributed in the hope that it will be useful,
  8. but WITHOUT ANY WARRANTY; without even the implied warranty of
  9. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  10. GNU General Public License for more details.
  11. You should have received a copy of the GNU General Public License
  12. along with this program; if not, write to the Free Software
  13. Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  14. */
  15. #include <my_global.h>
  16. #include <m_string.h>
  17. #include <dirent.h>
  18. #include <screen.h>
  19. #include <nks/vm.h>
  20. #include <ctype.h>
  21. #include <sys/stat.h>
  22. #include <sys/mode.h>
  23. #include "my_manage.h"
  24. #ifdef __NETWARE__
  25. #define strindex(a,b) ((char*)strindex(a,b))
  26. #define strstr(a,b) ((char*)strstr(a,b))
  27. #endif
  28. /******************************************************************************
  29. macros
  30. ******************************************************************************/
  31. #define HEADER "TEST ELAPSED RESULT \n"
  32. #define DASH "------------------------------------------------------------------------\n"
  33. #define NW_TEST_SUFFIX ".nw-test"
  34. #define NW_RESULT_SUFFIX ".nw-result"
  35. #define TEST_SUFFIX ".test"
  36. #define RESULT_SUFFIX ".result"
  37. #define REJECT_SUFFIX ".reject"
  38. #define OUT_SUFFIX ".out"
  39. #define ERR_SUFFIX ".err"
  40. #define TEST_PASS "[ pass ]"
  41. #define TEST_SKIP "[ skip ]"
  42. #define TEST_FAIL "[ fail ]"
  43. #define TEST_BAD "[ bad ]"
  44. #define TEST_IGNORE "[ignore]"
  45. /******************************************************************************
  46. global variables
  47. ******************************************************************************/
  48. char base_dir[PATH_MAX] = "sys:/mysql";
  49. char db[PATH_MAX] = "test";
  50. char user[PATH_MAX] = "root";
  51. char password[PATH_MAX] = "";
  52. int master_port = 9306;
  53. int slave_port = 9307;
  54. // comma delimited list of tests to skip or empty string
  55. char skip_test[PATH_MAX] = " lowercase_table3 , system_mysql_db_fix ";
  56. char ignore_test[PATH_MAX] = "";
  57. char bin_dir[PATH_MAX];
  58. char mysql_test_dir[PATH_MAX];
  59. char test_dir[PATH_MAX];
  60. char mysql_tmp_dir[PATH_MAX];
  61. char result_dir[PATH_MAX];
  62. char master_dir[PATH_MAX];
  63. char slave_dir[PATH_MAX];
  64. char lang_dir[PATH_MAX];
  65. char char_dir[PATH_MAX];
  66. char mysqladmin_file[PATH_MAX];
  67. char mysqld_file[PATH_MAX];
  68. char mysqltest_file[PATH_MAX];
  69. char master_pid[PATH_MAX];
  70. char slave_pid[PATH_MAX];
  71. char master_opt[PATH_MAX] = "";
  72. char slave_opt[PATH_MAX] = "";
  73. char slave_master_info[PATH_MAX] = "";
  74. char master_init_script[PATH_MAX] = "";
  75. char slave_init_script[PATH_MAX] = "";
  76. // OpenSSL
  77. char ca_cert[PATH_MAX];
  78. char server_cert[PATH_MAX];
  79. char server_key[PATH_MAX];
  80. char client_cert[PATH_MAX];
  81. char client_key[PATH_MAX];
  82. int total_skip = 0;
  83. int total_pass = 0;
  84. int total_fail = 0;
  85. int total_test = 0;
  86. int total_ignore = 0;
  87. double total_time = 0;
  88. int use_openssl = FALSE;
  89. int master_running = FALSE;
  90. int slave_running = FALSE;
  91. int skip_slave = TRUE;
  92. int single_test = TRUE;
  93. int restarts = 0;
  94. FILE *log_fd = NULL;
  95. /******************************************************************************
  96. functions
  97. ******************************************************************************/
  98. /******************************************************************************
  99. prototypes
  100. ******************************************************************************/
  101. void report_stats();
  102. void install_db(char *);
  103. void mysql_install_db();
  104. void start_master();
  105. void start_slave();
  106. void mysql_start();
  107. void stop_slave();
  108. void stop_master();
  109. void mysql_stop();
  110. void mysql_restart();
  111. int read_option(char *, char *);
  112. void run_test(char *);
  113. void setup(char *);
  114. void vlog(char *, va_list);
  115. void log_msg(char *, ...);
  116. void log_info(char *, ...);
  117. void log_error(char *, ...);
  118. void log_errno(char *, ...);
  119. void die(char *);
  120. char *str_tok(char *string, const char *delim);
  121. /******************************************************************************
  122. report_stats()
  123. Report the gathered statistics.
  124. ******************************************************************************/
  125. void report_stats()
  126. {
  127. if (total_fail == 0)
  128. {
  129. log_msg("\nAll %d test(s) were successful.\n", total_test);
  130. }
  131. else
  132. {
  133. double percent = ((double)total_pass / total_test) * 100;
  134. log_msg("\nFailed %u/%u test(s), %.02f%% successful.\n",
  135. total_fail, total_test, percent);
  136. log_msg("\nThe .out and .err files in %s may give you some\n", result_dir);
  137. log_msg("hint of what went wrong.\n");
  138. log_msg("\nIf you want to report this error, please first read the documentation\n");
  139. log_msg("at: http://www.mysql.com/doc/en/MySQL_test_suite.html\n");
  140. }
  141. log_msg("\n%.02f total minutes elapsed in the test cases\n\n", total_time / 60);
  142. }
  143. /******************************************************************************
  144. install_db()
  145. Install the a database.
  146. ******************************************************************************/
  147. void install_db(char *datadir)
  148. {
  149. arg_list_t al;
  150. int err, i;
  151. char input[PATH_MAX];
  152. char output[PATH_MAX];
  153. char error[PATH_MAX];
  154. // input file
  155. snprintf(input, PATH_MAX, "%s/bin/test_db.sql", base_dir);
  156. snprintf(output, PATH_MAX, "%s/install.out", datadir);
  157. snprintf(error, PATH_MAX, "%s/install.err", datadir);
  158. // args
  159. init_args(&al);
  160. add_arg(&al, mysqld_file);
  161. add_arg(&al, "--no-defaults");
  162. add_arg(&al, "--bootstrap");
  163. add_arg(&al, "--skip-grant-tables");
  164. add_arg(&al, "--basedir=%s", base_dir);
  165. add_arg(&al, "--datadir=%s", datadir);
  166. add_arg(&al, "--skip-innodb");
  167. // spawn
  168. if ((err = spawn(mysqld_file, &al, TRUE, input, output, error)) != 0)
  169. {
  170. die("Unable to create database.");
  171. }
  172. // free args
  173. free_args(&al);
  174. }
  175. /******************************************************************************
  176. mysql_install_db()
  177. Install the test databases.
  178. ******************************************************************************/
  179. void mysql_install_db()
  180. {
  181. char temp[PATH_MAX];
  182. // var directory
  183. snprintf(temp, PATH_MAX, "%s/var", mysql_test_dir);
  184. // clean up old direcotry
  185. del_tree(temp);
  186. // create var directory
  187. mkdir(temp, S_IRWXU);
  188. // create subdirectories
  189. log_msg("Creating test-suite folders...\n");
  190. snprintf(temp, PATH_MAX, "%s/var/run", mysql_test_dir);
  191. mkdir(temp, S_IRWXU);
  192. snprintf(temp, PATH_MAX, "%s/var/tmp", mysql_test_dir);
  193. mkdir(temp, S_IRWXU);
  194. snprintf(temp, PATH_MAX, "%s/var/master-data", mysql_test_dir);
  195. mkdir(temp, S_IRWXU);
  196. snprintf(temp, PATH_MAX, "%s/var/master-data/mysql", mysql_test_dir);
  197. mkdir(temp, S_IRWXU);
  198. snprintf(temp, PATH_MAX, "%s/var/master-data/test", mysql_test_dir);
  199. mkdir(temp, S_IRWXU);
  200. snprintf(temp, PATH_MAX, "%s/var/slave-data", mysql_test_dir);
  201. mkdir(temp, S_IRWXU);
  202. snprintf(temp, PATH_MAX, "%s/var/slave-data/mysql", mysql_test_dir);
  203. mkdir(temp, S_IRWXU);
  204. snprintf(temp, PATH_MAX, "%s/var/slave-data/test", mysql_test_dir);
  205. mkdir(temp, S_IRWXU);
  206. // install databases
  207. log_msg("Creating test databases for master... \n");
  208. install_db(master_dir);
  209. log_msg("Creating test databases for slave... \n");
  210. install_db(slave_dir);
  211. }
  212. /******************************************************************************
  213. start_master()
  214. Start the master server.
  215. ******************************************************************************/
  216. void start_master()
  217. {
  218. arg_list_t al;
  219. int err, i;
  220. char master_out[PATH_MAX];
  221. char master_err[PATH_MAX];
  222. char temp[PATH_MAX], temp2[PATH_MAX];
  223. // remove old berkeley db log files that can confuse the server
  224. removef("%s/log.*", master_dir);
  225. // remove stale binary logs
  226. removef("%s/var/log/*-bin.*", mysql_test_dir);
  227. // remove stale binary logs
  228. removef("%s/var/log/*.index", mysql_test_dir);
  229. // remove master.info file
  230. removef("%s/master.info", master_dir);
  231. // remove relay files
  232. removef("%s/var/log/*relay*", mysql_test_dir);
  233. // remove relay-log.info file
  234. removef("%s/relay-log.info", master_dir);
  235. // init script
  236. if (master_init_script[0] != NULL)
  237. {
  238. // run_init_script(master_init_script);
  239. // TODO: use the scripts
  240. if (strindex(master_init_script, "repair_part2-master.sh") != NULL)
  241. {
  242. FILE *fp;
  243. // create an empty index file
  244. snprintf(temp, PATH_MAX, "%s/test/t1.MYI", master_dir);
  245. fp = fopen(temp, "wb+");
  246. fputs("1", fp);
  247. fclose(fp);
  248. }
  249. }
  250. // redirection files
  251. snprintf(master_out, PATH_MAX, "%s/var/run/master%u.out",
  252. mysql_test_dir, restarts);
  253. snprintf(master_err, PATH_MAX, "%s/var/run/master%u.err",
  254. mysql_test_dir, restarts);
  255. snprintf(temp2,PATH_MAX,"%s/var",mysql_test_dir);
  256. mkdir(temp2,0);
  257. snprintf(temp2,PATH_MAX,"%s/var/log",mysql_test_dir);
  258. mkdir(temp2,0);
  259. // args
  260. init_args(&al);
  261. add_arg(&al, "%s", mysqld_file);
  262. add_arg(&al, "--no-defaults");
  263. add_arg(&al, "--log-bin=%s/var/log/master-bin",mysql_test_dir);
  264. add_arg(&al, "--server-id=1");
  265. add_arg(&al, "--basedir=%s", base_dir);
  266. add_arg(&al, "--port=%u", master_port);
  267. add_arg(&al, "--local-infile");
  268. add_arg(&al, "--core");
  269. add_arg(&al, "--datadir=%s", master_dir);
  270. add_arg(&al, "--pid-file=%s", master_pid);
  271. add_arg(&al, "--character-sets-dir=%s", char_dir);
  272. add_arg(&al, "--tmpdir=%s", mysql_tmp_dir);
  273. add_arg(&al, "--language=%s", lang_dir);
  274. add_arg(&al, "--log-bin-trust-routine-creators");
  275. add_arg(&al, "--log-slow-queries");
  276. add_arg(&al, "--log-queries-not-using-indexes");
  277. #ifdef DEBUG //only for debug builds
  278. add_arg(&al, "--debug");
  279. #endif
  280. if (use_openssl)
  281. {
  282. add_arg(&al, "--ssl-ca=%s", ca_cert);
  283. add_arg(&al, "--ssl-cert=%s", server_cert);
  284. add_arg(&al, "--ssl-key=%s", server_key);
  285. }
  286. // $MASTER_40_ARGS
  287. add_arg(&al, "--rpl-recovery-rank=1");
  288. add_arg(&al, "--init-rpl-role=master");
  289. // $SMALL_SERVER
  290. add_arg(&al, "-O");
  291. add_arg(&al, "key_buffer_size=1M");
  292. add_arg(&al, "-O");
  293. add_arg(&al, "sort_buffer=256K");
  294. add_arg(&al, "-O");
  295. add_arg(&al, "max_heap_table_size=1M");
  296. // $EXTRA_MASTER_OPT
  297. if (master_opt[0] != NULL)
  298. {
  299. char *p;
  300. p = (char *)str_tok(master_opt, " \t");
  301. if (!strstr(master_opt, "timezone"))
  302. {
  303. while (p)
  304. {
  305. add_arg(&al, "%s", p);
  306. p = (char *)str_tok(NULL, " \t");
  307. }
  308. }
  309. }
  310. // remove the pid file if it exists
  311. remove(master_pid);
  312. // spawn
  313. if ((err= spawn(mysqld_file, &al, FALSE, NULL, master_out, master_err)) == 0)
  314. {
  315. sleep_until_file_exists(master_pid);
  316. if ((err = wait_for_server_start(bin_dir, user, password, master_port,
  317. mysql_tmp_dir)) == 0)
  318. {
  319. master_running = TRUE;
  320. }
  321. else
  322. {
  323. log_error("The master server went down early.");
  324. }
  325. }
  326. else
  327. {
  328. log_error("Unable to start master server.");
  329. }
  330. // free_args
  331. free_args(&al);
  332. }
  333. /******************************************************************************
  334. start_slave()
  335. Start the slave server.
  336. ******************************************************************************/
  337. void start_slave()
  338. {
  339. arg_list_t al;
  340. int err, i;
  341. char slave_out[PATH_MAX];
  342. char slave_err[PATH_MAX];
  343. char temp[PATH_MAX];
  344. // skip?
  345. if (skip_slave) return;
  346. // remove stale binary logs
  347. removef("%s/*-bin.*", slave_dir);
  348. // remove stale binary logs
  349. removef("%s/*.index", slave_dir);
  350. // remove master.info file
  351. removef("%s/master.info", slave_dir);
  352. // remove relay files
  353. removef("%s/var/log/*relay*", mysql_test_dir);
  354. // remove relay-log.info file
  355. removef("%s/relay-log.info", slave_dir);
  356. // init script
  357. if (slave_init_script[0] != NULL)
  358. {
  359. // run_init_script(slave_init_script);
  360. // TODO: use the scripts
  361. if (strindex(slave_init_script, "rpl000016-slave.sh") != NULL)
  362. {
  363. // create empty master.info file
  364. snprintf(temp, PATH_MAX, "%s/master.info", slave_dir);
  365. close(open(temp, O_WRONLY | O_CREAT,S_IRWXU|S_IRWXG|S_IRWXO));
  366. }
  367. else if (strindex(slave_init_script, "rpl000017-slave.sh") != NULL)
  368. {
  369. FILE *fp;
  370. // create a master.info file
  371. snprintf(temp, PATH_MAX, "%s/master.info", slave_dir);
  372. fp = fopen(temp, "wb+");
  373. fputs("master-bin.000001\n", fp);
  374. fputs("4\n", fp);
  375. fputs("127.0.0.1\n", fp);
  376. fputs("replicate\n", fp);
  377. fputs("aaaaaaaaaaaaaaab\n", fp);
  378. fputs("9306\n", fp);
  379. fputs("1\n", fp);
  380. fputs("0\n", fp);
  381. fclose(fp);
  382. }
  383. else if (strindex(slave_init_script, "rpl_rotate_logs-slave.sh") != NULL)
  384. {
  385. // create empty master.info file
  386. snprintf(temp, PATH_MAX, "%s/master.info", slave_dir);
  387. close(open(temp, O_WRONLY | O_CREAT,S_IRWXU|S_IRWXG|S_IRWXO));
  388. }
  389. }
  390. // redirection files
  391. snprintf(slave_out, PATH_MAX, "%s/var/run/slave%u.out",
  392. mysql_test_dir, restarts);
  393. snprintf(slave_err, PATH_MAX, "%s/var/run/slave%u.err",
  394. mysql_test_dir, restarts);
  395. // args
  396. init_args(&al);
  397. add_arg(&al, "%s", mysqld_file);
  398. add_arg(&al, "--no-defaults");
  399. add_arg(&al, "--log-bin=slave-bin");
  400. add_arg(&al, "--relay_log=slave-relay-bin");
  401. add_arg(&al, "--basedir=%s", base_dir);
  402. add_arg(&al, "--port=%u", slave_port);
  403. add_arg(&al, "--datadir=%s", slave_dir);
  404. add_arg(&al, "--pid-file=%s", slave_pid);
  405. add_arg(&al, "--character-sets-dir=%s", char_dir);
  406. add_arg(&al, "--core");
  407. add_arg(&al, "--tmpdir=%s", mysql_tmp_dir);
  408. add_arg(&al, "--language=%s", lang_dir);
  409. add_arg(&al, "--exit-info=256");
  410. add_arg(&al, "--log-slave-updates");
  411. add_arg(&al, "--init-rpl-role=slave");
  412. add_arg(&al, "--skip-innodb");
  413. add_arg(&al, "--skip-slave-start");
  414. add_arg(&al, "--slave-load-tmpdir=../../var/tmp");
  415. add_arg(&al, "--report-user=%s", user);
  416. add_arg(&al, "--report-host=127.0.0.1");
  417. add_arg(&al, "--report-port=%u", slave_port);
  418. add_arg(&al, "--master-retry-count=10");
  419. add_arg(&al, "-O");
  420. add_arg(&al, "slave_net_timeout=10");
  421. add_arg(&al, "--log-bin-trust-routine-creators");
  422. add_arg(&al, "--log-slow-queries");
  423. add_arg(&al, "--log-queries-not-using-indexes");
  424. #ifdef DEBUG //only for debug builds
  425. add_arg(&al, "--debug");
  426. #endif
  427. if (use_openssl)
  428. {
  429. add_arg(&al, "--ssl-ca=%s", ca_cert);
  430. add_arg(&al, "--ssl-cert=%s", server_cert);
  431. add_arg(&al, "--ssl-key=%s", server_key);
  432. }
  433. // slave master info
  434. if (slave_master_info[0] != NULL)
  435. {
  436. char *p;
  437. p = (char *)str_tok(slave_master_info, " \t");
  438. while(p)
  439. {
  440. add_arg(&al, "%s", p);
  441. p = (char *)str_tok(NULL, " \t");
  442. }
  443. }
  444. else
  445. {
  446. add_arg(&al, "--master-user=%s", user);
  447. add_arg(&al, "--master-password=%s", password);
  448. add_arg(&al, "--master-host=127.0.0.1");
  449. add_arg(&al, "--master-port=%u", master_port);
  450. add_arg(&al, "--master-connect-retry=1");
  451. add_arg(&al, "--server-id=2");
  452. add_arg(&al, "--rpl-recovery-rank=2");
  453. }
  454. // small server
  455. add_arg(&al, "-O");
  456. add_arg(&al, "key_buffer_size=1M");
  457. add_arg(&al, "-O");
  458. add_arg(&al, "sort_buffer=256K");
  459. add_arg(&al, "-O");
  460. add_arg(&al, "max_heap_table_size=1M");
  461. // opt args
  462. if (slave_opt[0] != NULL)
  463. {
  464. char *p;
  465. p = (char *)str_tok(slave_opt, " \t");
  466. while(p)
  467. {
  468. add_arg(&al, "%s", p);
  469. p = (char *)str_tok(NULL, " \t");
  470. }
  471. }
  472. // remove the pid file if it exists
  473. remove(slave_pid);
  474. // spawn
  475. if ((err = spawn(mysqld_file, &al, FALSE, NULL, slave_out, slave_err)) == 0)
  476. {
  477. sleep_until_file_exists(slave_pid);
  478. if ((err = wait_for_server_start(bin_dir, user, password, slave_port,
  479. mysql_tmp_dir)) == 0)
  480. {
  481. slave_running = TRUE;
  482. }
  483. else
  484. {
  485. log_error("The slave server went down early.");
  486. }
  487. }
  488. else
  489. {
  490. log_error("Unable to start slave server.");
  491. }
  492. // free args
  493. free_args(&al);
  494. }
  495. /******************************************************************************
  496. mysql_start()
  497. Start the mysql servers.
  498. ******************************************************************************/
  499. void mysql_start()
  500. {
  501. log_info("Starting the MySQL server(s): %u", ++restarts);
  502. start_master();
  503. start_slave();
  504. // activate the test screen
  505. ActivateScreen(getscreenhandle());
  506. }
  507. /******************************************************************************
  508. stop_slave()
  509. Stop the slave server.
  510. ******************************************************************************/
  511. void stop_slave()
  512. {
  513. int err;
  514. // running?
  515. if (!slave_running) return;
  516. // stop
  517. if ((err = stop_server(bin_dir, user, password, slave_port, slave_pid,
  518. mysql_tmp_dir)) == 0)
  519. {
  520. slave_running = FALSE;
  521. }
  522. else
  523. {
  524. log_error("Unable to stop slave server.");
  525. }
  526. }
  527. /******************************************************************************
  528. stop_master()
  529. Stop the master server.
  530. ******************************************************************************/
  531. void stop_master()
  532. {
  533. int err;
  534. // running?
  535. if (!master_running) return;
  536. if ((err = stop_server(bin_dir, user, password, master_port, master_pid,
  537. mysql_tmp_dir)) == 0)
  538. {
  539. master_running = FALSE;
  540. }
  541. else
  542. {
  543. log_error("Unable to stop master server.");
  544. }
  545. }
  546. /******************************************************************************
  547. mysql_stop()
  548. Stop the mysql servers.
  549. ******************************************************************************/
  550. void mysql_stop()
  551. {
  552. log_info("Stopping the MySQL server(s)...");
  553. stop_master();
  554. stop_slave();
  555. // activate the test screen
  556. ActivateScreen(getscreenhandle());
  557. }
  558. /******************************************************************************
  559. mysql_restart()
  560. Restart the mysql servers.
  561. ******************************************************************************/
  562. void mysql_restart()
  563. {
  564. log_info("Restarting the MySQL server(s): %u", ++restarts);
  565. mysql_stop();
  566. mysql_start();
  567. }
  568. /******************************************************************************
  569. read_option()
  570. Read the option file.
  571. ******************************************************************************/
  572. int read_option(char *opt_file, char *opt)
  573. {
  574. int fd, err;
  575. int result;
  576. char *p;
  577. char buf[PATH_MAX];
  578. // copy current option
  579. strncpy(buf, opt, PATH_MAX);
  580. // open options file
  581. fd = open(opt_file, O_RDONLY);
  582. err = read(fd, opt, PATH_MAX);
  583. close(fd);
  584. if (err > 0)
  585. {
  586. // terminate string
  587. if ((p = strchr(opt, '\n')) != NULL)
  588. {
  589. *p = NULL;
  590. // check for a '\r'
  591. if ((p = strchr(opt, '\r')) != NULL)
  592. {
  593. *p = NULL;
  594. }
  595. }
  596. else
  597. {
  598. opt[err] = NULL;
  599. }
  600. // check for $MYSQL_TEST_DIR
  601. if ((p = strstr(opt, "$MYSQL_TEST_DIR")) != NULL)
  602. {
  603. char temp[PATH_MAX];
  604. *p = NULL;
  605. strcpy(temp, p + strlen("$MYSQL_TEST_DIR"));
  606. strcat(opt, mysql_test_dir);
  607. strcat(opt, temp);
  608. }
  609. // Check for double backslash and replace it with single bakslash
  610. if ((p = strstr(opt, "\\\\")) != NULL)
  611. {
  612. /* bmove is guranteed to work byte by byte */
  613. bmove(p, p+1, strlen(p+1));
  614. }
  615. }
  616. else
  617. {
  618. // clear option
  619. *opt = NULL;
  620. }
  621. // compare current option with previous
  622. return strcmp(opt, buf);
  623. }
  624. /******************************************************************************
  625. run_test()
  626. Run the given test case.
  627. ******************************************************************************/
  628. void run_test(char *test)
  629. {
  630. char temp[PATH_MAX];
  631. char *rstr;
  632. double elapsed = 0;
  633. int skip = FALSE, ignore=FALSE;
  634. int restart = FALSE;
  635. int flag = FALSE;
  636. struct stat info;
  637. // skip tests in the skip list
  638. snprintf(temp, PATH_MAX, " %s ", test);
  639. skip = (strindex(skip_test, temp) != NULL);
  640. if (skip == FALSE)
  641. ignore = (strindex(ignore_test, temp) != NULL);
  642. if (ignore)
  643. {
  644. // show test
  645. log_msg("%-46s ", test);
  646. // ignore
  647. rstr = TEST_IGNORE;
  648. ++total_ignore;
  649. }
  650. else if (!skip) // skip test?
  651. {
  652. char test_file[PATH_MAX];
  653. char master_opt_file[PATH_MAX];
  654. char slave_opt_file[PATH_MAX];
  655. char slave_master_info_file[PATH_MAX];
  656. char result_file[PATH_MAX];
  657. char reject_file[PATH_MAX];
  658. char out_file[PATH_MAX];
  659. char err_file[PATH_MAX];
  660. int err;
  661. arg_list_t al;
  662. NXTime_t start, stop;
  663. // skip slave?
  664. flag = skip_slave;
  665. skip_slave = (strncmp(test, "rpl", 3) != 0);
  666. if (flag != skip_slave) restart = TRUE;
  667. // create files
  668. snprintf(master_opt_file, PATH_MAX, "%s/%s-master.opt", test_dir, test);
  669. snprintf(slave_opt_file, PATH_MAX, "%s/%s-slave.opt", test_dir, test);
  670. snprintf(slave_master_info_file, PATH_MAX, "%s/%s.slave-mi", test_dir, test);
  671. snprintf(reject_file, PATH_MAX, "%s/%s%s", result_dir, test, REJECT_SUFFIX);
  672. snprintf(out_file, PATH_MAX, "%s/%s%s", result_dir, test, OUT_SUFFIX);
  673. snprintf(err_file, PATH_MAX, "%s/%s%s", result_dir, test, ERR_SUFFIX);
  674. // netware specific files
  675. snprintf(test_file, PATH_MAX, "%s/%s%s", test_dir, test, NW_TEST_SUFFIX);
  676. if (stat(test_file, &info))
  677. {
  678. snprintf(test_file, PATH_MAX, "%s/%s%s", test_dir, test, TEST_SUFFIX);
  679. if (access(test_file,0))
  680. {
  681. printf("Invalid test name %s, %s file not found\n",test,test_file);
  682. return;
  683. }
  684. }
  685. snprintf(result_file, PATH_MAX, "%s/%s%s", result_dir, test, NW_RESULT_SUFFIX);
  686. if (stat(result_file, &info))
  687. {
  688. snprintf(result_file, PATH_MAX, "%s/%s%s", result_dir, test, RESULT_SUFFIX);
  689. }
  690. // init scripts
  691. snprintf(master_init_script, PATH_MAX, "%s/%s-master.sh", test_dir, test);
  692. if (stat(master_init_script, &info))
  693. master_init_script[0] = NULL;
  694. else
  695. restart = TRUE;
  696. snprintf(slave_init_script, PATH_MAX, "%s/%s-slave.sh", test_dir, test);
  697. if (stat(slave_init_script, &info))
  698. slave_init_script[0] = NULL;
  699. else
  700. restart = TRUE;
  701. // read options
  702. if (read_option(master_opt_file, master_opt)) restart = TRUE;
  703. if (read_option(slave_opt_file, slave_opt)) restart = TRUE;
  704. if (read_option(slave_master_info_file, slave_master_info)) restart = TRUE;
  705. // cleanup previous run
  706. remove(reject_file);
  707. remove(out_file);
  708. remove(err_file);
  709. // start or restart?
  710. if (!master_running) mysql_start();
  711. else if (restart) mysql_restart();
  712. // let the system stabalize
  713. sleep(1);
  714. // show test
  715. log_msg("%-46s ", test);
  716. // args
  717. init_args(&al);
  718. add_arg(&al, "%s", mysqltest_file);
  719. add_arg(&al, "--no-defaults");
  720. add_arg(&al, "--port=%u", master_port);
  721. add_arg(&al, "--database=%s", db);
  722. add_arg(&al, "--user=%s", user);
  723. add_arg(&al, "--password=%s", password);
  724. add_arg(&al, "--silent");
  725. add_arg(&al, "--basedir=%s/", mysql_test_dir);
  726. add_arg(&al, "--host=127.0.0.1");
  727. add_arg(&al, "-v");
  728. add_arg(&al, "-R");
  729. add_arg(&al, "%s", result_file);
  730. if (use_openssl)
  731. {
  732. add_arg(&al, "--ssl-ca=%s", ca_cert);
  733. add_arg(&al, "--ssl-cert=%s", client_cert);
  734. add_arg(&al, "--ssl-key=%s", client_key);
  735. }
  736. // start timer
  737. NXGetTime(NX_SINCE_BOOT, NX_USECONDS, &start);
  738. // spawn
  739. err = spawn(mysqltest_file, &al, TRUE, test_file, out_file, err_file);
  740. // stop timer
  741. NXGetTime(NX_SINCE_BOOT, NX_USECONDS, &stop);
  742. // calculate
  743. elapsed = ((double)(stop - start)) / NX_USECONDS;
  744. total_time += elapsed;
  745. // free args
  746. free_args(&al);
  747. if (err == 0)
  748. {
  749. // pass
  750. rstr = TEST_PASS;
  751. ++total_pass;
  752. // increment total
  753. ++total_test;
  754. }
  755. else if (err == 62)
  756. {
  757. // skip
  758. rstr = TEST_SKIP;
  759. ++total_skip;
  760. }
  761. else if (err == 1)
  762. {
  763. // fail
  764. rstr = TEST_FAIL;
  765. ++total_fail;
  766. // increment total
  767. ++total_test;
  768. }
  769. else
  770. {
  771. rstr = TEST_BAD;
  772. }
  773. }
  774. else // early skips
  775. {
  776. // show test
  777. log_msg("%-46s ", test);
  778. // skip
  779. rstr = TEST_SKIP;
  780. ++total_skip;
  781. }
  782. // result
  783. log_msg("%10.06f %-14s\n", elapsed, rstr);
  784. }
  785. /******************************************************************************
  786. vlog()
  787. Log the message.
  788. ******************************************************************************/
  789. void vlog(char *format, va_list ap)
  790. {
  791. vfprintf(stdout, format, ap);
  792. fflush(stdout);
  793. if (log_fd)
  794. {
  795. vfprintf(log_fd, format, ap);
  796. fflush(log_fd);
  797. }
  798. }
  799. /******************************************************************************
  800. log()
  801. Log the message.
  802. ******************************************************************************/
  803. void log_msg(char *format, ...)
  804. {
  805. va_list ap;
  806. va_start(ap, format);
  807. vlog(format, ap);
  808. va_end(ap);
  809. }
  810. /******************************************************************************
  811. log_info()
  812. Log the given information.
  813. ******************************************************************************/
  814. void log_info(char *format, ...)
  815. {
  816. va_list ap;
  817. va_start(ap, format);
  818. log_msg("-- INFO : ");
  819. vlog(format, ap);
  820. log_msg("\n");
  821. va_end(ap);
  822. }
  823. /******************************************************************************
  824. log_error()
  825. Log the given error.
  826. ******************************************************************************/
  827. void log_error(char *format, ...)
  828. {
  829. va_list ap;
  830. va_start(ap, format);
  831. log_msg("-- ERROR: ");
  832. vlog(format, ap);
  833. log_msg("\n");
  834. va_end(ap);
  835. }
  836. /******************************************************************************
  837. log_errno()
  838. Log the given error and errno.
  839. ******************************************************************************/
  840. void log_errno(char *format, ...)
  841. {
  842. va_list ap;
  843. va_start(ap, format);
  844. log_msg("-- ERROR: (%003u) ", errno);
  845. vlog(format, ap);
  846. log_msg("\n");
  847. va_end(ap);
  848. }
  849. /******************************************************************************
  850. die()
  851. Exit the application.
  852. ******************************************************************************/
  853. void die(char *msg)
  854. {
  855. log_error(msg);
  856. pressanykey();
  857. exit(-1);
  858. }
  859. /******************************************************************************
  860. setup()
  861. Setup the mysql test enviornment.
  862. ******************************************************************************/
  863. void setup(char *file)
  864. {
  865. char temp[PATH_MAX];
  866. char file_path[PATH_MAX*2];
  867. char *p;
  868. // set the timezone for the timestamp test
  869. setenv("TZ", "GMT-3", TRUE);
  870. // find base dir
  871. strcpy(temp, strlwr(file));
  872. while((p = strchr(temp, '\\')) != NULL) *p = '/';
  873. if ((p = strindex(temp, "/mysql-test/")) != NULL)
  874. {
  875. *p = NULL;
  876. strcpy(base_dir, temp);
  877. }
  878. // setup paths
  879. snprintf(bin_dir, PATH_MAX, "%s/bin", base_dir);
  880. snprintf(mysql_test_dir, PATH_MAX, "%s/mysql-test", base_dir);
  881. snprintf(test_dir, PATH_MAX, "%s/t", mysql_test_dir);
  882. snprintf(mysql_tmp_dir, PATH_MAX, "%s/var/tmp", mysql_test_dir);
  883. snprintf(result_dir, PATH_MAX, "%s/r", mysql_test_dir);
  884. snprintf(master_dir, PATH_MAX, "%s/var/master-data", mysql_test_dir);
  885. snprintf(slave_dir, PATH_MAX, "%s/var/slave-data", mysql_test_dir);
  886. snprintf(lang_dir, PATH_MAX, "%s/share/english", base_dir);
  887. snprintf(char_dir, PATH_MAX, "%s/share/charsets", base_dir);
  888. #ifdef HAVE_OPENSSL
  889. use_openssl = TRUE;
  890. #endif // HAVE_OPENSSL
  891. // OpenSSL paths
  892. snprintf(ca_cert, PATH_MAX, "%s/SSL/cacert.pem", base_dir);
  893. snprintf(server_cert, PATH_MAX, "%s/SSL/server-cert.pem", base_dir);
  894. snprintf(server_key, PATH_MAX, "%s/SSL/server-key.pem", base_dir);
  895. snprintf(client_cert, PATH_MAX, "%s/SSL/client-cert.pem", base_dir);
  896. snprintf(client_key, PATH_MAX, "%s/SSL/client-key.pem", base_dir);
  897. // setup files
  898. snprintf(mysqld_file, PATH_MAX, "%s/mysqld", bin_dir);
  899. snprintf(mysqltest_file, PATH_MAX, "%s/mysqltest", bin_dir);
  900. snprintf(mysqladmin_file, PATH_MAX, "%s/mysqladmin", bin_dir);
  901. snprintf(master_pid, PATH_MAX, "%s/var/run/master.pid", mysql_test_dir);
  902. snprintf(slave_pid, PATH_MAX, "%s/var/run/slave.pid", mysql_test_dir);
  903. // create log file
  904. snprintf(temp, PATH_MAX, "%s/mysql-test-run.log", mysql_test_dir);
  905. if ((log_fd = fopen(temp, "w+")) == NULL)
  906. {
  907. log_errno("Unable to create log file.");
  908. }
  909. // prepare skip test list
  910. while((p = strchr(skip_test, ',')) != NULL) *p = ' ';
  911. strcpy(temp, strlwr(skip_test));
  912. snprintf(skip_test, PATH_MAX, " %s ", temp);
  913. // environment
  914. setenv("MYSQL_TEST_DIR", mysql_test_dir, 1);
  915. snprintf(file_path, PATH_MAX*2, "%s/mysqldump --no-defaults -u root --port=%u", bin_dir, master_port);
  916. setenv("MYSQL_DUMP", file_path, 1);
  917. snprintf(file_path, PATH_MAX*2, "%s/mysqlbinlog --no-defaults --local-load=%s", bin_dir, mysql_tmp_dir);
  918. setenv("MYSQL_BINLOG", file_path, 1);
  919. setenv("MASTER_MYPORT", "9306", 1);
  920. setenv("SLAVE_MYPORT", "9307", 1);
  921. setenv("MYSQL_TCP_PORT", "3306", 1);
  922. snprintf(file_path, PATH_MAX*2, "%s/mysql_client_test --no-defaults --testcase--user=root --port=%u ", bin_dir, master_port);
  923. setenv("MYSQL_CLIENT_TEST",file_path,1);
  924. snprintf(file_path, PATH_MAX*2, "%s/mysql --no-defaults --user=root --port=%u ", bin_dir, master_port);
  925. setenv("MYSQL",file_path,1);
  926. snprintf(file_path, PATH_MAX*2, "%s/mysqlshow --no-defaults --user=root --port=%u", bin_dir, master_port);
  927. setenv("MYSQL_SHOW",file_path,1);
  928. snprintf(file_path, PATH_MAX*2, "%s/mysqlcheck --no-defaults -uroot --port=%u", bin_dir, master_port);
  929. setenv("MYSQL_CHECK",file_path,1);
  930. }
  931. /******************************************************************************
  932. main()
  933. ******************************************************************************/
  934. int main(int argc, char **argv)
  935. {
  936. int is_ignore_list= 0, autoclose= 0, individual_execution= 0;
  937. // setup
  938. setup(argv[0]);
  939. /* The --ignore option is comma saperated list of test cases to skip and
  940. should be very first command line option to the test suite.
  941. The usage is now:
  942. mysql_test_run --ignore=test1,test2 test3 test4
  943. where test1 and test2 are test cases to ignore
  944. and test3 and test4 are test cases to run.
  945. */
  946. if (argc >= 2 && !strnicmp(argv[1], "--ignore=", sizeof("--ignore=")-1))
  947. {
  948. char *temp, *token;
  949. temp= strdup(strchr(argv[1],'=') + 1);
  950. for (token=str_tok(temp, ","); token != NULL; token=str_tok(NULL, ","))
  951. {
  952. if (strlen(ignore_test) + strlen(token) + 2 <= PATH_MAX-1)
  953. sprintf(ignore_test+strlen(ignore_test), " %s ", token);
  954. else
  955. {
  956. free(temp);
  957. die("ignore list too long.");
  958. }
  959. }
  960. free(temp);
  961. is_ignore_list = 1;
  962. }
  963. // header
  964. log_msg("MySQL Server %s, for %s (%s)\n\n", VERSION, SYSTEM_TYPE, MACHINE_TYPE);
  965. log_msg("Initializing Tests...\n");
  966. // install test databases
  967. mysql_install_db();
  968. log_msg("Starting Tests...\n");
  969. log_msg("\n");
  970. log_msg(HEADER);
  971. log_msg(DASH);
  972. if ( argc > 1 + is_ignore_list )
  973. {
  974. int i;
  975. for (i = 1 + is_ignore_list; i < argc; i++)
  976. {
  977. if (!strncasecmp(argv[i], "--autoclose", 11))
  978. {
  979. autoclose= 1;
  980. continue;
  981. }
  982. // single test
  983. single_test= TRUE;
  984. individual_execution= 1;
  985. // run given test
  986. run_test(argv[i]);
  987. }
  988. }
  989. if (!individual_execution)
  990. {
  991. // run all tests
  992. DIR *dir = opendir(test_dir);
  993. DIR *entry;
  994. char test[NAME_MAX];
  995. char *p;
  996. // single test
  997. single_test = FALSE;
  998. if (dir == NULL)
  999. {
  1000. die("Unable to open tests directory.");
  1001. }
  1002. while((entry = readdir(dir)) != NULL)
  1003. {
  1004. if (!S_ISDIR(entry->d_type))
  1005. {
  1006. strcpy(test, strlwr(entry->d_name));
  1007. // find the test suffix
  1008. if ((p = strindex(test, TEST_SUFFIX)) != NULL)
  1009. {
  1010. // null terminate at the suffix
  1011. *p = '\0';
  1012. // run test
  1013. run_test(test);
  1014. }
  1015. }
  1016. }
  1017. closedir(dir);
  1018. }
  1019. // stop server
  1020. mysql_stop();
  1021. log_msg(DASH);
  1022. log_msg("\n");
  1023. log_msg("Ending Tests...\n");
  1024. // report stats
  1025. report_stats();
  1026. // close log
  1027. if (log_fd) fclose(log_fd);
  1028. // keep results up
  1029. if (!autoclose)
  1030. pressanykey();
  1031. return 0;
  1032. }
  1033. /*
  1034. Synopsis:
  1035. This function breaks the string into a sequence of tokens. The difference
  1036. between this function and strtok is that it respects the quoted string i.e.
  1037. it skips any delimiter character within the quoted part of the string.
  1038. It return tokens by eliminating quote character. It modifies the input string
  1039. passed. It will work with whitespace delimeter but may not work properly with
  1040. other delimeter. If the delimeter will contain any quote character, then
  1041. function will not tokenize and will return null string.
  1042. e.g. if input string is
  1043. --init-slave="set global max_connections=500" --skip-external-locking
  1044. then the output will two string i.e.
  1045. --init-slave=set global max_connections=500
  1046. --skip-external-locking
  1047. Arguments:
  1048. string: input string
  1049. delim: set of delimiter character
  1050. Output:
  1051. return the null terminated token of NULL.
  1052. */
  1053. char *str_tok(char *string, const char *delim)
  1054. {
  1055. char *token; /* current token received from strtok */
  1056. char *qt_token; /* token delimeted by the matching pair of quote */
  1057. /*
  1058. if there are any quote chars found in the token then this variable
  1059. will hold the concatenated string to return to the caller
  1060. */
  1061. char *ptr_token=NULL;
  1062. /* pointer to the quote character in the token from strtok */
  1063. char *ptr_quote=NULL;
  1064. /* See if the delimeter contains any quote character */
  1065. if (strchr(delim,'\'') || strchr(delim,'\"'))
  1066. return NULL;
  1067. /* repeate till we are getting some token from strtok */
  1068. while ((token = (char*)strtok(string, delim) ) != NULL)
  1069. {
  1070. /*
  1071. make the input string NULL so that next time onward strtok can
  1072. be called with NULL input string.
  1073. */
  1074. string = NULL;
  1075. /* check if the current token contain double quote character*/
  1076. if ((ptr_quote = (char*)strchr(token,'\"')) != NULL)
  1077. {
  1078. /*
  1079. get the matching the matching double quote in the remaining
  1080. input string
  1081. */
  1082. qt_token = (char*)strtok(NULL,"\"");
  1083. }
  1084. /* check if the current token contain single quote character*/
  1085. else if ((ptr_quote = (char*)strchr(token,'\'')) != NULL)
  1086. {
  1087. /*
  1088. get the matching the matching single quote in the remaining
  1089. input string
  1090. */
  1091. qt_token = (char*)strtok(NULL,"\'");
  1092. }
  1093. /*
  1094. if the current token does not contains any quote character then
  1095. return to the caller.
  1096. */
  1097. if (ptr_quote == NULL)
  1098. {
  1099. /*
  1100. if there is any earlier token i.e. ptr_token then append the
  1101. current token in it and return it else return the current
  1102. token directly
  1103. */
  1104. return ptr_token ? strcat(ptr_token,token) : token;
  1105. }
  1106. /*
  1107. remove the quote character i.e. make NULL so that the token will
  1108. be devided in two part and later both part can be concatenated
  1109. and hence quote will be removed
  1110. */
  1111. *ptr_quote= 0;
  1112. /* check if ptr_token has been initialized or not */
  1113. if (ptr_token == NULL)
  1114. {
  1115. /* initialize the ptr_token with current token */
  1116. ptr_token= token;
  1117. /* copy entire string between matching pair of quote*/
  1118. sprintf(ptr_token+strlen(ptr_token),"%s %s", ptr_quote+1, qt_token);
  1119. }
  1120. else
  1121. {
  1122. /*
  1123. copy the current token and entire string between matching pair
  1124. of quote
  1125. */
  1126. sprintf(ptr_token+strlen(ptr_token),"%s%s %s", token, ptr_quote+1,
  1127. qt_token );
  1128. }
  1129. }
  1130. /* return the concatenated token */
  1131. return ptr_token;
  1132. }