Commit a64f234a authored by unknown's avatar unknown
Browse files

Merge shellback.(none):/home/msvensson/mysql/mysql-5.0-maint

into  shellback.(none):/home/msvensson/mysql/mysql-5.1-maint


client/mysqltest.c:
  Auto merged
mysql-test/t/rpl_slave_status.test:
  Auto merged
mysql-test/t/system_mysql_db_fix.test:
  Auto merged
parents 2da62529 4b865edd
Loading
Loading
Loading
Loading
+11 −7
Original line number Diff line number Diff line
@@ -1498,6 +1498,7 @@ void do_exec(struct st_command *command)
  DBUG_ENTER("do_exec");
  DBUG_PRINT("enter", ("cmd: '%s'", cmd));

  /* Skip leading space */
  while (*cmd && my_isspace(charset_info, *cmd))
    cmd++;
  if (!*cmd)
@@ -1507,7 +1508,6 @@ void do_exec(struct st_command *command)
  init_dynamic_string(&ds_cmd, 0, command->query_len+256, 256);
  /* Eval the command, thus replacing all environment variables */
  do_eval(&ds_cmd, cmd, command->end, TRUE);
  cmd= ds_cmd.str;

  DBUG_PRINT("info", ("Executing '%s' as '%s'",
                      command->first_argument, cmd));
