List:Commits« Previous MessageNext Message »
From:tim Date:December 22 2006 2:20am
Subject:bk commit into 5.0 tree (tsmith:1.2356)
View as plain text  
Below is the list of changes that have just been committed into a local
5.0 repository of tim. When tim does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html

ChangeSet@stripped, 2006-12-21 18:20:09-07:00, tsmith@stripped +7 -0
  Merge siva.hindu.god:/usr/home/tim/m/bk/g50
  into  siva.hindu.god:/usr/home/tim/m/bk/50
  MERGE: 1.2341.4.7

  mysql-test/Makefile.am@stripped, 2006-12-21 18:20:03-07:00, tsmith@stripped +0 -1
    Auto merged
    MERGE: 1.78.1.1

  mysql-test/mysql-test-run.pl@stripped, 2006-12-21 18:20:03-07:00, tsmith@stripped +0 -0
    Auto merged
    MERGE: 1.184.1.2

  scripts/make_binary_distribution.sh@stripped, 2006-12-21 18:20:04-07:00, tsmith@stripped +0 -0
    Auto merged
    MERGE: 1.115.1.1

  scripts/mysqld_multi.sh@stripped, 2006-12-21 18:20:04-07:00, tsmith@stripped +0 -0
    Auto merged
    MERGE: 1.30.1.2

  sql/field.cc@stripped, 2006-12-21 18:20:04-07:00, tsmith@stripped +0 -0
    Auto merged
    MERGE: 1.333.1.1

  sql/field.h@stripped, 2006-12-21 18:20:04-07:00, tsmith@stripped +0 -0
    Auto merged
    MERGE: 1.191.1.1

  sql/sql_class.h@stripped, 2006-12-21 18:20:04-07:00, tsmith@stripped +0 -0
    Auto merged
    MERGE: 1.313.2.1

# This is a BitKeeper patch.  What follows are the unified diffs for the
# set of deltas contained in the patch.  The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User:	tsmith
# Host:	siva.hindu.god
# Root:	/usr/home/tim/m/bk/50/RESYNC

