diff options
42 files changed, 172 insertions, 639 deletions
diff --git a/.bzr-mysql/default.conf b/.bzr-mysql/default.conf index 7fcaaa9aa09..cb377e16ce4 100644 --- a/.bzr-mysql/default.conf +++ b/.bzr-mysql/default.conf @@ -1,4 +1,4 @@ [MYSQL] post_commit_to = "commits@lists.mysql.com" post_push_to = "commits@lists.mysql.com" -tree_name = "mysql-next-mr" +tree_name = "mysql-next-mr-bugfixing" diff --git a/client/client_priv.h b/client/client_priv.h index 9cd151f6160..27ba3c973c5 100644 --- a/client/client_priv.h +++ b/client/client_priv.h @@ -34,7 +34,7 @@ enum options_client { OPT_CHARSETS_DIR=256, OPT_DEFAULT_CHARSET, - OPT_PAGER, OPT_NOPAGER, OPT_TEE, OPT_NOTEE, + OPT_PAGER, OPT_TEE, OPT_LOW_PRIORITY, OPT_AUTO_REPAIR, OPT_COMPRESS, OPT_DROP, OPT_LOCKS, OPT_KEYWORDS, OPT_DELAYED, OPT_OPTIMIZE, OPT_FTB, OPT_LTB, OPT_ENC, OPT_O_ENC, OPT_ESC, OPT_TABLES, @@ -48,8 +48,8 @@ enum options_client OPT_PROMPT, OPT_IGN_LINES,OPT_TRANSACTION,OPT_MYSQL_PROTOCOL, OPT_SHARED_MEMORY_BASE_NAME, OPT_FRM, OPT_SKIP_OPTIMIZATION, OPT_COMPATIBLE, OPT_RECONNECT, OPT_DELIMITER, OPT_SECURE_AUTH, - OPT_OPEN_FILES_LIMIT, OPT_SET_CHARSET, OPT_CREATE_OPTIONS, OPT_SERVER_ARG, - OPT_START_POSITION, OPT_STOP_POSITION, OPT_START_DATETIME, OPT_STOP_DATETIME, + OPT_OPEN_FILES_LIMIT, OPT_SET_CHARSET, OPT_SERVER_ARG, + OPT_STOP_POSITION, OPT_START_DATETIME, OPT_STOP_DATETIME, OPT_SIGINT_IGNORE, OPT_HEXBLOB, OPT_ORDER_BY_PRIMARY, OPT_COUNT, #ifdef HAVE_NDBCLUSTER_DB OPT_NDBCLUSTER, OPT_NDB_CONNECTSTRING, diff --git a/client/mysql.cc b/client/mysql.cc index 1a03034a30c..179392d5965 100644 --- a/client/mysql.cc +++ b/client/mysql.cc @@ -1373,7 +1373,7 @@ static struct my_option my_long_options[] = (uchar**) &opt_rehash, (uchar**) &opt_rehash, 0, GET_BOOL, NO_ARG, 1, 0, 0, 0, 0, 0}, {"no-auto-rehash", 'A', - "No automatic rehashing. One has to use 'rehash' to get table and field completion. This gives a quicker start of mysql and disables rehashing on reconnect. WARNING: options deprecated; use --disable-auto-rehash instead.", + "No automatic rehashing. One has to use 'rehash' to get table and field completion. This gives a quicker start of mysql and disables rehashing on reconnect.", 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}, {"auto-vertical-output", OPT_AUTO_VERTICAL_OUTPUT, "Automatically switch to vertical output mode if the result is wider than the terminal width.", @@ -1425,9 +1425,6 @@ static struct my_option my_long_options[] = "Enable named commands. Named commands mean this program's internal commands; see mysql> help . When enabled, the named commands can be used from any line of the query, otherwise only from the first line, before an enter. Disable with --disable-named-commands. This option is disabled by default.", (uchar**) &named_cmds, (uchar**) &named_cmds, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0}, - {"no-named-commands", 'g', - "Named commands are disabled. Use \\* form only, or use named commands only in the beginning of a line ending with a semicolon (;) Since version 10.9 the client now starts with this option ENABLED by default! Disable with '-G'. Long format commands still work from the first line. WARNING: option deprecated; use --disable-named-commands instead.", - 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}, {"ignore-spaces", 'i', "Ignore space after function names.", (uchar**) &ignore_spaces, (uchar**) &ignore_spaces, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0}, @@ -1449,7 +1446,7 @@ static struct my_option my_long_options[] = {"line-numbers", OPT_LINE_NUMBERS, "Write line numbers for errors.", (uchar**) &line_numbers, (uchar**) &line_numbers, 0, GET_BOOL, NO_ARG, 1, 0, 0, 0, 0, 0}, - {"skip-line-numbers", 'L', "Don't write line number for errors. WARNING: -L is deprecated, use long version of this option instead.", 0, 0, 0, GET_NO_ARG, + {"skip-line-numbers", 'L', "Don't write line number for errors.", 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}, {"unbuffered", 'n', "Flush buffer after each query.", (uchar**) &unbuffered, (uchar**) &unbuffered, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0}, @@ -1457,11 +1454,8 @@ static struct my_option my_long_options[] = (uchar**) &column_names, (uchar**) &column_names, 0, GET_BOOL, NO_ARG, 1, 0, 0, 0, 0, 0}, {"skip-column-names", 'N', - "Don't write column names in results. WARNING: -N is deprecated, use long version of this options instead.", + "Don't write column names in results.", 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}, - {"set-variable", 'O', - "Change the value of a variable. Please note that this option is deprecated; you can set variables directly with --variable-name=value.", - 0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, {"sigint-ignore", OPT_SIGINT_IGNORE, "Ignore SIGINT (CTRL-C)", (uchar**) &opt_sigint_ignore, (uchar**) &opt_sigint_ignore, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0}, @@ -1472,9 +1466,6 @@ static struct my_option my_long_options[] = {"pager", OPT_PAGER, "Pager to use to display results. If you don't supply an option the default pager is taken from your ENV variable PAGER. Valid pagers are less, more, cat [> filename], etc. See interactive help (\\h) also. This option does not work in batch mode. Disable with --disable-pager. This option is disabled by default.", 0, 0, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0}, - {"no-pager", OPT_NOPAGER, - "Disable pager and print to stdout. See interactive help (\\h) also. WARNING: option deprecated; use --disable-pager instead.", - 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}, #endif {"password", 'p', "Password to use when connecting to server. If password is not given it's asked from the tty.", @@ -1520,8 +1511,6 @@ static struct my_option my_long_options[] = {"tee", OPT_TEE, "Append everything into outfile. See interactive help (\\h) also. Does not work in batch mode. Disable with --disable-tee. This option is disabled by default.", 0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, - {"no-tee", OPT_NOTEE, "Disable outfile. See interactive help (\\h) also. WARNING: option deprecated; use --disable-tee instead", 0, 0, 0, GET_NO_ARG, - NO_ARG, 0, 0, 0, 0, 0, 0}, #ifndef DONT_ALLOW_USER_CHANGE {"user", 'u', "User for login if not current user.", (uchar**) ¤t_user, (uchar**) ¤t_user, 0, GET_STR_ALLOC, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, @@ -1660,11 +1649,6 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)), else init_tee(argument); break; - case OPT_NOTEE: - printf("WARNING: option deprecated; use --disable-tee instead.\n"); - if (opt_outfile) - end_tee(); - break; case OPT_PAGER: if (argument == disabled_my_option) opt_nopager= 1; @@ -1683,10 +1667,6 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)), opt_nopager= 1; } break; - case OPT_NOPAGER: - printf("WARNING: option deprecated; use --disable-pager instead.\n"); - opt_nopager= 1; - break; case OPT_MYSQL_PROTOCOL: #ifndef EMBEDDED_LIBRARY opt_protocol= find_type_or_exit(argument, &sql_protocol_typelib, diff --git a/client/mysqlbinlog.cc b/client/mysqlbinlog.cc index dae6b36eeb2..79c232f86d0 100644 --- a/client/mysqlbinlog.cc +++ b/client/mysqlbinlog.cc @@ -1077,11 +1077,6 @@ static struct my_option my_long_options[] = "built-in default (" STRINGIFY_ARG(MYSQL_PORT) ").", (uchar**) &port, (uchar**) &port, 0, GET_INT, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, - {"position", 'j', "Deprecated. Use --start-position instead.", - (uchar**) &start_position, (uchar**) &start_position, 0, GET_ULL, - REQUIRED_ARG, BIN_LOG_HEADER_SIZE, BIN_LOG_HEADER_SIZE, - /* COM_BINLOG_DUMP accepts only 4 bytes for the position */ - (ulonglong)(~(uint32)0), 0, 0, 0}, {"protocol", OPT_MYSQL_PROTOCOL, "The protocol of connection (tcp,socket,pipe,memory).", 0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, @@ -1120,7 +1115,7 @@ static struct my_option my_long_options[] = "(you should probably use quotes for your shell to set it properly).", (uchar**) &start_datetime_str, (uchar**) &start_datetime_str, 0, GET_STR_ALLOC, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, - {"start-position", OPT_START_POSITION, + {"start-position", 'j', "Start reading the binlog at position N. Applies to the first binlog " "passed on the command line.", (uchar**) &start_position, (uchar**) &start_position, 0, GET_ULL, diff --git a/client/mysqldump.c b/client/mysqldump.c index 3f4ce1ab0af..f94309205c6 100644 --- a/client/mysqldump.c +++ b/client/mysqldump.c @@ -184,9 +184,6 @@ HASH ignore_table; static struct my_option my_long_options[] = { - {"all", 'a', "Deprecated. Use --create-options instead.", - (uchar**) &create_options, (uchar**) &create_options, 0, GET_BOOL, NO_ARG, 1, - 0, 0, 0, 0, 0}, {"all-databases", 'A', "Dump all the databases. This will be same as --databases with all databases selected.", (uchar**) &opt_alldbs, (uchar**) &opt_alldbs, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, @@ -239,7 +236,7 @@ static struct my_option my_long_options[] = {"compress", 'C', "Use compression in server/client protocol.", (uchar**) &opt_compress, (uchar**) &opt_compress, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0}, - {"create-options", OPT_CREATE_OPTIONS, + {"create-options", 'a', "Include all MySQL specific create options.", (uchar**) &create_options, (uchar**) &create_options, 0, GET_BOOL, NO_ARG, 1, 0, 0, 0, 0, 0}, @@ -304,9 +301,6 @@ static struct my_option my_long_options[] = (uchar**) &opt_enclosed, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0 ,0, 0}, {"fields-escaped-by", OPT_ESC, "Fields in the i.file are escaped by ...", (uchar**) &escaped, (uchar**) &escaped, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, - {"first-slave", 'x', "Deprecated, renamed to --lock-all-tables.", - (uchar**) &opt_lock_all_tables, (uchar**) &opt_lock_all_tables, 0, GET_BOOL, NO_ARG, - 0, 0, 0, 0, 0, 0}, {"flush-logs", 'F', "Flush logs file in server before starting dump. " "Note that if you dump many databases at once (using the option " "--databases= or --all-databases), the logs will be flushed for " @@ -394,8 +388,7 @@ static struct my_option my_long_options[] = NO_ARG, 0, 0, 0, 0, 0, 0}, {"no-data", 'd', "No row information.", (uchar**) &opt_no_data, (uchar**) &opt_no_data, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0}, - {"no-set-names", 'N', - "Deprecated. Use --skip-set-charset instead.", + {"no-set-names", 'N', "Same as--skip-set-charset.", 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}, {"opt", OPT_OPTIMIZE, "Same as --add-drop-table, --add-locks, --create-options, --quick, --extended-insert, --lock-tables, --set-charset, and --disable-keys. Enabled by default, disable with --skip-opt.", @@ -433,9 +426,6 @@ static struct my_option my_long_options[] = "Add 'SET NAMES default_character_set' to the output.", (uchar**) &opt_set_charset, (uchar**) &opt_set_charset, 0, GET_BOOL, NO_ARG, 1, 0, 0, 0, 0, 0}, - {"set-variable", 'O', - "Change the value of a variable. Please note that this option is deprecated; you can set variables directly with --variable-name=value.", - 0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, #ifdef HAVE_SMEM {"shared-memory-base-name", OPT_SHARED_MEMORY_BASE_NAME, "Base name of shared memory.", (uchar**) &shared_memory_base_name, (uchar**) &shared_memory_base_name, diff --git a/configure.in b/configure.in index 9361052e2d9..9776fc12fe6 100644 --- a/configure.in +++ b/configure.in @@ -839,7 +839,7 @@ AC_HEADER_DIRENT AC_HEADER_STDC AC_HEADER_SYS_WAIT AC_CHECK_HEADERS(fcntl.h fenv.h float.h floatingpoint.h ieeefp.h limits.h \ - memory.h pwd.h select.h \ + memory.h pwd.h select.h poll.h \ stdlib.h stddef.h \ strings.h string.h synch.h sys/mman.h sys/socket.h netinet/in.h arpa/inet.h \ sys/timeb.h sys/types.h sys/un.h sys/vadvise.h sys/wait.h term.h \ diff --git a/mysql-test/collections/default.experimental b/mysql-test/collections/default.experimental index 8ff56658853..52291c2b8f8 100644 --- a/mysql-test/collections/default.experimental +++ b/mysql-test/collections/default.experimental @@ -23,7 +23,6 @@ rpl.rpl_innodb_bug30888* @solaris # Bug#47646 2009-09-25 alik rpl.rpl_inn rpl.rpl_killed_ddl @windows # Bug#47638 2010-01-20 alik The rpl_killed_ddl test fails on Windows rpl.rpl_plugin_load* @solaris # Bug#47146 rpl.rpl_row_sp011* @solaris # Bug#47791 2010-01-20 alik Several test cases fail on Solaris with error Thread stack overrun -rpl.rpl_timezone* # Bug#47017 2009-10-27 alik rpl_timezone fails on PB-2 with mismatch error sys_vars.max_sp_recursion_depth_func @solaris # Bug#47791 2010-01-20 alik Several test cases fail on Solaris with error Thread stack overrun diff --git a/mysql-test/include/cleanup_fake_relay_log.inc b/mysql-test/include/cleanup_fake_relay_log.inc index 43aa46cb657..269cd04ca34 100644 --- a/mysql-test/include/cleanup_fake_relay_log.inc +++ b/mysql-test/include/cleanup_fake_relay_log.inc @@ -8,9 +8,10 @@ --echo Cleaning up after setup_fake_relay_log.inc -# Remove files. -remove_file $_fake_relay_log; -remove_file $_fake_relay_index; --disable_query_log +--disable_warnings +STOP SLAVE SQL_THREAD; +RESET SLAVE; eval SET @@global.relay_log_purge= $_fake_relay_log_purge; +--enable_warnings --enable_query_log diff --git a/mysql-test/include/default_mysqld.cnf b/mysql-test/include/default_mysqld.cnf index c54ac93133b..46fdda7df84 100644 --- a/mysql-test/include/default_mysqld.cnf +++ b/mysql-test/include/default_mysqld.cnf @@ -17,7 +17,7 @@ [mysqld] open-files-limit= 1024 local-infile -default-character-set= latin1 +character-set-server= latin1 # Increase default connect_timeout to avoid intermittent # disconnects when test servers are put under load see BUG#28359 diff --git a/mysql-test/include/setup_fake_relay_log.inc b/mysql-test/include/setup_fake_relay_log.inc index 9510a557159..86a5da328af 100644 --- a/mysql-test/include/setup_fake_relay_log.inc +++ b/mysql-test/include/setup_fake_relay_log.inc @@ -66,8 +66,16 @@ let $_fake_relay_index= $MYSQLD_DATADIR/$_fake_filename.index; # CHANGE MASTER modifies it (see the manual for CHANGE MASTER). let $_fake_relay_log_purge= `SELECT @@global.relay_log_purge`; +# Reset slave and remove relay log and index files if they exist +RESET SLAVE; +error 0,1; +remove_file $MYSQLD_DATADIR/$_fake_filename.000001; +error 0,1; +remove_file $MYSQLD_DATADIR/$_fake_filename.index; + # Create relay log file. copy_file $fake_relay_log $_fake_relay_log; + # Create relay log index. # After patch for BUG#12190, the filename used in CHANGE MASTER @@ -77,28 +85,12 @@ copy_file $fake_relay_log $_fake_relay_log; if (`select convert(@@version_compile_os using latin1) IN ("Win32","Win64","Windows") = 0`) { - -- let $_index_entry= ./$_fake_filename-fake.000001 + eval select './$_fake_filename-fake.000001\n' into dumpfile '$_fake_relay_index'; } if (`select convert(@@version_compile_os using latin1) IN ("Win32","Win64","Windows") != 0`) { - -- let $_index_entry= .\\\\$_fake_filename-fake.000001 -} - -if (`SELECT LENGTH(@@secure_file_priv) > 0`) -{ - -- let $_file_priv_dir= `SELECT @@secure_file_priv`; - -- let $_suffix= `SELECT UUID()` - -- let $_tmp_file= $_file_priv_dir/fake-index.$_suffix - - -- eval select '$_index_entry\n' into dumpfile '$_tmp_file' - -- copy_file $_tmp_file $_fake_relay_index - -- remove_file $_tmp_file -} - -if (`SELECT LENGTH(@@secure_file_priv) = 0`) -{ - -- eval select '$_index_entry\n' into dumpfile '$_fake_relay_index' + eval select '.\\\\$_fake_filename-fake.000001\n' into dumpfile '$_fake_relay_index'; } # Setup replication from existing relay log. diff --git a/mysql-test/lib/v1/mysql-test-run.pl b/mysql-test/lib/v1/mysql-test-run.pl index 3ea815cb45a..33f480430b9 100755 --- a/mysql-test/lib/v1/mysql-test-run.pl +++ b/mysql-test/lib/v1/mysql-test-run.pl @@ -805,7 +805,7 @@ sub command_line_setup () { "$glob_basedir/sql/share", "$glob_basedir/share"); - $path_language= mtr_path_exists("$path_share/english"); + $path_language= mtr_path_exists("$path_share"); $path_charsetsdir= mtr_path_exists("$path_share/charsets"); @@ -1468,7 +1468,7 @@ sub collect_mysqld_features () { # # --datadir must exist, mysqld will chdir into it # - my $list= `$exe_mysqld --no-defaults --datadir=$tmpdir --language=$path_language --skip-grant-tables --verbose --help`; + my $list= `$exe_mysqld --no-defaults --datadir=$tmpdir --lc-messages-dir=$path_language --skip-grant-tables --verbose --help`; foreach my $line (split('\n', $list)) { @@ -1812,7 +1812,7 @@ sub mysql_client_test_arguments() if ( $glob_use_embedded_server ) { mtr_add_arg($args, - " -A --language=$path_language"); + " -A --lc-messages-dir=$path_language"); mtr_add_arg($args, " -A --datadir=$slave->[0]->{'path_myddir'}"); mtr_add_arg($args, @@ -3163,7 +3163,7 @@ sub install_db ($$) { if ( ! $glob_netware ) { - mtr_add_arg($args, "--language=%s", $path_language); + mtr_add_arg($args, "--lc-messages-dir=%s", $path_language); mtr_add_arg($args, "--character-sets-dir=%s", $path_charsetsdir); } @@ -3288,10 +3288,10 @@ socket = $instance->{path_sock} pid-file = $instance->{path_pid} port = $instance->{port} datadir = $instance->{path_datadir} +lc-messages-dir = $path_language log = $instance->{path_datadir}/mysqld$server_id.log log-error = $instance->{path_datadir}/mysqld$server_id.err.log log-slow-queries = $instance->{path_datadir}/mysqld$server_id.slow.log -language = $path_language character-sets-dir = $path_charsetsdir basedir = $path_my_basedir server_id = $server_id @@ -3898,8 +3898,8 @@ sub mysqld_arguments ($$$$) { mtr_add_arg($args, "%s--log-bin-trust-function-creators", $prefix); } - mtr_add_arg($args, "%s--default-character-set=latin1", $prefix); - mtr_add_arg($args, "%s--language=%s", $prefix, $path_language); + mtr_add_arg($args, "%s--character-set-server=latin1", $prefix); + mtr_add_arg($args, "%s--lc-messages-dir=%s", $prefix, $path_language); mtr_add_arg($args, "%s--tmpdir=$opt_tmpdir", $prefix); # Increase default connect_timeout to avoid intermittent diff --git a/mysql-test/r/func_time.result b/mysql-test/r/func_time.result index 7bcaf5567cf..c3f210edee5 100644 --- a/mysql-test/r/func_time.result +++ b/mysql-test/r/func_time.result @@ -678,11 +678,6 @@ timestampadd(WEEK, 1, date) select timestampadd(SQL_TSI_SECOND, 1, date) from t1; timestampadd(SQL_TSI_SECOND, 1, date) 2003-01-02 00:00:01 -select timestampadd(SQL_TSI_FRAC_SECOND, 1, date) from t1; -timestampadd(SQL_TSI_FRAC_SECOND, 1, date) -2003-01-02 00:00:00.000001 -Warnings: -Warning 1287 The syntax 'FRAC_SECOND' is deprecated and will be removed in MySQL 6.2. Please use MICROSECOND instead select timestampdiff(MONTH, '2001-02-01', '2001-05-01') as a; a 3 @@ -713,11 +708,6 @@ a select timestampdiff(SQL_TSI_SECOND, '2001-02-01 12:59:59', '2001-05-01 12:58:58') as a; a 7689539 -select timestampdiff(SQL_TSI_FRAC_SECOND, '2001-02-01 12:59:59.120000', '2001-05-01 12:58:58.119999') as a; -a -7689538999999 -Warnings: -Warning 1287 The syntax 'FRAC_SECOND' is deprecated and will be removed in MySQL 6.2. Please use MICROSECOND instead select timestampdiff(SQL_TSI_DAY, '1986-02-01', '1986-03-01') as a1, timestampdiff(SQL_TSI_DAY, '1900-02-01', '1900-03-01') as a2, timestampdiff(SQL_TSI_DAY, '1996-02-01', '1996-03-01') as a3, @@ -1082,13 +1072,6 @@ week(20061108), week(20061108.01), week(20061108085411.000002); isnull(week(now() + 0)) isnull(week(now() + 0.2)) week(20061108) week(20061108.01) week(20061108085411.000002) 0 0 45 45 45 End of 4.1 tests -explain extended select timestampdiff(SQL_TSI_WEEK, '2001-02-01', '2001-05-01') as a1, -timestampdiff(SQL_TSI_FRAC_SECOND, '2001-02-01 12:59:59.120000', '2001-05-01 12:58:58.119999') as a2; -id select_type table type possible_keys key key_len ref rows filtered Extra -1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL No tables used -Warnings: -Warning 1287 The syntax 'FRAC_SECOND' is deprecated and will be removed in MySQL 6.2. Please use MICROSECOND instead -Note 1003 select timestampdiff(WEEK,'2001-02-01','2001-05-01') AS `a1`,timestampdiff(SECOND_FRAC,'2001-02-01 12:59:59.120000','2001-05-01 12:58:58.119999') AS `a2` select time_format('100:00:00', '%H %k %h %I %l'); time_format('100:00:00', '%H %k %h %I %l') 100 100 04 04 4 @@ -1282,24 +1265,6 @@ DATE_ADD(20071108, INTERVAL 1 DAY) select LAST_DAY('2007-12-06 08:59:19.05') - INTERVAL 1 SECOND; LAST_DAY('2007-12-06 08:59:19.05') - INTERVAL 1 SECOND 2007-12-30 23:59:59 -SELECT TIMESTAMPADD(FRAC_SECOND, 1, '2008-02-18'); -TIMESTAMPADD(FRAC_SECOND, 1, '2008-02-18') -2008-02-18 00:00:00.000001 -Warnings: -Warning 1287 The syntax 'FRAC_SECOND' is deprecated and will be removed in MySQL 6.2. Please use MICROSECOND instead -SELECT TIMESTAMPDIFF(FRAC_SECOND, '2008-02-17', '2008-02-18'); -TIMESTAMPDIFF(FRAC_SECOND, '2008-02-17', '2008-02-18') -86400000000 -Warnings: -Warning 1287 The syntax 'FRAC_SECOND' is deprecated and will be removed in MySQL 6.2. Please use MICROSECOND instead -SELECT DATE_ADD('2008-02-18', INTERVAL 1 FRAC_SECOND); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FRAC_SECOND)' at line 1 -SELECT DATE_SUB('2008-02-18', INTERVAL 1 FRAC_SECOND); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FRAC_SECOND)' at line 1 -SELECT '2008-02-18' + INTERVAL 1 FRAC_SECOND; -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FRAC_SECOND' at line 1 -SELECT '2008-02-18' - INTERVAL 1 FRAC_SECOND; -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FRAC_SECOND' at line 1 select date_add('1000-01-01 00:00:00', interval '1.03:02:01.05' day_microsecond); date_add('1000-01-01 00:00:00', interval '1.03:02:01.05' day_microsecond) 1000-01-02 03:02:01.050000 diff --git a/mysql-test/r/locale.result b/mysql-test/r/locale.result index af7f9e3c132..b52ed8070f9 100644 --- a/mysql-test/r/locale.result +++ b/mysql-test/r/locale.result @@ -51,7 +51,7 @@ DROP TABLE t1; # SET lc_messages=sr_YU; Warnings: -Warning 1287 'sr_YU' is deprecated; use 'sr_RS' instead +Warning 1287 'sr_YU' is deprecated and will be removed in a future release. Please use sr_RS instead SHOW VARIABLES LIKE 'lc_messages'; Variable_name Value lc_messages sr_RS diff --git a/mysql-test/r/mysqlbinlog.result b/mysql-test/r/mysqlbinlog.result index 097e51a78de..55e68e9f8f3 100644 --- a/mysql-test/r/mysqlbinlog.result +++ b/mysql-test/r/mysqlbinlog.result @@ -187,7 +187,7 @@ DELIMITER ; ROLLBACK /* added by mysqlbinlog */; /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; ---- --position -- +--- --start-position -- /*!40019 SET @@session.max_insert_delayed_threads=0*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; DELIMITER /*!*/; @@ -388,7 +388,7 @@ DELIMITER ; ROLLBACK /* added by mysqlbinlog */; /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; ---- --position -- +--- --start-position -- /*!40019 SET @@session.max_insert_delayed_threads=0*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; DELIMITER /*!*/; diff --git a/mysql-test/r/mysqld--help-notwin.result b/mysql-test/r/mysqld--help-notwin.result index edfb5885057..0719b52aefc 100644 --- a/mysql-test/r/mysqld--help-notwin.result +++ b/mysql-test/r/mysqld--help-notwin.result @@ -101,12 +101,6 @@ The following options may be given as the first argument: --date-format=name The DATE format (ignored) --datetime-format=name The DATETIME format (ignored) - -C, --default-character-set=name - Set the default character set (deprecated option, use - --character-set-server instead). - --default-collation=name - Set the default collation (deprecated option, use - --collation-server instead). --default-storage-engine=name The default storage engine for new tables --default-time-zone=name @@ -115,10 +109,6 @@ The following options may be given as the first argument: The default week format used by WEEK() functions --delay-key-write[=name] Type of DELAY_KEY_WRITE - --delay-key-write-for-all-tables - Don't flush key buffers between writes for any MyISAM - table (Deprecated option, use --delay-key-write=all - instead). --delayed-insert-limit=# After inserting delayed_insert_limit rows, the INSERT DELAYED handler will check if there are any SELECT @@ -138,7 +128,6 @@ The following options may be given as the first argument: --div-precision-increment=# Precision of the result of '/' operator will be increased on that value - --enable-locking Deprecated option, use --external-locking instead. --engine-condition-pushdown Push supported query conditions to the storage engine. Deprecated, use --optimizer-switch instead. @@ -247,10 +236,6 @@ The following options may be given as the first argument: can safely set this to TRUE --log-error[=name] Error log file --log-isam[=name] Log all MyISAM changes to file. - -0, --log-long-format - Log some extra information to update log. Please note - that this option is deprecated; see --log-short-format - option. --log-output=name Syntax: log-output=value[,value...], where "value" could be TABLE, FILE or NONE --log-queries-not-using-indexes @@ -277,9 +262,6 @@ The following options may be given as the first argument: transactions that affect more than one storage engine, when binary log is disabled) --log-tc-size=# Size of transaction coordinator log. - --log-update[=name] The update log is deprecated since version 5.0, is - replaced by the binary log and this option justs turns on - --log-bin instead. -W, --log-warnings[=#] Log some not critical warnings to the log file --long-query-time=# Log all queries that have taken more than long_query_time @@ -510,7 +492,6 @@ The following options may be given as the first argument: When reading rows in sorted order after a sort, the rows are read through this buffer to avoid a disk seeks. If not set, then it's set to the value of record_buffer - --record-buffer=# Deprecated; use --read-buffer-size instead. --relay-log=name The location and name to use for relay logs --relay-log-index=name The location and name to use for the file that keeps a @@ -607,8 +588,6 @@ The following options may be given as the first argument: --rpl-recovery-rank=# Unused, will be removed --safe-mode Skip some optimize stages (for testing). - --safe-show-database - Deprecated option; use GRANT SHOW DATABASES instead... --safe-user-create Don't allow new user creation by the user who has no write privileges to the mysql.user table. --secure-auth Disallow authentication for accounts that have old @@ -618,16 +597,11 @@ The following options may be given as the first argument: files within specified directory --server-id=# Uniquely identifies the server instance in the community of replication partners - -O, --set-variable=name - Change the value of a variable. Please note that this - option is deprecated;you can set variables directly with - --variable-name=value. --show-slave-auth-info Show user and password in SHOW SLAVE HOSTS on this master --skip-grant-tables Start without grant tables. This gives all users FULL ACCESS to all tables! --skip-host-cache Don't cache host names. - --skip-locking Deprecated option, use --skip-external-locking instead. --skip-name-resolve Don't resolve hostnames. All hostnames are IP's or 'localhost'. --skip-networking Don't allow connection with TCP/IP @@ -636,8 +610,6 @@ The following options may be given as the first argument: Don't allow 'SHOW DATABASE' commands --skip-slave-start If set, slave is not autostarted. --skip-stack-trace Don't print a stack trace on failure. - --skip-symlink Don't allow symlinking of tables. Deprecated option. Use - --skip-symbolic-links instead. --skip-thread-priority Don't give threads different priorities. This option is deprecated because it has no effect; the implied behavior @@ -689,10 +661,6 @@ The following options may be given as the first argument: --sporadic-binlog-dump-fail Option used by mysql-test for debugging and testing of replication. - --sql-bin-update-same - The update log is deprecated since version 5.0, is - replaced by the binary log and this option does nothing - anymore. --sql-mode=name Syntax: sql-mode=mode[,mode[,mode...]]. See the manual for the complete list of valid sql modes -s, --symbolic-links @@ -760,7 +728,6 @@ The following options may be given as the first argument: -V, --version Output version information and exit. --wait-timeout=# The number of seconds the server waits for activity on a connection before closing it - -W, --warnings[=#] Deprecated; use --log-warnings instead. Variables (--variable-name=value) and boolean options {FALSE|TRUE} Value (after reading options) @@ -792,8 +759,6 @@ connect-timeout 10 console FALSE date-format %Y-%m-%d datetime-format %Y-%m-%d %H:%i:%s -default-character-set latin1 -default-collation latin1_swedish_ci default-storage-engine MyISAM default-time-zone (No default value) default-week-format 0 @@ -803,7 +768,6 @@ delayed-insert-timeout 300 delayed-queue-size 1000 disconnect-slave-event-count 0 div-precision-increment 4 -enable-locking FALSE engine-condition-pushdown TRUE event-scheduler OFF expire-logs-days 0 @@ -852,7 +816,6 @@ log-slow-admin-statements FALSE log-slow-slave-statements FALSE log-tc tc.log log-tc-size 24576 -log-update (No default value) log-warnings 1 long-query-time 10 low-priority-updates FALSE @@ -936,7 +899,6 @@ range-alloc-block-size 4096 read-buffer-size 131072 read-only FALSE read-rnd-buffer-size 262144 -record-buffer 131072 relay-log (No default value) relay-log-index (No default value) relay-log-info-file relay-log.info @@ -994,7 +956,6 @@ updatable-views-with-limit YES use-symbolic-links FALSE verbose TRUE wait-timeout 28800 -warnings 1 To see what values a running MySQL server is using, type 'mysqladmin variables' instead of 'mysqld --verbose --help'. diff --git a/mysql-test/r/mysqld--help-win.result b/mysql-test/r/mysqld--help-win.result index 2e4e81c0ff0..0b6967540df 100644 --- a/mysql-test/r/mysqld--help-win.result +++ b/mysql-test/r/mysqld--help-win.result @@ -101,12 +101,6 @@ The following options may be given as the first argument: --date-format=name The DATE format (ignored) --datetime-format=name The DATETIME format (ignored) - -C, --default-character-set=name - Set the default character set (deprecated option, use - --character-set-server instead). - --default-collation=name - Set the default collation (deprecated option, use - --collation-server instead). --default-storage-engine=name The default storage engine for new tables --default-time-zone=name @@ -115,10 +109,6 @@ The following options may be given as the first argument: The default week format used by WEEK() functions --delay-key-write[=name] Type of DELAY_KEY_WRITE - --delay-key-write-for-all-tables - Don't flush key buffers between writes for any MyISAM - table (Deprecated option, use --delay-key-write=all - instead). --delayed-insert-limit=# After inserting delayed_insert_limit rows, the INSERT DELAYED handler will check if there are any SELECT @@ -138,7 +128,6 @@ The following options may be given as the first argument: --div-precision-increment=# Precision of the result of '/' operator will be increased on that value - --enable-locking Deprecated option, use --external-locking instead. --engine-condition-pushdown Push supported query conditions to the storage engine. Deprecated, use --optimizer-switch instead. @@ -246,10 +235,6 @@ The following options may be given as the first argument: can safely set this to TRUE --log-error[=name] Error log file --log-isam[=name] Log all MyISAM changes to file. - -0, --log-long-format - Log some extra information to update log. Please note - that this option is deprecated; see --log-short-format - option. --log-output=name Syntax: log-output=value[,value...], where "value" could be TABLE, FILE or NONE --log-queries-not-using-indexes @@ -276,9 +261,6 @@ The following options may be given as the first argument: transactions that affect more than one storage engine, when binary log is disabled) --log-tc-size=# Size of transaction coordinator log. - --log-update[=name] The update log is deprecated since version 5.0, is - replaced by the binary log and this option justs turns on - --log-bin instead. -W, --log-warnings[=#] Log some not critical warnings to the log file --long-query-time=# Log all queries that have taken more than long_query_time @@ -510,7 +492,6 @@ The following options may be given as the first argument: When reading rows in sorted order after a sort, the rows are read through this buffer to avoid a disk seeks. If not set, then it's set to the value of record_buffer - --record-buffer=# Deprecated; use --read-buffer-size instead. --relay-log=name The location and name to use for relay logs --relay-log-index=name The location and name to use for the file that keeps a @@ -607,8 +588,6 @@ The following options may be given as the first argument: --rpl-recovery-rank=# Unused, will be removed --safe-mode Skip some optimize stages (for testing). - --safe-show-database - Deprecated option; use GRANT SHOW DATABASES instead... --safe-user-create Don't allow new user creation by the user who has no write privileges to the mysql.user table. --secure-auth Disallow authentication for accounts that have old @@ -618,10 +597,6 @@ The following options may be given as the first argument: files within specified directory --server-id=# Uniquely identifies the server instance in the community of replication partners - -O, --set-variable=name - Change the value of a variable. Please note that this - option is deprecated;you can set variables directly with - --variable-name=value. --shared-memory Enable the shared memory --shared-memory-base-name=name Base name of shared memory @@ -630,7 +605,6 @@ The following options may be given as the first argument: --skip-grant-tables Start without grant tables. This gives all users FULL ACCESS to all tables! --skip-host-cache Don't cache host names. - --skip-locking Deprecated option, use --skip-external-locking instead. --skip-name-resolve Don't resolve hostnames. All hostnames are IP's or 'localhost'. --skip-networking Don't allow connection with TCP/IP @@ -639,8 +613,6 @@ The following options may be given as the first argument: Don't allow 'SHOW DATABASE' commands --skip-slave-start If set, slave is not autostarted. --skip-stack-trace Don't print a stack trace on failure. - --skip-symlink Don't allow symlinking of tables. Deprecated option. Use - --skip-symbolic-links instead. --skip-thread-priority Don't give threads different priorities. This option is deprecated because it has no effect; the implied behavior @@ -692,10 +664,6 @@ The following options may be given as the first argument: --sporadic-binlog-dump-fail Option used by mysql-test for debugging and testing of replication. - --sql-bin-update-same - The update log is deprecated since version 5.0, is - replaced by the binary log and this option does nothing - anymore. --sql-mode=name Syntax: sql-mode=mode[,mode[,mode...]]. See the manual for the complete list of valid sql modes --standalone Dummy option to start as a standalone program (NT). @@ -764,7 +732,6 @@ The following options may be given as the first argument: -V, --version Output version information and exit. --wait-timeout=# The number of seconds the server waits for activity on a connection before closing it - -W, --warnings[=#] Deprecated; use --log-warnings instead. Variables (--variable-name=value) and boolean options {FALSE|TRUE} Value (after reading options) @@ -796,8 +763,6 @@ connect-timeout 10 console FALSE date-format %Y-%m-%d datetime-format %Y-%m-%d %H:%i:%s -default-character-set latin1 -default-collation latin1_swedish_ci default-storage-engine MyISAM default-time-zone (No default value) default-week-format 0 @@ -807,7 +772,6 @@ delayed-insert-timeout 300 delayed-queue-size 1000 disconnect-slave-event-count 0 div-precision-increment 4 -enable-locking FALSE engine-condition-pushdown TRUE event-scheduler OFF expire-logs-days 0 @@ -855,7 +819,6 @@ log-slow-admin-statements FALSE log-slow-slave-statements FALSE log-tc tc.log log-tc-size 24576 -log-update (No default value) log-warnings 1 long-query-time 10 low-priority-updates FALSE @@ -940,7 +903,6 @@ range-alloc-block-size 4096 read-buffer-size 131072 read-only FALSE read-rnd-buffer-size 262144 -record-buffer 131072 relay-log (No default value) relay-log-index (No default value) relay-log-info-file relay-log.info @@ -1000,7 +962,6 @@ updatable-views-with-limit YES use-symbolic-links FALSE verbose TRUE wait-timeout 28800 -warnings 1 To see what values a running MySQL server is using, type 'mysqladmin variables' instead of 'mysqld --verbose --help'. diff --git a/mysql-test/r/variables.result b/mysql-test/r/variables.result index 3251e9738a5..b46f7c3bada 100644 --- a/mysql-test/r/variables.result +++ b/mysql-test/r/variables.result @@ -569,9 +569,6 @@ set sql_big_tables=1; set sql_buffer_result=1; set sql_log_bin=1; set sql_log_off=1; -set sql_log_update=1; -Warnings: -Note 1315 The update log is deprecated and replaced by the binary log; SET SQL_LOG_UPDATE has been ignored. This option will be removed in MySQL 5.6. set sql_low_priority_updates=1; set sql_quote_show_create=1; set sql_safe_updates=1; diff --git a/mysql-test/suite/binlog/t/binlog_auto_increment_bug33029.test b/mysql-test/suite/binlog/t/binlog_auto_increment_bug33029.test deleted file mode 100644 index 19137066429..00000000000 --- a/mysql-test/suite/binlog/t/binlog_auto_increment_bug33029.test +++ /dev/null @@ -1,74 +0,0 @@ -# BUG#33029 5.0 to 5.1 replication fails on dup key when inserting -# using a trig in SP - -# For all 5.0 up to 5.0.58 exclusive, and 5.1 up to 5.1.12 exclusive, -# if one statement in a SP generated AUTO_INCREMENT value by the top -# statement, all statements after it would be considered generated -# AUTO_INCREMENT value by the top statement, and a erroneous INSERT_ID -# value might be associated with these statement, which could cause -# duplicate entry error and stop the slave. - -# Test if the slave can replicate from such a buggy master - -# The bug33029-slave-relay-bin.000001 file is the -# slave-replay-bin.000003 file generated by run the -# rpl_auto_increment_bug33029.test with clean up statements at the end -# of the test case removed on a buggy 5.0 server - -source include/have_log_bin.inc; - -# Need to restore this at the end; CHANGE MASTER modifies it (see the -# manual for CHANGE MASTER). -SET @old_relay_log_purge= @@global.relay_log_purge; - -let $MYSQLD_DATADIR= `select @@datadir`; - -copy_file $MYSQL_TEST_DIR/std_data/bug33029-slave-relay-bin.000001 $MYSQLD_DATADIR/slave-relay-bin.000001; - - -# After patch for BUG#12190, the filename used in CHANGE MASTER -# RELAY_LOG_FILE will be automatically added the directory of the -# relay log before comparison, thus we need to added the directory -# part (./ on unix .\ on windows) when faking the relay-log-bin.index. -disable_query_log; -if (`select convert(@@version_compile_os using latin1) IN ("Win32","Win64","Windows") = 0`) -{ - eval select './slave-relay-bin.000001\n' into dumpfile '$MYSQLD_DATADIR/slave-relay-bin.index'; -} - -if (`select convert(@@version_compile_os using latin1) IN ("Win32","Win64","Windows") != 0`) -{ - eval select '.\\\\slave-relay-bin.000001\n' into dumpfile '$MYSQLD_DATADIR/slave-relay-bin.index'; -} -enable_query_log; - -change master to - MASTER_HOST='dummy.localdomain', - RELAY_LOG_FILE='slave-relay-bin.000001', - RELAY_LOG_POS=4; - -start slave sql_thread; -disable_result_log; -select MASTER_POS_WAIT('master-bin.000001', 3776); -enable_result_log; - -echo # Result on slave; -SELECT * FROM t1; -SELECT * FROM t2; - -# clean up -disable_warnings; -DROP TABLE IF EXISTS t1, t2; -DROP PROCEDURE IF EXISTS p1; -DROP PROCEDURE IF EXISTS p2; -DROP FUNCTION IF EXISTS f1; -DROP TRIGGER IF EXISTS tr1; -enable_warnings; - -stop slave sql_thread; -reset slave; -source include/wait_for_slave_sql_to_stop.inc; -remove_file $MYSQLD_DATADIR/slave-relay-bin.000001; -remove_file $MYSQLD_DATADIR/slave-relay-bin.index; - -SET @@global.relay_log_purge= @old_relay_log_purge; diff --git a/mysql-test/suite/binlog/r/binlog_auto_increment_bug33029.result b/mysql-test/suite/rpl/r/rpl_binlog_auto_inc_bug33029.result index 8226469fcf7..f0fdd5eaa1f 100644 --- a/mysql-test/suite/binlog/r/binlog_auto_increment_bug33029.result +++ b/mysql-test/suite/rpl/r/rpl_binlog_auto_inc_bug33029.result @@ -1,8 +1,4 @@ -SET @old_relay_log_purge= @@global.relay_log_purge; -change master to -MASTER_HOST='dummy.localdomain', -RELAY_LOG_FILE='slave-relay-bin.000001', -RELAY_LOG_POS=4; +Setting up fake replication from MYSQL_TEST_DIR/std_data/bug33029-slave-relay-bin.000001 start slave sql_thread; select MASTER_POS_WAIT('master-bin.000001', 3776); # Result on slave @@ -38,5 +34,4 @@ DROP PROCEDURE IF EXISTS p2; DROP FUNCTION IF EXISTS f1; DROP TRIGGER IF EXISTS tr1; stop slave sql_thread; -reset slave; -SET @@global.relay_log_purge= @old_relay_log_purge; +Cleaning up after setup_fake_relay_log.inc diff --git a/mysql-test/suite/binlog/t/binlog_auto_increment_bug33029-master.opt b/mysql-test/suite/rpl/t/rpl_binlog_auto_inc_bug33029-master.opt index 74e71a8e558..74e71a8e558 100644 --- a/mysql-test/suite/binlog/t/binlog_auto_increment_bug33029-master.opt +++ b/mysql-test/suite/rpl/t/rpl_binlog_auto_inc_bug33029-master.opt diff --git a/mysql-test/suite/rpl/t/rpl_binlog_auto_inc_bug33029.test b/mysql-test/suite/rpl/t/rpl_binlog_auto_inc_bug33029.test new file mode 100644 index 00000000000..dbdd96347a2 --- /dev/null +++ b/mysql-test/suite/rpl/t/rpl_binlog_auto_inc_bug33029.test @@ -0,0 +1,42 @@ +# BUG#33029 5.0 to 5.1 replication fails on dup key when inserting +# using a trig in SP + +# For all 5.0 up to 5.0.58 exclusive, and 5.1 up to 5.1.12 exclusive, +# if one statement in a SP generated AUTO_INCREMENT value by the top +# statement, all statements after it would be considered generated +# AUTO_INCREMENT value by the top statement, and a erroneous INSERT_ID +# value might be associated with these statement, which could cause +# duplicate entry error and stop the slave. + +# Test if the slave can replicate from such a buggy master + +# The bug33029-slave-relay-bin.000001 file is the +# slave-replay-bin.000003 file generated by run the +# rpl_auto_increment_bug33029.test with clean up statements at the end +# of the test case removed on a buggy 5.0 server + +source include/have_log_bin.inc; + +let $fake_relay_log= $MYSQL_TEST_DIR/std_data/bug33029-slave-relay-bin.000001; +source include/setup_fake_relay_log.inc; + +start slave sql_thread; +disable_result_log; +select MASTER_POS_WAIT('master-bin.000001', 3776); +enable_result_log; + +echo # Result on slave; +SELECT * FROM t1; +SELECT * FROM t2; + +# clean up +disable_warnings; +DROP TABLE IF EXISTS t1, t2; +DROP PROCEDURE IF EXISTS p1; +DROP PROCEDURE IF EXISTS p2; +DROP FUNCTION IF EXISTS f1; +DROP TRIGGER IF EXISTS tr1; +enable_warnings; + +stop slave sql_thread; +source include/cleanup_fake_relay_log.inc; diff --git a/mysql-test/suite/rpl/t/rpl_row_mysqlbinlog.test b/mysql-test/suite/rpl/t/rpl_row_mysqlbinlog.test index 9a645baead0..ebb8bb6c718 100644 --- a/mysql-test/suite/rpl/t/rpl_row_mysqlbinlog.test +++ b/mysql-test/suite/rpl/t/rpl_row_mysqlbinlog.test @@ -161,14 +161,14 @@ connection master; remove_file $MYSQLTEST_VARDIR/tmp/master.sql; -# this test for position option +# this test for start-position option # By setting this position to 416, we should only get the create of t3 --disable_query_log select "--- Test 2 position test --" as ""; --enable_query_log let $MYSQLD_DATADIR= `select @@datadir;`; --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR ---exec $MYSQL_BINLOG --short-form --local-load=$MYSQLTEST_VARDIR/tmp/ --position=417 --stop-position=570 $MYSQLD_DATADIR/master-bin.000001 +--exec $MYSQL_BINLOG --short-form --local-load=$MYSQLTEST_VARDIR/tmp/ --start-position=417 --stop-position=570 $MYSQLD_DATADIR/master-bin.000001 # These are tests for remote binlog. # They should return the same as previous test. @@ -266,7 +266,7 @@ let $MYSQLD_DATADIR= `select @@datadir;`; select "--- Test 7 reading stdin w/position --" as ""; --enable_query_log --replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR ---exec $MYSQL_BINLOG --short-form --position=417 --stop-position=570 - < $MYSQLD_DATADIR/master-bin.000001 +--exec $MYSQL_BINLOG --short-form --start-position=417 --stop-position=570 - < $MYSQLD_DATADIR/master-bin.000001 # Bug#16217 (mysql client did not know how not switch its internal charset) --disable_query_log diff --git a/mysql-test/suite/sys_vars/r/lc_time_names_basic.result b/mysql-test/suite/sys_vars/r/lc_time_names_basic.result index 39e93a6f76c..3f19c7dda15 100644 --- a/mysql-test/suite/sys_vars/r/lc_time_names_basic.result +++ b/mysql-test/suite/sys_vars/r/lc_time_names_basic.result @@ -460,7 +460,7 @@ SELECT @@session.lc_time_names; sq_AL SET @@session.lc_time_names=sr_YU; Warnings: -Warning 1287 'sr_YU' is deprecated; use 'sr_RS' instead +Warning 1287 'sr_YU' is deprecated and will be removed in a future release. Please use sr_RS instead SELECT @@session.lc_time_names; @@session.lc_time_names sr_RS @@ -907,7 +907,7 @@ SELECT @@global.lc_time_names; sq_AL SET @@global.lc_time_names=sr_YU; Warnings: -Warning 1287 'sr_YU' is deprecated; use 'sr_RS' instead +Warning 1287 'sr_YU' is deprecated and will be removed in a future release. Please use sr_RS instead SELECT @@global.lc_time_names; @@global.lc_time_names sr_RS diff --git a/mysql-test/suite/sys_vars/r/sql_log_update_basic.result b/mysql-test/suite/sys_vars/r/sql_log_update_basic.result deleted file mode 100644 index c18b9017021..00000000000 --- a/mysql-test/suite/sys_vars/r/sql_log_update_basic.result +++ /dev/null @@ -1,82 +0,0 @@ -SET @start_global_value = @@global.sql_log_update; -SELECT @start_global_value; -@start_global_value -1 -select @@global.sql_log_update; -@@global.sql_log_update -1 -select @@session.sql_log_update; -@@session.sql_log_update -1 -show global variables like 'sql_log_update'; -Variable_name Value -sql_log_update ON -show session variables like 'sql_log_update'; -Variable_name Value -sql_log_update ON -select * from information_schema.global_variables where variable_name='sql_log_update'; -VARIABLE_NAME VARIABLE_VALUE -SQL_LOG_UPDATE ON -select * from information_schema.session_variables where variable_name='sql_log_update'; -VARIABLE_NAME VARIABLE_VALUE -SQL_LOG_UPDATE ON -set global sql_log_update=1; -Warnings: -Note 1315 The update log is deprecated and replaced by the binary log; SET SQL_LOG_UPDATE has been ignored. This option will be removed in MySQL 5.6. -set session sql_log_update=ON; -Warnings: -Note 1315 The update log is deprecated and replaced by the binary log; SET SQL_LOG_UPDATE has been ignored. This option will be removed in MySQL 5.6. -select @@global.sql_log_update; -@@global.sql_log_update -1 -select @@session.sql_log_update; -@@session.sql_log_update -1 -show global variables like 'sql_log_update'; -Variable_name Value -sql_log_update ON -show session variables like 'sql_log_update'; -Variable_name Value -sql_log_update ON -select * from information_schema.global_variables where variable_name='sql_log_update'; -VARIABLE_NAME VARIABLE_VALUE -SQL_LOG_UPDATE ON -select * from information_schema.session_variables where variable_name='sql_log_update'; -VARIABLE_NAME VARIABLE_VALUE -SQL_LOG_UPDATE ON -set global sql_log_update=0; -Warnings: -Note 1315 The update log is deprecated and replaced by the binary log; SET SQL_LOG_UPDATE has been ignored. This option will be removed in MySQL 5.6. -set session sql_log_update=OFF; -Warnings: -Note 1315 The update log is deprecated and replaced by the binary log; SET SQL_LOG_UPDATE has been ignored. This option will be removed in MySQL 5.6. -select @@global.sql_log_update; -@@global.sql_log_update -0 -select @@session.sql_log_update; -@@session.sql_log_update -0 -show global variables like 'sql_log_update'; -Variable_name Value -sql_log_update OFF -show session variables like 'sql_log_update'; -Variable_name Value -sql_log_update OFF -select * from information_schema.global_variables where variable_name='sql_log_update'; -VARIABLE_NAME VARIABLE_VALUE -SQL_LOG_UPDATE OFF -select * from information_schema.session_variables where variable_name='sql_log_update'; -VARIABLE_NAME VARIABLE_VALUE -SQL_LOG_UPDATE OFF -set global sql_log_update=1.1; -ERROR 42000: Incorrect argument type to variable 'sql_log_update' -set global sql_log_update=1e1; -ERROR 42000: Incorrect argument type to variable 'sql_log_update' -set global sql_log_update="foo"; -ERROR 42000: Variable 'sql_log_update' can't be set to the value of 'foo' -SET @@global.sql_log_update = @start_global_value; -Warnings: -Note 1315 The update log is deprecated and replaced by the binary log; SET SQL_LOG_UPDATE has been ignored. This option will be removed in MySQL 5.6. -SELECT @@global.sql_log_update; -@@global.sql_log_update -1 diff --git a/mysql-test/suite/sys_vars/t/sql_log_update_basic.test b/mysql-test/suite/sys_vars/t/sql_log_update_basic.test deleted file mode 100644 index 9b9f6f375b6..00000000000 --- a/mysql-test/suite/sys_vars/t/sql_log_update_basic.test +++ /dev/null @@ -1,53 +0,0 @@ - -# -# 2010-01-20 OBN - Added check of I_S tables after variable value changes. -# - Added value change to ON/OFF to ensure change of current value -# - ---source include/have_profiling.inc - -SET @start_global_value = @@global.sql_log_update; -SELECT @start_global_value; - -# -# exists as global and session -# -select @@global.sql_log_update; -select @@session.sql_log_update; -show global variables like 'sql_log_update'; -show session variables like 'sql_log_update'; -select * from information_schema.global_variables where variable_name='sql_log_update'; -select * from information_schema.session_variables where variable_name='sql_log_update'; - -# -# show that it's writable -# -set global sql_log_update=1; -set session sql_log_update=ON; -select @@global.sql_log_update; -select @@session.sql_log_update; -show global variables like 'sql_log_update'; -show session variables like 'sql_log_update'; -select * from information_schema.global_variables where variable_name='sql_log_update'; -select * from information_schema.session_variables where variable_name='sql_log_update'; -set global sql_log_update=0; -set session sql_log_update=OFF; -select @@global.sql_log_update; -select @@session.sql_log_update; -show global variables like 'sql_log_update'; -show session variables like 'sql_log_update'; -select * from information_schema.global_variables where variable_name='sql_log_update'; -select * from information_schema.session_variables where variable_name='sql_log_update'; - -# -# incorrect types -# ---error ER_WRONG_TYPE_FOR_VAR -set global sql_log_update=1.1; ---error ER_WRONG_TYPE_FOR_VAR -set global sql_log_update=1e1; ---error ER_WRONG_VALUE_FOR_VAR -set global sql_log_update="foo"; - -SET @@global.sql_log_update = @start_global_value; -SELECT @@global.sql_log_update; diff --git a/mysql-test/t/bug47671-master.opt b/mysql-test/t/bug47671-master.opt index 0afdf49e022..ad54fbc3467 100644 --- a/mysql-test/t/bug47671-master.opt +++ b/mysql-test/t/bug47671-master.opt @@ -1 +1 @@ ---default-character-set=utf8 --skip-character-set-client-handshake +--character-set-server=utf8 --skip-character-set-client-handshake diff --git a/mysql-test/t/ctype_latin1_de-master.opt b/mysql-test/t/ctype_latin1_de-master.opt index 79fdb1c63dc..0c072424de9 100644 --- a/mysql-test/t/ctype_latin1_de-master.opt +++ b/mysql-test/t/ctype_latin1_de-master.opt @@ -1 +1 @@ ---default-character-set=latin1 --default-collation=latin1_german2_ci +--character-set-server=latin1 --collation-server=latin1_german2_ci diff --git a/mysql-test/t/ctype_ucs2_def-master.opt b/mysql-test/t/ctype_ucs2_def-master.opt index 84d2a52b639..711ec42bd8a 100644 --- a/mysql-test/t/ctype_ucs2_def-master.opt +++ b/mysql-test/t/ctype_ucs2_def-master.opt @@ -1 +1 @@ ---default-collation=ucs2_unicode_ci --default-character-set=ucs2,latin1 +--collation-server=ucs2_unicode_ci --character-set-server=ucs2,latin1 diff --git a/mysql-test/t/func_time.test b/mysql-test/t/func_time.test index 95b8a8ec38d..219a857a597 100644 --- a/mysql-test/t/func_time.test +++ b/mysql-test/t/func_time.test @@ -345,10 +345,6 @@ select date_add(date,INTERVAL "1" QUARTER) from t1; select timestampadd(MINUTE, 1, date) from t1; select timestampadd(WEEK, 1, date) from t1; select timestampadd(SQL_TSI_SECOND, 1, date) from t1; -# mysqltest.c discards an expected 'deprecated' warning on prepare stage ---disable_ps_protocol -select timestampadd(SQL_TSI_FRAC_SECOND, 1, date) from t1; ---enable_ps_protocol select timestampdiff(MONTH, '2001-02-01', '2001-05-01') as a; select timestampdiff(YEAR, '2002-05-01', '2001-01-01') as a; @@ -360,10 +356,6 @@ select timestampdiff(SQL_TSI_HOUR, '2001-02-01', '2001-05-01') as a; select timestampdiff(SQL_TSI_DAY, '2001-02-01', '2001-05-01') as a; select timestampdiff(SQL_TSI_MINUTE, '2001-02-01 12:59:59', '2001-05-01 12:58:59') as a; select timestampdiff(SQL_TSI_SECOND, '2001-02-01 12:59:59', '2001-05-01 12:58:58') as a; -# mysqltest.c discards an expected 'deprecated' warning on prepare stage ---disable_ps_protocol -select timestampdiff(SQL_TSI_FRAC_SECOND, '2001-02-01 12:59:59.120000', '2001-05-01 12:58:58.119999') as a; ---enable_ps_protocol select timestampdiff(SQL_TSI_DAY, '1986-02-01', '1986-03-01') as a1, timestampdiff(SQL_TSI_DAY, '1900-02-01', '1900-03-01') as a2, @@ -602,9 +594,6 @@ select isnull(week(now() + 0)), isnull(week(now() + 0.2)), --echo End of 4.1 tests -explain extended select timestampdiff(SQL_TSI_WEEK, '2001-02-01', '2001-05-01') as a1, - timestampdiff(SQL_TSI_FRAC_SECOND, '2001-02-01 12:59:59.120000', '2001-05-01 12:58:58.119999') as a2; - # # Bug #10590: %h, %I, and %l format specifies should all return results in # the 0-11 range @@ -797,27 +786,11 @@ select DATE_ADD(20071108, INTERVAL 1 DAY); select LAST_DAY('2007-12-06 08:59:19.05') - INTERVAL 1 SECOND; -# # Bug#33834: FRAC_SECOND: Applicability not clear in documentation # -# Show that he use of FRAC_SECOND, for anything other than -# TIMESTAMPADD / TIMESTAMPDIFF, is a server error. - -# mysqltest.c discards an expected 'deprecated' warning on prepare stage ---disable_ps_protocol -SELECT TIMESTAMPADD(FRAC_SECOND, 1, '2008-02-18'); -SELECT TIMESTAMPDIFF(FRAC_SECOND, '2008-02-17', '2008-02-18'); ---enable_ps_protocol - ---error ER_PARSE_ERROR -SELECT DATE_ADD('2008-02-18', INTERVAL 1 FRAC_SECOND); ---error ER_PARSE_ERROR -SELECT DATE_SUB('2008-02-18', INTERVAL 1 FRAC_SECOND); - ---error ER_PARSE_ERROR -SELECT '2008-02-18' + INTERVAL 1 FRAC_SECOND; ---error ER_PARSE_ERROR -SELECT '2008-02-18' - INTERVAL 1 FRAC_SECOND; +# Test case removed since FRAC_SECOND was deprecated and +# removed as part of WL#5154 +# # # Bug #36466: diff --git a/mysql-test/t/mysqlbinlog.test b/mysql-test/t/mysqlbinlog.test index 55593bed124..f8172696215 100644 --- a/mysql-test/t/mysqlbinlog.test +++ b/mysql-test/t/mysqlbinlog.test @@ -65,13 +65,13 @@ select "--- --database --" as ""; --replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/ --exec $MYSQL_BINLOG --short-form --local-load=$MYSQLTEST_VARDIR/tmp/ --database=nottest $MYSQLD_DATADIR/master-bin.000001 2> /dev/null -# this test for position option +# this test for start-position option --disable_query_log -select "--- --position --" as ""; +select "--- --start-position --" as ""; --enable_query_log --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR --replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/ ---exec $MYSQL_BINLOG --short-form --local-load=$MYSQLTEST_VARDIR/tmp/ --position=1074 $MYSQLD_DATADIR/master-bin.000002 +--exec $MYSQL_BINLOG --short-form --local-load=$MYSQLTEST_VARDIR/tmp/ --start-position=1074 $MYSQLD_DATADIR/master-bin.000002 # These are tests for remote binlog. # They should return the same as previous test. @@ -103,11 +103,11 @@ select "--- --database --" as ""; # Strangely but this works --disable_query_log -select "--- --position --" as ""; +select "--- --start-position --" as ""; --enable_query_log --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR --replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/ ---exec $MYSQL_BINLOG --short-form --local-load=$MYSQLTEST_VARDIR/tmp/ --read-from-remote-server --position=1074 --user=root --host=127.0.0.1 --port=$MASTER_MYPORT master-bin.000002 +--exec $MYSQL_BINLOG --short-form --local-load=$MYSQLTEST_VARDIR/tmp/ --read-from-remote-server --start-position=1074 --user=root --host=127.0.0.1 --port=$MASTER_MYPORT master-bin.000002 # Bug#7853 mysqlbinlog does not accept input from stdin @@ -120,7 +120,7 @@ select "--- reading stdin --" as ""; --replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR --replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/ ---exec $MYSQL_BINLOG --short-form --position=79 - < $MYSQL_TEST_DIR/std_data/trunc_binlog.000001 +--exec $MYSQL_BINLOG --short-form --start-position=79 - < $MYSQL_TEST_DIR/std_data/trunc_binlog.000001 drop table t1,t2; # diff --git a/mysql-test/t/ps-master.opt b/mysql-test/t/ps-master.opt index 31c287d2bb5..1deeb6c9c63 100644 --- a/mysql-test/t/ps-master.opt +++ b/mysql-test/t/ps-master.opt @@ -1 +1 @@ ---log-output=table,file --log-slow-queries --log-long-format --log-queries-not-using-indexes +--log-output=table,file --log-slow-queries --log-queries-not-using-indexes diff --git a/mysql-test/t/show_check-master.opt b/mysql-test/t/show_check-master.opt index aab832e2848..108caf42203 100644 --- a/mysql-test/t/show_check-master.opt +++ b/mysql-test/t/show_check-master.opt @@ -1 +1 @@ ---log-output=table,file --log-slow-queries --log-long-format --log-queries-not-using-indexes --myisam-recover="" +--log-output=table,file --log-slow-queries --log-queries-not-using-indexes --myisam-recover="" diff --git a/mysql-test/t/union-master.opt b/mysql-test/t/union-master.opt index 3eb98fc3d6b..c852f488260 100644 --- a/mysql-test/t/union-master.opt +++ b/mysql-test/t/union-master.opt @@ -1 +1 @@ ---log-slow-queries --log-long-format --log-queries-not-using-indexes +--log-slow-queries --log-queries-not-using-indexes diff --git a/mysql-test/t/variables.test b/mysql-test/t/variables.test index 8b58b8f2e68..39fa78ef370 100644 --- a/mysql-test/t/variables.test +++ b/mysql-test/t/variables.test @@ -346,7 +346,6 @@ set sql_big_tables=1; set sql_buffer_result=1; set sql_log_bin=1; set sql_log_off=1; -set sql_log_update=1; set sql_low_priority_updates=1; set sql_quote_show_create=1; set sql_safe_updates=1; diff --git a/scripts/mysqld_multi.sh b/scripts/mysqld_multi.sh index 430c74874eb..588c48fae4c 100644 --- a/scripts/mysqld_multi.sh +++ b/scripts/mysqld_multi.sh @@ -59,18 +59,6 @@ sub main push @defaults_options, (shift @ARGV); } - # Handle deprecated --config-file option: convert to --defaults-extra-file - foreach my $arg (@ARGV) - { - if ($arg =~ m/^--config-file=(.*)/) - { - # Put it at the beginning of the list, so it has lower precedence - # than a correct --defaults-extra-file option - - unshift @defaults_options, "--defaults-extra-file=$1"; - } - } - foreach (@defaults_options) { $_ = quote_shell_word($_); @@ -79,11 +67,6 @@ sub main # Add [mysqld_multi] options to front of @ARGV, ready for GetOptions() unshift @ARGV, defaults_for_group('mysqld_multi'); - # The --config-file option can be ignored; if passed on the command - # line, it's already handled; if specified in the configuration file, - # it's redundant and not useful - @ARGV= grep { not /^--config-file=/ } @ARGV; - # We've already handled --no-defaults, --defaults-file, etc. if (!GetOptions("help", "example", "version", "mysqld=s", "mysqladmin=s", "user=s", "password=s", "log=s", "no-log", @@ -740,8 +723,8 @@ from both [mysqld_multi] and [mysqld#], a group that is tried to be used, $my_progname will abort with an error. $my_progname will search for groups named [mysqld#] from my.cnf (or -the given --config-file=...), where '#' can be any positive integer -starting from 1. These groups should be the same as the regular +the given --defaults-extra-file=...), where '#' can be any positive +integer starting from 1. These groups should be the same as the regular [mysqld] group, but with those port, socket and any other options that are to be used with each separate mysqld process. The number in the group name has another function; it can be used for starting, @@ -767,7 +750,6 @@ These options must be given before any others: standard system-wide and user-specific files Using: @{[join ' ', @defaults_options]} ---config-file=... Deprecated, please use --defaults-extra-file instead --example Give an example of a config file with extra information. --help Print this help and exit. --log=... Log file. Full path to and the name for the log file. NOTE: diff --git a/sql/lex.h b/sql/lex.h index 5493206c214..fbedddc6941 100644 --- a/sql/lex.h +++ b/sql/lex.h @@ -226,7 +226,6 @@ static SYMBOL symbols[] = { { "FORCE", SYM(FORCE_SYM)}, { "FOREIGN", SYM(FOREIGN)}, { "FOUND", SYM(FOUND_SYM)}, - { "FRAC_SECOND", SYM(FRAC_SECOND_SYM)}, { "FROM", SYM(FROM)}, { "FULL", SYM(FULL)}, { "FULLTEXT", SYM(FULLTEXT_SYM)}, @@ -517,7 +516,6 @@ static SYMBOL symbols[] = { { "SQL_NO_CACHE", SYM(SQL_NO_CACHE_SYM)}, { "SQL_SMALL_RESULT", SYM(SQL_SMALL_RESULT)}, { "SQL_THREAD", SYM(SQL_THREAD)}, - { "SQL_TSI_FRAC_SECOND", SYM(FRAC_SECOND_SYM)}, { "SQL_TSI_SECOND", SYM(SECOND_SYM)}, { "SQL_TSI_MINUTE", SYM(MINUTE_SYM)}, { "SQL_TSI_HOUR", SYM(HOUR_SYM)}, diff --git a/sql/mysql_priv.h b/sql/mysql_priv.h index 22217f1b405..818475e85d8 100644 --- a/sql/mysql_priv.h +++ b/sql/mysql_priv.h @@ -198,12 +198,12 @@ char* query_table_status(THD *thd,const char *db,const char *table_name); if (((THD *) Thd) != NULL) \ push_warning_printf(((THD *) Thd), MYSQL_ERROR::WARN_LEVEL_WARN, \ ER_WARN_DEPRECATED_SYNTAX, \ - ER(ER_WARN_DEPRECATED_SYNTAX_WITH_VER), \ - (Old), #VerHi "." #VerLo, (New)); \ + ER(ER_WARN_DEPRECATED_SYNTAX), \ + (Old), (New)); \ else \ sql_print_warning("The syntax '%s' is deprecated and will be removed " \ - "in MySQL %s. Please use %s instead.", \ - (Old), #VerHi "." #VerLo, (New)); \ + "in a future release. Please use %s instead.", \ + (Old), (New)); \ } while(0) extern MYSQL_PLUGIN_IMPORT CHARSET_INFO *system_charset_info; @@ -2027,7 +2027,7 @@ extern bool in_bootstrap; extern uint volatile thread_count, global_read_lock; extern uint connection_count; extern my_bool opt_sql_bin_update, opt_safe_user_create, opt_no_mix_types; -extern my_bool opt_safe_show_db, opt_local_infile, opt_myisam_use_mmap; +extern my_bool opt_local_infile, opt_myisam_use_mmap; extern my_bool opt_slave_compressed_protocol, use_temp_pool; extern uint slave_exec_mode_options; extern ulonglong slave_type_conversions_options; @@ -2639,7 +2639,6 @@ enum options_mysqld OPT_BOOTSTRAP, OPT_CONSOLE, OPT_DEBUG_SYNC_TIMEOUT, - OPT_DELAY_KEY_WRITE_ALL, OPT_ISAM_LOG, OPT_KEY_BUFFER_SIZE, OPT_KEY_CACHE_AGE_THRESHOLD, @@ -2658,19 +2657,16 @@ enum options_mysqld OPT_SAFE, OPT_SERVER_ID, OPT_SKIP_HOST_CACHE, - OPT_SKIP_LOCK, OPT_SKIP_NEW, OPT_SKIP_PRIOR, OPT_SKIP_RESOLVE, OPT_SKIP_STACK_TRACE, - OPT_SKIP_SYMLINKS, OPT_SLOW_QUERY_LOG, OPT_SSL_CA, OPT_SSL_CAPATH, OPT_SSL_CERT, OPT_SSL_CIPHER, OPT_SSL_KEY, - OPT_UPDATE_LOG, OPT_WANT_CORE, OPT_ENGINE_CONDITION_PUSHDOWN }; diff --git a/sql/mysqld.cc b/sql/mysqld.cc index a11ba2eec49..3675ebbc973 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -52,6 +52,10 @@ #include "sp_rcontext.h" #include "sp_cache.h" +#ifdef HAVE_POLL_H +#include <poll.h> +#endif + #define mysqld_charset &my_charset_latin1 /* stack traces are only supported on linux intel */ @@ -4008,21 +4012,13 @@ static int init_server_components() Implementation of the above : - If mysqld is started with --log-update and --log-bin, ignore --log-update (print a warning), push a warning when SQL_LOG_UPDATE - is used, and turn off --sql-bin-update-same. + is used, This will completely ignore SQL_LOG_UPDATE - If mysqld is started with --log-update only, change it to --log-bin (with the filename passed to log-update, plus '-bin') (print a warning), push a warning when SQL_LOG_UPDATE is - used, and turn on --sql-bin-update-same. + used. This will translate SQL_LOG_UPDATE to SQL_LOG_BIN. - - Note that we tell the user that --sql-bin-update-same is deprecated and - does nothing, and we don't take into account if he used this option or - not; but internally we give this variable a value to have the behaviour - we want (i.e. have SQL_LOG_UPDATE influence SQL_LOG_BIN or not). - As sql-bin-update-same, log-update and log-bin cannot be changed by the - user after starting the server (they are not variables), the user will - not later interfere with the settings we do here. */ if (opt_bin_log) { @@ -5348,26 +5344,47 @@ void handle_connections_sockets() { my_socket sock,new_sock; uint error_count=0; - uint max_used_connection= (uint) (max(ip_sock,unix_sock)+1); - fd_set readFDs,clientFDs; THD *thd; struct sockaddr_storage cAddr; - int ip_flags=0,socket_flags=0,flags; + int ip_flags=0,socket_flags=0,flags,retval; st_vio *vio_tmp; +#ifdef HAVE_POLL + int socket_count= 0; + struct pollfd fds[2]; // for ip_sock and unix_sock +#else + fd_set readFDs,clientFDs; + uint max_used_connection= (uint) (max(ip_sock,unix_sock)+1); +#endif + DBUG_ENTER("handle_connections_sockets"); LINT_INIT(new_sock); +#ifndef HAVE_POLL FD_ZERO(&clientFDs); +#endif + if (ip_sock != INVALID_SOCKET) { +#ifdef HAVE_POLL + fds[socket_count].fd= ip_sock; + fds[socket_count].events= POLLIN; + socket_count++; +#else FD_SET(ip_sock,&clientFDs); +#endif #ifdef HAVE_FCNTL ip_flags = fcntl(ip_sock, F_GETFL, 0); #endif } #ifdef HAVE_SYS_UN_H +#ifdef HAVE_POLL + fds[socket_count].fd= unix_sock; + fds[socket_count].events= POLLIN; + socket_count++; +#else FD_SET(unix_sock,&clientFDs); +#endif #ifdef HAVE_FCNTL socket_flags=fcntl(unix_sock, F_GETFL, 0); #endif @@ -5377,12 +5394,15 @@ void handle_connections_sockets() MAYBE_BROKEN_SYSCALL; while (!abort_loop) { - readFDs=clientFDs; -#ifdef HPUX10 - if (select(max_used_connection,(int*) &readFDs,0,0,0) < 0) - continue; +#ifdef HAVE_POLL + retval= poll(fds, socket_count, -1); #else - if (select((int) max_used_connection,&readFDs,0,0,0) < 0) + readFDs=clientFDs; + + retval= select((int) max_used_connection,&readFDs,0,0,0); +#endif + + if (retval < 0) { if (socket_errno != SOCKET_EINTR) { @@ -5392,7 +5412,7 @@ void handle_connections_sockets() MAYBE_BROKEN_SYSCALL continue; } -#endif /* HPUX10 */ + if (abort_loop) { MAYBE_BROKEN_SYSCALL; @@ -5400,6 +5420,21 @@ void handle_connections_sockets() } /* Is this a new connection request ? */ +#ifdef HAVE_POLL + for (int i= 0; i < socket_count; ++i) + { + if (fds[i].revents & POLLIN) + { + sock= fds[i].fd; +#ifdef HAVE_FCNTL + flags= fcntl(sock, F_GETFL, 0); +#else + flags= 0; +#endif // HAVE_FCNTL + break; + } + } +#else // HAVE_POLL #ifdef HAVE_SYS_UN_H if (FD_ISSET(unix_sock,&readFDs)) { @@ -5407,11 +5442,12 @@ void handle_connections_sockets() flags= socket_flags; } else -#endif +#endif // HAVE_SYS_UN_H { sock = ip_sock; flags= ip_flags; } +#endif // HAVE_POLL #if !defined(NO_FCNTL_NONBLOCK) if (!(test_flags & TEST_BLOCKING)) @@ -5975,12 +6011,6 @@ struct my_option my_long_options[]= 0, 0, 0}, {"core-file", OPT_WANT_CORE, "Write core on errors.", 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}, - {"default-character-set", 'C', "Set the default character set (deprecated option, use --character-set-server instead).", - (uchar**) &default_character_set_name, (uchar**) &default_character_set_name, - 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0 }, - {"default-collation", 0, "Set the default collation (deprecated option, use --collation-server instead).", - (uchar**) &default_collation_name, (uchar**) &default_collation_name, - 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0 }, /* default-storage-engine should have "MyISAM" as def_value. Instead of initializing it here it is done in init_common_variables() due to a compiler bug in Sun Studio compiler. */ @@ -5990,9 +6020,6 @@ struct my_option my_long_options[]= {"default-time-zone", 0, "Set the default time zone.", (uchar**) &default_tz_name, (uchar**) &default_tz_name, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0 }, - {"delay-key-write-for-all-tables", OPT_DELAY_KEY_WRITE_ALL, - "Don't flush key buffers between writes for any MyISAM table (Deprecated option, use --delay-key-write=all instead).", - 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}, #ifdef HAVE_OPENSSL {"des-key-file", 0, "Load keys for des_encrypt() and des_encrypt from given file.", @@ -6006,10 +6033,6 @@ struct my_option my_long_options[]= (uchar**) &disconnect_slave_event_count, 0, GET_INT, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, #endif /* HAVE_REPLICATION */ - {"enable-locking", 0, - "Deprecated option, use --external-locking instead.", - (uchar**) &opt_external_locking, (uchar**) &opt_external_locking, - 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0}, #ifdef HAVE_STACK_TRACE_ON_SEGV {"enable-pstack", 0, "Print a symbolic stack trace on failure.", (uchar**) &opt_do_pstack, (uchar**) &opt_do_pstack, 0, GET_BOOL, NO_ARG, 0, 0, @@ -6062,9 +6085,6 @@ struct my_option my_long_options[]= {"log-isam", OPT_ISAM_LOG, "Log all MyISAM changes to file.", (uchar**) &myisam_log_filename, (uchar**) &myisam_log_filename, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0}, - {"log-long-format", '0', - "Log some extra information to update log. Please note that this option is deprecated; see --log-short-format option.", - 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}, {"log-short-format", 0, "Don't log extra information to update and slow-query logs.", (uchar**) &opt_short_log_format, (uchar**) &opt_short_log_format, @@ -6097,11 +6117,6 @@ struct my_option my_long_options[]= REQUIRED_ARG, TC_LOG_MIN_SIZE, TC_LOG_MIN_SIZE, ULONG_MAX, 0, TC_LOG_PAGE_SIZE, 0}, #endif - {"log-update", OPT_UPDATE_LOG, - "The update log is deprecated since version 5.0, is replaced by the binary \ -log and this option justs turns on --log-bin instead.", - (uchar**) &opt_update_logname, (uchar**) &opt_update_logname, 0, GET_STR, - OPT_ARG, 0, 0, 0, 0, 0, 0}, {"master-info-file", 0, "The location and name of the file that remembers the master and where the I/O replication \ thread is in the master's binlogs.", @@ -6165,11 +6180,6 @@ Can't be set to 1 if --log-slave-updates is used.", 0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, {"safe-mode", OPT_SAFE, "Skip some optimize stages (for testing).", 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}, -#ifndef TO_BE_DELETED - {"safe-show-database", 0, - "Deprecated option; use GRANT SHOW DATABASES instead...", - 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}, -#endif {"safe-user-create", 0, "Don't allow new user creation by the user who has no write privileges to the mysql.user table.", (uchar**) &opt_safe_user_create, (uchar**) &opt_safe_user_create, 0, GET_BOOL, @@ -6182,9 +6192,6 @@ Can't be set to 1 if --log-slave-updates is used.", (uchar**)&sf_malloc_mem_limit, (uchar**)&sf_malloc_mem_limit, 0, GET_UINT, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, #endif - {"set-variable", 'O', - "Change the value of a variable. Please note that this option is deprecated;you can set variables directly with --variable-name=value.", - 0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, {"show-slave-auth-info", 0, "Show user and password in SHOW SLAVE HOSTS on this master", (uchar**) &opt_show_slave_auth_info, (uchar**) &opt_show_slave_auth_info, 0, @@ -6197,9 +6204,6 @@ Can't be set to 1 if --log-slave-updates is used.", #endif {"skip-host-cache", OPT_SKIP_HOST_CACHE, "Don't cache host names.", 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}, - {"skip-locking", OPT_SKIP_LOCK, - "Deprecated option, use --skip-external-locking instead.", - 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}, {"skip-name-resolve", OPT_SKIP_RESOLVE, "Don't resolve hostnames. All hostnames are IP's or 'localhost'.", 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}, @@ -6211,8 +6215,6 @@ Can't be set to 1 if --log-slave-updates is used.", {"skip-stack-trace", OPT_SKIP_STACK_TRACE, "Don't print a stack trace on failure.", 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}, - {"skip-symlink", OPT_SKIP_SYMLINKS, "Don't allow symlinking of tables. Deprecated option. Use --skip-symbolic-links instead.", - 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}, {"skip-thread-priority", OPT_SKIP_PRIOR, "Don't give threads different priorities. This option is deprecated " "because it has no effect; the implied behavior is already the default.", @@ -6224,10 +6226,6 @@ Can't be set to 1 if --log-slave-updates is used.", (uchar**) &opt_sporadic_binlog_dump_fail, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0}, #endif /* HAVE_REPLICATION */ - {"sql-bin-update-same", 0, - "The update log is deprecated since version 5.0, is replaced by the " - "binary log and this option does nothing anymore.", - 0, 0, 0, GET_DISABLED, NO_ARG, 0, 0, 0, 0, 0, 0}, #ifdef HAVE_OPENSSL {"ssl", 0, "Enable SSL for connection (automatically enabled with other flags).", @@ -6286,20 +6284,12 @@ Can't be set to 1 if --log-slave-updates is used.", 0, 0}, {"version", 'V', "Output version information and exit.", 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}, - {"warnings", 'W', "Deprecated; use --log-warnings instead.", - (uchar**) &global_system_variables.log_warnings, - (uchar**) &max_system_variables.log_warnings, 0, GET_ULONG, OPT_ARG, - 1, 0, ULONG_MAX, 0, 0, 0}, {"plugin-load", 0, "Optional semicolon-separated list of plugins to load, where each plugin is " "identified as name=library, where name is the plugin name and library " "is the plugin library in plugin_dir.", (uchar**) &opt_plugin_load, (uchar**) &opt_plugin_load, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, - {"record_buffer", 0, "Deprecated; use --read-buffer-size instead.", - (uchar**) &global_system_variables.read_buff_size, - (uchar**) &max_system_variables.read_buff_size,0, GET_ULONG, REQUIRED_ARG, - 128*1024L, IO_SIZE*2, INT_MAX32, 0, IO_SIZE, 0}, {"table_cache", 0, "Deprecated; use --table-open-cache instead.", (uchar**) &table_cache_size, (uchar**) &table_cache_size, 0, GET_ULONG, REQUIRED_ARG, TABLE_OPEN_CACHE_DEFAULT, 1, 512*1024L, 0, 1, 0}, @@ -7213,9 +7203,6 @@ mysqld_get_one_option(int optid, case (int) OPT_ISAM_LOG: opt_myisam_log=1; break; - case (int) OPT_UPDATE_LOG: - opt_update_log=1; - break; case (int) OPT_BIN_LOG: opt_bin_log= test(argument != disabled_my_option); break; @@ -7336,9 +7323,6 @@ mysqld_get_one_option(int optid, "and will be removed in MySQL 7.0. This option has no effect " "as the implied behavior is already the default."); break; - case (int) OPT_SKIP_LOCK: - opt_external_locking=0; - break; case (int) OPT_SKIP_HOST_CACHE: opt_specialflag|= SPECIAL_NO_HOST_CACHE; break; @@ -7351,9 +7335,6 @@ mysqld_get_one_option(int optid, case (int) OPT_SKIP_STACK_TRACE: test_flags|=TEST_NO_STACKTRACE; break; - case (int) OPT_SKIP_SYMLINKS: - my_use_symdir=0; - break; case (int) OPT_BIND_ADDRESS: { struct addrinfo *res_lst, hints; @@ -7386,12 +7367,6 @@ mysqld_get_one_option(int optid, case OPT_SERVER_ID: server_id_supplied = 1; break; - case OPT_DELAY_KEY_WRITE_ALL: - if (argument != disabled_my_option) - delay_key_write_options= DELAY_KEY_WRITE_ALL; - else - delay_key_write_options= DELAY_KEY_WRITE_NONE; - break; case OPT_ONE_THREAD: thread_handling= SCHEDULER_ONE_THREAD_PER_CONNECTION; break; diff --git a/sql/share/errmsg-utf8.txt b/sql/share/errmsg-utf8.txt index 40b842c813e..7ea8c75e43e 100644 --- a/sql/share/errmsg-utf8.txt +++ b/sql/share/errmsg-utf8.txt @@ -5018,10 +5018,8 @@ ER_UNKNOWN_STORAGE_ENGINE 42000 ger "Unbekannte Speicher-Engine '%s'" por "Motor de tabela desconhecido '%s'" spa "Desconocido motor de tabla '%s'" -# When using this error code, use ER(ER_WARN_DEPRECATED_SYNTAX_WITH_VER) -# for the message string. See, for example, code in mysql_priv.h. ER_WARN_DEPRECATED_SYNTAX - eng "'%s' is deprecated; use '%s' instead" + eng "'%s' is deprecated and will be removed in a future release. Please use %s instead" ger "'%s' ist veraltet. Bitte benutzen Sie '%s'" por "'%s' é desatualizado. Use '%s' em seu lugar" spa "'%s' está desaprobado, use '%s' en su lugar" diff --git a/sql/spatial.cc b/sql/spatial.cc index 671b8544b8a..9a31b099e92 100644 --- a/sql/spatial.cc +++ b/sql/spatial.cc @@ -1612,9 +1612,8 @@ int Gis_multi_polygon::area(double *ar, const char **end_of_data) const int Gis_multi_polygon::centroid(String *result) const { uint32 n_polygons; - bool first_loop= 1; Gis_polygon p; - double UNINIT_VAR(res_area), UNINIT_VAR(res_cx), UNINIT_VAR(res_cy); + double res_area= 0.0, res_cx= 0.0, res_cy= 0.0; double cur_area, cur_cx, cur_cy; const char *data= m_data; @@ -1631,20 +1630,13 @@ int Gis_multi_polygon::centroid(String *result) const p.centroid_xy(&cur_cx, &cur_cy)) return 1; - if (!first_loop) - { - double sum_area= res_area + cur_area; - res_cx= (res_area * res_cx + cur_area * cur_cx) / sum_area; - res_cy= (res_area * res_cy + cur_area * cur_cy) / sum_area; - } - else - { - first_loop= 0; - res_area= cur_area; - res_cx= cur_cx; - res_cy= cur_cy; - } + res_area+= cur_area; + res_cx+= cur_area * cur_cx; + res_cy+= cur_area * cur_cy; } + + res_cx/= res_area; + res_cy/= res_area; return create_point(result, res_cx, res_cy); } diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy index 61f3d3b50ee..f03694cb359 100644 --- a/sql/sql_yacc.yy +++ b/sql/sql_yacc.yy @@ -968,7 +968,6 @@ bool my_yyoverflow(short **a, YYSTYPE **b, ulong *yystacksize); %token FOREIGN /* SQL-2003-R */ %token FOR_SYM /* SQL-2003-R */ %token FOUND_SYM /* SQL-2003-R */ -%token FRAC_SECOND_SYM %token FROM %token FULL /* SQL-2003-R */ %token FULLTEXT_SYM @@ -1494,8 +1493,6 @@ bool my_yyoverflow(short **a, YYSTYPE **b, ulong *yystacksize); %type <date_time_type> date_time_type; %type <interval> interval -%type <interval_time_st> interval_time_st - %type <interval_time_st> interval_time_stamp %type <db_type> storage_engines known_storage_engines @@ -9535,7 +9532,7 @@ using_list: ; interval: - interval_time_st {} + interval_time_stamp {} | DAY_HOUR_SYM { $$=INTERVAL_DAY_HOUR; } | DAY_MICROSECOND_SYM { $$=INTERVAL_DAY_MICROSECOND; } | DAY_MINUTE_SYM { $$=INTERVAL_DAY_MINUTE; } @@ -9550,27 +9547,6 @@ interval: ; interval_time_stamp: - interval_time_st {} - | FRAC_SECOND_SYM - { - $$=INTERVAL_MICROSECOND; - /* - FRAC_SECOND was mistakenly implemented with - a wrong resolution. According to the ODBC - standard it should be nanoseconds, not - microseconds. Changing it to nanoseconds - in MySQL would mean making TIMESTAMPDIFF - and TIMESTAMPADD to return DECIMAL, since - the return value would be too big for BIGINT - Hence we just deprecate the incorrect - implementation without changing its - resolution. - */ - WARN_DEPRECATED(yythd, 6, 2, "FRAC_SECOND", "MICROSECOND"); - } - ; - -interval_time_st: DAY_SYM { $$=INTERVAL_DAY; } | WEEK_SYM { $$=INTERVAL_WEEK; } | HOUR_SYM { $$=INTERVAL_HOUR; } @@ -12307,7 +12283,6 @@ keyword_sp: | FILE_SYM {} | FIRST_SYM {} | FIXED_SYM {} - | FRAC_SECOND_SYM {} | GEOMETRY_SYM {} | GEOMETRYCOLLECTION {} | GET_FORMAT {} diff --git a/sql/sys_vars.cc b/sql/sys_vars.cc index 4575ca79049..ba970925fc6 100644 --- a/sql/sys_vars.cc +++ b/sql/sys_vars.cc @@ -2205,30 +2205,6 @@ static Sys_var_bit Sys_log_binlog( DEFAULT(TRUE), NO_MUTEX_GUARD, NOT_IN_BINLOG, ON_CHECK(check_has_super), ON_UPDATE(fix_sql_log_bin)); -static bool deprecated_log_update(sys_var *self, THD *thd, set_var *var) -{ - /* - The update log is not supported anymore since 5.0. - See sql/mysqld.cc/, comments in function init_server_components() for an - explaination of the different warnings we send below - */ - - if (opt_sql_bin_update) - push_warning(thd, MYSQL_ERROR::WARN_LEVEL_NOTE, - ER_UPDATE_LOG_DEPRECATED_TRANSLATED, - ER(ER_UPDATE_LOG_DEPRECATED_TRANSLATED)); - else - push_warning(thd, MYSQL_ERROR::WARN_LEVEL_NOTE, - ER_UPDATE_LOG_DEPRECATED_IGNORED, - ER(ER_UPDATE_LOG_DEPRECATED_IGNORED)); - return check_has_super(self, thd, var); -} -static Sys_var_bit Sys_log_update( - "sql_log_update", "alias for sql_log_bin", - SESSION_VAR(option_bits), NO_CMD_LINE, OPTION_BIN_LOG, - DEFAULT(TRUE), NO_MUTEX_GUARD, NOT_IN_BINLOG, - ON_CHECK(deprecated_log_update), ON_UPDATE(fix_sql_log_bin)); - static Sys_var_bit Sys_sql_warnings( "sql_warnings", "sql_warnings", SESSION_VAR(option_bits), NO_CMD_LINE, OPTION_WARNINGS, |