@@ -2544,11 +2544,11 @@ void do_get_errcodes(struct st_command *command)
        - May contain only digits[0-9] and _uppercase_ letters
      */
      p++; /* Step past the S */
      if (end - p != SQLSTATE_LENGTH)
      if ((end - p) != SQLSTATE_LENGTH)
        die("The sqlstate must be exactly %d chars long", SQLSTATE_LENGTH);

      /* Check sqlstate string validity */
      while (*p && p != end)
      while (*p && p < end)
      {
        if (my_isdigit(charset_info, *p) || my_isupper(charset_info, *p))
          *to_ptr++= *p++;
@@ -4652,7 +4652,8 @@ void handle_error(struct st_command *command,
    */
    if (err_errno == CR_SERVER_LOST ||
        err_errno == CR_SERVER_GONE_ERROR)
      die("require query '%s' failed: %d: %s", command->query, err_errno, err_error);
      die("require query '%s' failed: %d: %s", command->query,
          err_errno, err_error);

    /* Abort the run of this test, pass the failed query as reason */
    abort_not_supported_test("Query '%s' failed, required functionality" \
@@ -4669,8 +4670,8 @@ void handle_error(struct st_command *command,
    if (((command->expected_errors.err[i].type == ERR_ERRNO) &&
         (command->expected_errors.err[i].code.errnum == err_errno)) ||
        ((command->expected_errors.err[i].type == ERR_SQLSTATE) &&
         (strcmp(command->expected_errors.err[i].code.sqlstate,
                 err_sqlstate) == 0)))
         (strncmp(command->expected_errors.err[i].code.sqlstate,
                  err_sqlstate, SQLSTATE_LENGTH) == 0)))
    {
      if (!disable_result_log)
      {
@@ -4695,7 +4696,7 @@ void handle_error(struct st_command *command,
  }

  DBUG_PRINT("info",("i: %d  expected_errors: %d", i,
                     command->expected_errors));
                     command->expected_errors.count));

  if (!disable_result_log)
  {
@@ -5423,6 +5424,9 @@ int main(int argc, char **argv)
  save_file[0]= 0;
  TMPDIR[0]= 0;

  /* Init expected errors */
  memset(&saved_expected_errors, 0, sizeof(saved_expected_errors));

  /* Init connections */
  memset(connections, 0, sizeof(connections));
  connections_end= connections +
+64 −39
Original line number Diff line number Diff line
@@ -311,8 +311,8 @@ our $used_binlog_format;
our $debug_compiled_binaries;
our $glob_tot_real_time= 0;

# Default values read from mysqld
our $default_mysqld_port;
our %mysqld_variables;


######################################################################
#
@@ -368,7 +368,13 @@ sub main () {

  initial_setup();
  command_line_setup();

  check_ndbcluster_support(\%mysqld_variables);
  check_ssl_support(\%mysqld_variables);
  check_debug_support(\%mysqld_variables);

  executable_setup();

  environment_setup();
  signal_setup();

@@ -501,7 +507,7 @@ sub initial_setup () {
  $exe_slave_mysqld=  $exe_slave_mysqld  || $exe_mysqld;

  # Use the mysqld found above to find out what features are available
  check_mysqld_features();
  collect_mysqld_features();

}

@@ -721,7 +727,6 @@ sub command_line_setup () {
  # --------------------------------------------------------------------------
  # Find out type of logging that are being used
  # --------------------------------------------------------------------------

  # NOTE if the default binlog format is changed, this has to be changed
  $used_binlog_format= "stmt";
  foreach my $arg ( @opt_extra_mysqld_opt )
@@ -762,7 +767,6 @@ sub command_line_setup () {
  # --------------------------------------------------------------------------
  # Set the "var/" directory, as it is the base for everything else
  # --------------------------------------------------------------------------

  $default_vardir= "$glob_mysql_test_dir/var";
  if ( ! $opt_vardir )
  {
@@ -792,25 +796,46 @@ sub command_line_setup () {
  }

  # --------------------------------------------------------------------------
  # If not set, set these to defaults
  # Set tmpdir
  # --------------------------------------------------------------------------

  $opt_tmpdir=       "$opt_vardir/tmp" unless $opt_tmpdir;
  $opt_tmpdir =~ s,/+$,,;       # Remove ending slash if any

  # --------------------------------------------------------------------------
  # Do sanity checks of command line arguments
  # Set socket
  # --------------------------------------------------------------------------
  if (!$opt_socket)
  {
    $opt_socket=  $mysqld_variables{'socket'};
  }

  # --------------------------------------------------------------------------
  # Look at the command line options and set script flags
  # Check im suport
  # --------------------------------------------------------------------------
  if ( $mysql_version_id < 50000 )
  {
    # Instance manager is not supported until 5.0
    $opt_skip_im= 1;

  }

  if ( $glob_win32 )
  {
    mtr_report("Disable Instance manager - not supported on Windows");
    $opt_skip_im= 1;
  }

  # --------------------------------------------------------------------------
  # Record flag
  # --------------------------------------------------------------------------
  if ( $opt_record and ! @opt_cases )
  {
    mtr_error("Will not run in record mode without a specific test case");
  }

  # --------------------------------------------------------------------------
  # Embedded server flag
  # --------------------------------------------------------------------------
  if ( $opt_embedded_server )
  {
    $glob_use_embedded_server= 1;
@@ -825,11 +850,18 @@ sub command_line_setup () {
    }
  }


  # --------------------------------------------------------------------------
  # ps protcol flag
  # --------------------------------------------------------------------------
  if ( $opt_ps_protocol )
  {
    push(@glob_test_mode, "ps-protocol");
  }

  # --------------------------------------------------------------------------
  # Ndb cluster flags
  # --------------------------------------------------------------------------
  if ( $opt_with_ndbcluster and $opt_skip_ndbcluster)
  {
    mtr_error("Can't specify both --with-ndbcluster and --skip-ndbcluster");
@@ -865,22 +897,33 @@ sub command_line_setup () {
    $opt_ndbconnectstring_slave= "host=localhost:$opt_ndbcluster_port_slave";
  }

  # --------------------------------------------------------------------------
  # Bench flags
  # --------------------------------------------------------------------------
  if ( $opt_small_bench )
  {
    $opt_bench=  1;
  }

  # --------------------------------------------------------------------------
  # Sleep flag
  # --------------------------------------------------------------------------
  if ( $opt_sleep )
  {
    $opt_sleep_time_after_restart= $opt_sleep;
  }

  # --------------------------------------------------------------------------
  # Gcov flag
  # --------------------------------------------------------------------------
  if ( $opt_gcov and ! $opt_source_dist )
  {
    mtr_error("Coverage test needs the source - please use source dist");
  }

  # --------------------------------------------------------------------------
  # Check debug related options
  # --------------------------------------------------------------------------
  if ( $opt_gdb || $opt_client_gdb || $opt_ddd || $opt_client_ddd ||
       $opt_manual_gdb || $opt_manual_ddd || $opt_manual_debug ||
       $opt_debugger || $opt_client_debugger )
@@ -895,13 +938,9 @@ sub command_line_setup () {
    }
  }

  # Check IM arguments
  if ( $glob_win32 )
  {
    mtr_report("Disable Instance manager - not supported on Windows");
    $opt_skip_im= 1;
  }
  # --------------------------------------------------------------------------
  # Check valgrind arguments
  # --------------------------------------------------------------------------
  if ( $opt_valgrind or $opt_valgrind_path or defined $opt_valgrind_options)
  {
    mtr_report("Turning on valgrind for all executables");
@@ -1185,7 +1224,7 @@ sub datadir_setup () {
##############################################################################


sub check_mysqld_features () {
sub collect_mysqld_features () {
  #
  # Execute "mysqld --no-defaults --help --verbose", that will
  # print out version and a list of all features and settings
@@ -1202,7 +1241,6 @@ sub check_mysqld_features () {
	      $exe_mysqld);
  }

  my %mysqld_variables;
  my $F= IO::File->new($spec_file) or
    mtr_error("can't open file \"$spec_file\": $!");

@@ -1263,27 +1301,6 @@ sub check_mysqld_features () {
  mtr_error("Could not find version of MySQL") unless $mysql_version_id;
  mtr_error("Could not find variabes list") unless $found_variable_list_start;

  check_ndbcluster_support(\%mysqld_variables);
  check_ssl_support(\%mysqld_variables);
  check_debug_support(\%mysqld_variables);

  if ( $mysql_version_id < 50000 )
  {
    # Instance manager is not supported until 5.0
    $opt_skip_im= 1;

  }

  if ( $mysql_version_id < 50100 )
  {
    # Slave cluster is not supported until 5.1
    $opt_skip_ndbcluster_slave= 1;

  }

  # Set default values from mysqld_variables
  $opt_socket=  $mysqld_variables{'socket'};
  $default_mysqld_port = $mysqld_variables{'port'};
}


@@ -1516,7 +1533,7 @@ sub environment_setup () {
  $ENV{'SLAVE_MYPORT'}=       $slave->[0]->{'port'};
  $ENV{'SLAVE_MYPORT1'}=      $slave->[1]->{'port'};
  $ENV{'SLAVE_MYPORT2'}=      $slave->[2]->{'port'};
  $ENV{'MYSQL_TCP_PORT'}=     $default_mysqld_port;
  $ENV{'MYSQL_TCP_PORT'}=     $mysqld_variables{'port'};

  $ENV{MTR_BUILD_THREAD}= 0 unless $ENV{MTR_BUILD_THREAD}; # Set if not set

@@ -2006,6 +2023,14 @@ sub check_ndbcluster_support ($) {
  }
  $opt_ndbcluster_supported= 1;
  mtr_report("Using ndbcluster when necessary, mysqld supports it");

  if ( $mysql_version_id < 50100 )
  {
    # Slave cluster is not supported until 5.1
    $opt_skip_ndbcluster_slave= 1;

  }

  return;
}

+1 −1
Original line number Diff line number Diff line
@@ -19,7 +19,7 @@ start slave;
connection master;
--disable_warnings
drop table if exists t1;
--enable_warning
--enable_warnings
create table t1 (n int);
insert into t1 values (1);
save_master_pos;
+3 −3
Original line number Diff line number Diff line
@@ -42,7 +42,7 @@ CREATE TABLE db (
  KEY User (User)
)
engine=MyISAM;
--enable-warnings
--enable_warnings

INSERT INTO db VALUES ('%','test',   '','Y','Y','Y','Y','Y','Y');
INSERT INTO db VALUES ('%','test\_%','','Y','Y','Y','Y','Y','Y');
@@ -60,7 +60,7 @@ CREATE TABLE host (
  PRIMARY KEY Host (Host,Db)
)
engine=MyISAM;
--enable-warnings
--enable_warnings

--disable_warnings
CREATE TABLE user (
@@ -79,7 +79,7 @@ CREATE TABLE user (
  PRIMARY KEY Host (Host,User)
)
engine=MyISAM;
--enable-warnings
--enable_warnings

INSERT INTO user VALUES ('localhost','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y');
INSERT INTO user VALUES ('localhost','',    '','N','N','N','N','N','N','N','N','N');