--- 1.116/scripts/make_binary_distribution.sh	2006-12-21 18:20:17 -07:00
+++ 1.117/scripts/make_binary_distribution.sh	2006-12-21 18:20:17 -07:00
@@ -243,6 +243,7 @@ $CP mysql-test/include/*.inc $BASE/mysql
 $CP mysql-test/include/*.test $BASE/mysql-test/include
 $CP mysql-test/t/*.def $BASE/mysql-test/t
 $CP mysql-test/std_data/*.dat mysql-test/std_data/*.frm \
+    mysql-test/std_data/*.MYD mysql-test/std_data/*.MYI \
     mysql-test/std_data/*.pem mysql-test/std_data/Moscow_leap \
     mysql-test/std_data/des_key_file mysql-test/std_data/*.*001 \
     mysql-test/std_data/*.cnf mysql-test/std_data/*.MY* \

--- 1.335/sql/field.cc	2006-12-21 18:20:17 -07:00
+++ 1.336/sql/field.cc	2006-12-21 18:20:17 -07:00
@@ -7835,6 +7835,16 @@ void Field_enum::sql_type(String &res) c
 }
 
 
+Field *Field_enum::new_field(MEM_ROOT *root, struct st_table *new_table,
+                             bool keep_type)
+{
+  Field_enum *res= (Field_enum*) Field::new_field(root, new_table, keep_type);
+  if (res)
+    res->typelib= copy_typelib(root, typelib);
+  return res;
+}
+
+
 /*
    set type.
    This is a string which can have a collection of different values.

--- 1.192/sql/field.h	2006-12-21 18:20:17 -07:00
+++ 1.193/sql/field.h	2006-12-21 18:20:17 -07:00
@@ -1298,6 +1298,7 @@ public:
   {
       flags|=ENUM_FLAG;
   }
+  Field *new_field(MEM_ROOT *root, struct st_table *new_table, bool keep_type);
   enum_field_types type() const { return FIELD_TYPE_STRING; }
   enum Item_result cmp_type () const { return INT_RESULT; }
   enum Item_result cast_to_int_type () const { return INT_RESULT; }

--- 1.31/scripts/mysqld_multi.sh	2006-12-21 18:20:17 -07:00
+++ 1.32/scripts/mysqld_multi.sh	2006-12-21 18:20:17 -07:00
@@ -472,6 +472,14 @@ sub find_groups
     {
       $data[$i] = $line;
     }
+    if (-f "/etc/mysql/my.cnf" && -r "/etc/mysql/my.cnf")
+    {
+      open(MY_CNF, "</etc/mysql/my.cnf") && (@tmp=<MY_CNF>) && close(MY_CNF);
+    }
+    for (; ($line = shift @tmp); $i++)
+    {
+      $data[$i] = $line;
+    }
     if (defined($ENV{MYSQL_HOME}) && -f "$ENV{MYSQL_HOME}/my.cnf" &&
 	-r "$ENV{MYSQL_HOME}/my.cnf")
     {
@@ -482,6 +490,14 @@ sub find_groups
     {
       $data[$i] = $line;
     }
+    if (-f "/etc/mysql/my.cnf" && -r "/etc/mysql/my.cnf")
+    {
+      open(MY_CNF, "</etc/mysql/my.cnf") && (@tmp=<MY_CNF>) && close(MY_CNF);
+    }
+    for (; ($line = shift @tmp); $i++)
+    {
+      $data[$i] = $line;
+    }
     if (-f "$homedir/.my.cnf" && -r "$homedir/.my.cnf")
     {
       open(MY_CNF, "<$homedir/.my.cnf") && (@tmp=<MY_CNF>) && close(MY_CNF);
@@ -491,7 +507,7 @@ sub find_groups
       $data[$i] = $line;
     }
   }
-  chop @data;
+  chomp @data;
   # Make a list of the wanted group ids
   if (defined($raw_gids))
   {

--- 1.187/mysql-test/mysql-test-run.pl	2006-12-21 18:20:17 -07:00
+++ 1.188/mysql-test/mysql-test-run.pl	2006-12-21 18:20:17 -07:00
@@ -231,10 +231,12 @@ our $opt_ndbconnectstring_slave;
 our $opt_record;
 my $opt_report_features;
 our $opt_check_testcases;
+our $opt_mark_progress;
 
 our $opt_skip;
 our $opt_skip_rpl;
 our $max_slave_num= 0;
+our $max_master_num= 0;
 our $use_innodb;
 our $opt_skip_test;
 our $opt_skip_im;
@@ -413,6 +415,15 @@ sub main () {
 	$max_slave_num= $test->{slave_num};
 	mtr_error("Too many slaves") if $max_slave_num > 3;
       }
+
+      # Count max number of masters used by a test case
+      if ( $test->{master_num} > $max_master_num)
+      {
+	$max_master_num= $test->{master_num};
+	mtr_error("Too many masters") if $max_master_num > 2;
+	mtr_error("Too few masters") if $max_master_num < 1;
+      }
+
       $use_innodb||= $test->{'innodb_test'};
     }
 
@@ -536,6 +547,7 @@ sub command_line_setup () {
              # Test case authoring
              'record'                   => \$opt_record,
              'check-testcases'          => \$opt_check_testcases,
+             'mark-progress'            => \$opt_mark_progress,
 
              # Extra options used when starting mysqld
              'mysqld=s'                 => \@opt_extra_mysqld_opt,
@@ -1211,6 +1223,19 @@ sub command_line_setup () {
   $path_ndb_testrun_log= "$opt_vardir/log/ndb_testrun.log";
 
   $path_snapshot= "$opt_tmpdir/snapshot_$opt_master_myport/";
+
+  if ( $opt_valgrind and $opt_debug )
+  {
+    # When both --valgrind and --debug is selected, send
+    # all output to the trace file, making it possible to
+    # see the exact location where valgrind complains
+    foreach my $mysqld (@{$master}, @{$slave})
+    {
+      my $sidx= $mysqld->{idx} ? "$mysqld->{idx}" : "";
+      $mysqld->{path_myerr}=
+	"$opt_vardir/log/" . $mysqld->{type} . "$sidx.trace";
+    }
+  }
 }
 
 #
@@ -1259,9 +1284,10 @@ sub set_mtr_build_thread_ports($) {
 sub datadir_list_setup () {
 
   # Make a list of all data_dirs
-  @data_dir_lst = (
-    $master->[0]->{'path_myddir'},
-    $master->[1]->{'path_myddir'});
+  for (my $idx= 0; $idx < $max_master_num; $idx++)
+  {
+    push(@data_dir_lst, $master->[$idx]->{'path_myddir'});
+  }
 
   for (my $idx= 0; $idx < $max_slave_num; $idx++)
   {
@@ -2730,8 +2756,10 @@ sub mysql_install_db () {
 
   install_db('master', $master->[0]->{'path_myddir'});
 
-  # FIXME check if testcase really is using second master
-  copy_install_db('master', $master->[1]->{'path_myddir'});
+  if ($max_master_num)
+  {
+    copy_install_db('master', $master->[1]->{'path_myddir'});
+  }
 
   # Install the number of slave databses needed
   for (my $idx= 0; $idx < $max_slave_num; $idx++)
@@ -3533,11 +3561,10 @@ sub mysqld_arguments ($$$$$) {
   if ( $glob_use_embedded_server )
   {
     $prefix= "--server-arg=";
-  } else {
-    # We can't pass embedded server --no-defaults
-    mtr_add_arg($args, "--no-defaults");
   }
 
+  mtr_add_arg($args, "%s--no-defaults", $prefix);
+
   mtr_add_arg($args, "%s--console", $prefix);
   mtr_add_arg($args, "%s--basedir=%s", $prefix, $path_my_basedir);
   mtr_add_arg($args, "%s--character-sets-dir=%s", $prefix, $path_charsetsdir);
@@ -4266,7 +4293,8 @@ sub run_testcase_start_servers($) {
 
     }
 
-    if ( $clusters->[0]->{'pid'} and ! $master->[1]->{'pid'} )
+    if ( $clusters->[0]->{'pid'} and ! $master->[1]->{'pid'} and
+	 $tinfo->{'master_num'} > 1 )
     {
       # Test needs cluster, start an extra mysqld connected to cluster
 
@@ -4477,6 +4505,10 @@ sub run_mysqltest ($) {
   mtr_add_arg($args, "--tmpdir=%s", $opt_tmpdir);
   mtr_add_arg($args, "--character-sets-dir=%s", $path_charsetsdir);
 
+  # Log line number and time  for each line in .test file
+  mtr_add_arg($args, "--mark-progress")
+    if $opt_mark_progress;
+
   if ($tinfo->{'component_id'} eq 'im')
   {
     mtr_add_arg($args, "--socket=%s", $instance_manager->{'path_sock'});
@@ -4932,6 +4964,7 @@ Options for test case authoring
 
   record TESTNAME       (Re)genereate the result file for TESTNAME
   check-testcases       Check testcases for sideeffects
+  mark-progress         Log line number and elapsed time to <testname>.progress
 
 Options that pass on options
 
Thread
bk commit into 5.0 tree (tsmith:1.2356)tim22 Dec