List:Commits« Previous MessageNext Message »
From:msvensson Date:November 13 2006 4:57pm
Subject:bk commit into 5.1 tree (msvensson:1.2359)
View as plain text  
Below is the list of changes that have just been committed into a local
5.1 repository of msvensson. When msvensson 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-11-13 17:57:31+01:00, msvensson@neptunus.(none) +7 -0
  Merge neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint
  into  neptunus.(none):/home/msvensson/mysql/mysql-5.1-new-maint
  MERGE: 1.1810.1698.178

  BitKeeper/deleted/.del-Makefile.am~abb265028eb9b6a7@stripped, 2006-11-13 17:54:06+01:00, msvensson@neptunus.(none) +0 -0
    Auto merged
    MERGE: 1.22.2.2

  BitKeeper/deleted/.del-Makefile.am~abb265028eb9b6a7@stripped, 2006-11-13 17:54:06+01:00, msvensson@neptunus.(none) +0 -0
    Merge rename: tools/Makefile.am -> BitKeeper/deleted/.del-Makefile.am~abb265028eb9b6a7

  client/Makefile.am@stripped, 2006-11-13 17:57:14+01:00, msvensson@neptunus.(none) +21 -73
    f
    Use remote
    MERGE: 1.52.1.8

  client/mysql_upgrade.c@stripped, 2006-11-13 17:54:06+01:00, msvensson@neptunus.(none) +0 -0
    Auto merged
    MERGE: 1.6.1.5

  mysql-test/mysql-test-run-shell.sh@stripped, 2006-11-13 17:54:06+01:00, msvensson@neptunus.(none) +0 -0
    Auto merged
    MERGE: 1.262.14.2

  mysql-test/mysql-test-run-shell.sh@stripped, 2006-11-13 17:54:06+01:00, msvensson@neptunus.(none) +0 -0
    Merge rename: mysql-test/mysql-test-run.sh -> mysql-test/mysql-test-run-shell.sh

  mysql-test/mysql-test-run.pl@stripped, 2006-11-13 17:54:06+01:00, msvensson@neptunus.(none) +0 -0
    Auto merged
    MERGE: 1.30.49.10

  tests/Makefile.am@stripped, 2006-11-13 17:57:28+01:00, msvensson@neptunus.(none) +0 -0
    SCCS merged
    MERGE: 1.23.1.6

  vio/Makefile.am@stripped, 2006-11-13 17:54:07+01:00, msvensson@neptunus.(none) +0 -1
    Auto merged
    MERGE: 1.17.1.3

# 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:	msvensson
# Host:	neptunus.(none)
# Root:	/home/msvensson/mysql/mysql-5.1-new-maint/RESYNC

--- 1.78/client/Makefile.am	2006-11-13 17:57:37 +01:00
+++ 1.79/client/Makefile.am	2006-11-13 17:57:37 +01:00
@@ -1,109 +1,64 @@
 # Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-#
+# 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; either version 2 of the License, or
 # (at your option) any later version.
-#
+# 
 # This program is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 # GNU General Public License for more details.
-#
+# 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
 # This file is public domain and comes with NO WARRANTY of any kind
 
-if HAVE_YASSL
-  yassl_dummy_link_fix= $(top_srcdir)/extra/yassl/src/dummy.cpp
-else
-  yassl_dummy_link_fix=
-endif
-
-if THREAD_SAFE_CLIENT
-LIBMYSQLCLIENT_LA =		$(top_builddir)/libmysql_r/libmysqlclient_r.la
-else
-LIBMYSQLCLIENT_LA =		$(top_builddir)/libmysql/libmysqlclient.la
-endif
-
+#AUTOMAKE_OPTIONS =              nostdinc
 INCLUDES =			-I$(top_builddir)/include \
 				-I$(top_srcdir)/include \
 				-I$(top_srcdir)/regex \
                                 $(openssl_includes)
-
 LIBS =				@CLIENT_LIBS@
-
-LDADD=				@CLIENT_EXTRA_LDFLAGS@ $(CLIENT_THREAD_LIBS) \
-				$(top_builddir)/libmysql/libmysqlclient.la
-
+LDADD=				@CLIENT_EXTRA_LDFLAGS@ \
+                                $(top_builddir)/libmysql/libmysqlclient.la
+bin_PROGRAMS =			mysql mysqladmin mysqlcheck mysqlshow \
+				mysqldump mysqlimport mysqltest mysqlbinlog \
+				mysql_upgrade \
+				mysqltestmanagerc mysqltestmanager-pwgen
 noinst_HEADERS =		sql_string.h completion_hash.h my_readline.h \
 				client_priv.h
-
-EXTRA_DIST =			get_password.c CMakeLists.txt
-
-bin_PROGRAMS =			mysql \
-				mysqladmin \
-				mysqlbinlog \
-				mysqlcheck \
-				mysqldump \
-				mysqlimport \
-				mysqlshow \
-				mysqlslap \
-				mysqltest \
-				mysql_upgrade
-
-mysql_SOURCES =			mysql.cc readline.cc sql_string.cc \
-				completion_hash.cc
-mysql_LDADD =			@readline_link@ @TERMCAP_LIB@ \
-				$(LDADD) $(CXXLDFLAGS)
+mysql_SOURCES =			mysql.cc readline.cc sql_string.cc completion_hash.cc
 mysqladmin_SOURCES =		mysqladmin.cc
+mysql_LDADD =			@readline_link@ @TERMCAP_LIB@ $(LDADD) $(CXXLDFLAGS)
+mysqltest_SOURCES=              mysqltest.c \
+				$(top_srcdir)/mysys/my_getsystime.c \
+				$(top_srcdir)/mysys/my_copy.c
 
-mysqlbinlog_SOURCES =		mysqlbinlog.cc \
+mysqltest_LDADD =		$(top_builddir)/regex/libregex.a $(LDADD)
+mysqlbinlog_SOURCES =   	mysqlbinlog.cc \
 				$(top_srcdir)/mysys/mf_tempdir.c \
-				$(top_srcdir)/mysys/my_new.cc \
-				$(top_srcdir)/mysys/my_bit.c \
-				$(top_srcdir)/mysys/my_bitmap.c \
-				$(top_srcdir)/mysys/my_vle.c \
-				$(top_srcdir)/mysys/base64.c
+				$(top_srcdir)/mysys/my_new.cc
 mysqlbinlog_LDADD =		$(LDADD) $(CXXLDFLAGS)
-
-mysqldump_SOURCES=              mysqldump.c \
-				my_user.c \
-	                        $(top_srcdir)/mysys/mf_getdate.c \
-                                $(yassl_dummy_link_fix)
-
-mysqlimport_SOURCES=		mysqlimport.c $(yassl_dummy_link_fix)
-
-mysqlimport_LDADD =		$(CXXLDFLAGS) $(CLIENT_THREAD_LIBS) \
-				@CLIENT_EXTRA_LDFLAGS@ \
-				$(LIBMYSQLCLIENT_LA) \
-				$(top_builddir)/mysys/libmysys.a
-
-mysqlshow_SOURCES=		mysqlshow.c $(yassl_dummy_link_fix)
-
-mysqlslap_SOURCES=		mysqlslap.c $(yassl_dummy_link_fix)
-mysqlslap_LDADD =		$(CXXLDFLAGS) $(CLIENT_THREAD_LIBS) \
-				@CLIENT_EXTRA_LDFLAGS@ \
-				$(LIBMYSQLCLIENT_LA) \
-				$(top_builddir)/mysys/libmysys.a
-
-mysqltest_SOURCES=		mysqltest.c \
-				$(top_srcdir)/mysys/my_getsystime.c \
-				$(top_srcdir)/mysys/my_copy.c \
-				$(yassl_dummy_link_fix)
-mysqltest_LDADD =		$(top_builddir)/regex/libregex.a $(LDADD)
-
-mysql_upgrade_SOURCES=          mysql_upgrade.c $(yassl_dummy_link_fix)
+mysqltestmanager_pwgen_SOURCES =   mysqlmanager-pwgen.c
+mysqltestmanagerc_SOURCES=      mysqlmanagerc.c
+mysqlcheck_SOURCES=             mysqlcheck.c
+mysqlshow_SOURCES=              mysqlshow.c
+mysqldump_SOURCES=              mysqldump.c my_user.c \
+	                        $(top_srcdir)/mysys/mf_getdate.c
+mysqlimport_SOURCES=            mysqlimport.c
+mysql_upgrade_SOURCES=          mysql_upgrade.c
+sql_src=log_event.h mysql_priv.h log_event.cc my_decimal.h my_decimal.cc
+strings_src=decimal.c
 
 # Fix for mit-threads
 DEFS =			-DUNDEF_THREADS_HACK \
 			-DDEFAULT_MYSQL_HOME="\"$(prefix)\"" \
 			-DDATADIR="\"$(localstatedir)\""
 
-sql_src=log_event.h mysql_priv.h log_event.cc my_decimal.h my_decimal.cc
-strings_src=decimal.c
+EXTRA_DIST =		get_password.c CMakeLists.txt
 
 link_sources:
 	for f in $(sql_src) ; do \
@@ -116,6 +71,7 @@ link_sources:
          done; \
          rm -f $(srcdir)/my_user.c; \
          @LN_CP_F@ $(top_srcdir)/sql-common/my_user.c my_user.c;
+
 
 # Don't update the files from bitkeeper
 %::SCCS/s.%

--- 1.262.14.1/mysql-test/mysql-test-run.sh	2006-11-13 17:57:37 +01:00
+++ 1.333/mysql-test/mysql-test-run-shell.sh	2006-11-13 17:57:37 +01:00
@@ -7,6 +7,12 @@
 # List of failed cases (--force) backported from 4.1 by Joerg
 # :-)
 
+#echo "##################################################";
+#echo "This script is deprecated and will soon be removed";
+#echo "Use mysql-test-run.pl instead";
+#echo "##################################################";
+#echo
+
 #++
 # Access Definitions
 #--
@@ -221,8 +227,8 @@ MY_LOG_DIR="$MYSQL_TEST_DIR/var/log" 
 #
 # Set LD_LIBRARY_PATH if we are using shared libraries
 #
-LD_LIBRARY_PATH="$BASEDIR/lib:$BASEDIR/libmysql/.libs:$BASEDIR/zlib/.libs:$LD_LIBRARY_PATH"
-DYLD_LIBRARY_PATH="$BASEDIR/lib:$BASEDIR/libmysql/.libs:$BASEDIR/zlib/.libs:$DYLD_LIBRARY_PATH"
+LD_LIBRARY_PATH="$BASEDIR/lib:$BASEDIR/libmysql/.libs:$BASEDIR/libmysql_r/.libs:$BASEDIR/zlib/.libs:$LD_LIBRARY_PATH"
+DYLD_LIBRARY_PATH="$BASEDIR/lib:$BASEDIR/libmysql/.libs:$BASEDIR/libmysql_r/.libs:$BASEDIR/zlib/.libs:$DYLD_LIBRARY_PATH"
 export LD_LIBRARY_PATH DYLD_LIBRARY_PATH
 
 #
@@ -234,14 +240,14 @@ export UMASK UMASK_DIR
 
 MASTER_RUNNING=0
 MASTER1_RUNNING=0
+MASTER_MYHOST=127.0.0.1
 MASTER_MYPORT=9306
 SLAVE_RUNNING=0
+SLAVE_MYHOST=127.0.0.1
 SLAVE_MYPORT=9308 # leave room for 2 masters for cluster tests
-MYSQL_MANAGER_PORT=9305 # needs to be out of the way of slaves
-NDBCLUSTER_PORT=9350
-MYSQL_MANAGER_PW_FILE=$MYSQL_TEST_DIR/var/tmp/manager.pwd
 MYSQL_MANAGER_LOG=$MYSQL_TEST_DIR/var/log/manager.log
-MYSQL_MANAGER_USER=root
+NDBCLUSTER_PORT=9350
+NDBCLUSTER_PORT_SLAVE=9358
 
 #
 # To make it easier for different devs to work on the same host,
@@ -255,15 +261,15 @@ MYSQL_MANAGER_USER=root
 #
 if [ -n "$MTR_BUILD_THREAD" ] ; then
   MASTER_MYPORT=`expr $MTR_BUILD_THREAD '*' 10 + 10000`
-  MYSQL_MANAGER_PORT=`expr $MASTER_MYPORT + 2`
   SLAVE_MYPORT=`expr $MASTER_MYPORT + 3`
   NDBCLUSTER_PORT=`expr $MASTER_MYPORT + 6`
+  NDBCLUSTER_PORT_SLAVE=`expr $MASTER_MYPORT + 7`
 
-  echo "Using MTR_BUILD_THREAD   = $MTR_BUILD_THREAD"
-  echo "Using MASTER_MYPORT      = $MASTER_MYPORT"
-  echo "Using MYSQL_MANAGER_PORT = $MYSQL_MANAGER_PORT"
-  echo "Using SLAVE_MYPORT       = $SLAVE_MYPORT"
-  echo "Using NDBCLUSTER_PORT    = $NDBCLUSTER_PORT"
+  echo "Using MTR_BUILD_THREAD      = $MTR_BUILD_THREAD"
+  echo "Using MASTER_MYPORT         = $MASTER_MYPORT"
+  echo "Using SLAVE_MYPORT          = $SLAVE_MYPORT"
+  echo "Using NDBCLUSTER_PORT       = $NDBCLUSTER_PORT"
+  echo "Using NDBCLUSTER_PORT_SLAVE = $NDBCLUSTER_PORT_SLAVE"
 fi
 
 NO_SLAVE=0
@@ -274,12 +280,19 @@ EXTRA_MASTER_OPT=""
 EXTRA_MYSQL_TEST_OPT=""
 EXTRA_MYSQLCHECK_OPT=""
 EXTRA_MYSQLDUMP_OPT=""
+EXTRA_MYSQLSLAP_OPT=""
 EXTRA_MYSQLSHOW_OPT=""
 EXTRA_MYSQLBINLOG_OPT=""
 USE_RUNNING_SERVER=0
 USE_NDBCLUSTER=@USE_NDBCLUSTER@
+USE_NDBCLUSTER_SLAVE=@USE_NDBCLUSTER@
+USE_NDBCLUSTER_ALL=0
 USE_NDBCLUSTER_ONLY=0
 USE_RUNNING_NDBCLUSTER=""
+USE_RUNNING_NDBCLUSTER_SLAVE=""
+NDB_EXTRA_TEST=0
+NDB_VERBOSE=0
+NDBCLUSTER_EXTRA_OPTS=""
 USE_PURIFY=""
 PURIFY_LOGS=""
 DO_GCOV=""
@@ -305,6 +318,8 @@ TEST_MODE=""
 NDB_MGM_EXTRA_OPTS=
 NDB_MGMD_EXTRA_OPTS=
 NDBD_EXTRA_OPTS=
+MASTER_MYSQLDBINLOG=1
+SLAVE_MYSQLDBINLOG=1
 
 DO_STRESS=""
 STRESS_SUITE="main"
@@ -326,6 +341,7 @@ while test $# -gt 0; do
       USE_MANAGER=0 NO_SLAVE=1
       USE_RUNNING_SERVER=0
       USE_NDBCLUSTER=""
+      USE_NDBCLUSTER_SLAVE=""
       TEST_MODE="$TEST_MODE embedded" ;;
     --purify)
       USE_PURIFY=1
@@ -335,7 +351,6 @@ while test $# -gt 0; do
     --user=*) DBUSER=`$ECHO "$1" | $SED -e "s;--user=;;"` ;;
     --force)  FORCE=1 ;;
     --timer)  USE_TIMER=1 ;;
-    --verbose-manager)  MANAGER_QUIET_OPT="" ;;
     --old-master) MASTER_40_ARGS="";;
     --master-binary=*)
       MASTER_MYSQLD=`$ECHO "$1" | $SED -e "s;--master-binary=;;"` ;;
@@ -345,6 +360,12 @@ while test $# -gt 0; do
     --extern)  USE_RUNNING_SERVER=1 ;;
     --with-ndbcluster)
       USE_NDBCLUSTER="--ndbcluster" ;;
+    --with-ndbcluster-slave)
+      USE_NDBCLUSTER_SLAVE="--ndbcluster" ;;
+    --with-ndbcluster-all)
+      USE_NDBCLUSTER="--ndbcluster"
+      USE_NDBCLUSTER_SLAVE="--ndbcluster"
+      USE_NDBCLUSTER_ALL=1 ;;
     --with-ndbcluster-only)
       USE_NDBCLUSTER="--ndbcluster"
       USE_NDBCLUSTER_SLAVE="--ndbcluster"
@@ -352,6 +373,15 @@ while test $# -gt 0; do
     --ndb-connectstring=*)
       USE_NDBCLUSTER="--ndbcluster" ;
       USE_RUNNING_NDBCLUSTER=`$ECHO "$1" | $SED -e "s;--ndb-connectstring=;;"` ;;
+    --ndb-connectstring-slave=*)
+      USE_NDBCLUSTER_SLAVE="--ndbcluster" ;
+      USE_RUNNING_NDBCLUSTER_SLAVE=`$ECHO "$1" | $SED -e "s;--ndb-connectstring-slave=;;"` ;;
+    --ndb-extra-test)
+      NDBCLUSTER_EXTRA_OPTS=" "
+      NDB_EXTRA_TEST=1 ;
+      ;;
+    --ndb-verbose)
+      NDB_VERBOSE=2 ;;
     --ndb_mgm-extra-opts=*)
       NDB_MGM_EXTRA_OPTS=`$ECHO "$1" | $SED -e "s;--ndb_mgm-extra-opts=;;"` ;;
     --ndb_mgmd-extra-opts=*)
@@ -366,8 +396,9 @@ while test $# -gt 0; do
       LOCAL_MASTER=1 ;;
     --master_port=*) MASTER_MYPORT=`$ECHO "$1" | $SED -e "s;--master_port=;;"` ;;
     --slave_port=*) SLAVE_MYPORT=`$ECHO "$1" | $SED -e "s;--slave_port=;;"` ;;
-    --manager-port=*) MYSQL_MANAGER_PORT=`$ECHO "$1" | $SED -e "s;--manager_port=;;"` ;;
     --ndbcluster_port=*) NDBCLUSTER_PORT=`$ECHO "$1" | $SED -e "s;--ndbcluster_port=;;"` ;;
+    --ndbcluster-port=*) NDBCLUSTER_PORT=`$ECHO "$1" | $SED -e "s;--ndbcluster-port=;;"` ;;
+    --ndbcluster-port-slave=*) NDBCLUSTER_PORT_SLAVE=`$ECHO "$1" | $SED -e "s;--ndbcluster-port-slave=;;"` ;;
     --with-openssl)
      EXTRA_MASTER_MYSQLD_OPT="$EXTRA_MASTER_MYSQLD_OPT \
      --ssl-ca=$MYSQL_TEST_DIR/std_data/cacert.pem \
@@ -380,11 +411,6 @@ while test $# -gt 0; do
      MYSQL_TEST_SSL_OPTS="--ssl-ca=$MYSQL_TEST_DIR/std_data/cacert.pem \
      --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem \
      --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem" ;;
-    --no-manager | --skip-manager) USE_MANAGER=0 ;;
-    --manager)
-     USE_MANAGER=1
-     USE_RUNNING_SERVER=0
-     ;;
     --start-and-exit)
      START_AND_EXIT=1
      ;;
@@ -510,8 +536,8 @@ while test $# -gt 0; do
     --valgrind | --valgrind-all)
       find_valgrind;
       VALGRIND=$FIND_VALGRIND
-      EXTRA_MASTER_MYSQLD_OPT="$EXTRA_MASTER_MYSQLD_OPT --skip-safemalloc --skip-bdb"
-      EXTRA_SLAVE_MYSQLD_OPT="$EXTRA_SLAVE_MYSQLD_OPT --skip-safemalloc --skip-bdb"
+      EXTRA_MASTER_MYSQLD_OPT="$EXTRA_MASTER_MYSQLD_OPT --skip-safemalloc"
+      EXTRA_SLAVE_MYSQLD_OPT="$EXTRA_SLAVE_MYSQLD_OPT --skip-safemalloc"
       SLEEP_TIME_AFTER_RESTART=10
       SLEEP_TIME_FOR_DELETE=60
       USE_RUNNING_SERVER=0
@@ -524,6 +550,10 @@ while test $# -gt 0; do
       TMP=`$ECHO "$1" | $SED -e "s;--valgrind-options=;;"`
       VALGRIND="$VALGRIND $TMP"
       ;;
+    --skip-ndbcluster-slave | --skip-ndb-slave)
+      USE_NDBCLUSTER_SLAVE=""
+      EXTRA_SLAVE_MYSQLD_OPT="$EXTRA_SLAVE_MYSQLD_OPT --skip-ndbcluster"
+      ;;
     --valgrind-mysqltest | --valgrind-mysqltest-all)
       find_valgrind;
       VALGRIND_MYSQLTEST=$FIND_VALGRIND
@@ -534,9 +564,12 @@ while test $# -gt 0; do
       ;;
     --skip-ndbcluster | --skip-ndb)
       USE_NDBCLUSTER=""
+      USE_NDBCLUSTER_SLAVE=""
       EXTRA_MASTER_MYSQLD_OPT="$EXTRA_MASTER_MYSQLD_OPT --skip-ndbcluster"
       EXTRA_SLAVE_MYSQLD_OPT="$EXTRA_SLAVE_MYSQLD_OPT --skip-ndbcluster"
       ;;
+    --skip-master-binlog) MASTER_MYSQLDBINLOG=0 ;;
+    --skip-slave-binlog) SLAVE_MYSQLDBINLOG=0 ;;
     --skip-*)
       EXTRA_MASTER_MYSQLD_OPT="$EXTRA_MASTER_MYSQLD_OPT $1"
       EXTRA_SLAVE_MYSQLD_OPT="$EXTRA_SLAVE_MYSQLD_OPT $1"
@@ -555,6 +588,8 @@ while test $# -gt 0; do
        --debug=d:t:A,$MYSQL_TEST_DIR/var/log/mysqlcheck.trace"
       EXTRA_MYSQLDUMP_OPT="$EXTRA_MYSQLDUMP_OPT \
        --debug=d:t:A,$MYSQL_TEST_DIR/var/log/mysqldump.trace"
+      EXTRA_MYSQLSLAP_OPT="$EXTRA_MYSQLSLAP_OPT \
+       --debug=d:t:A,$MYSQL_TEST_DIR/var/log/mysqlslap.trace"
       EXTRA_MYSQLSHOW_OPT="$EXTRA_MYSQLSHOW_OPT \
        --debug=d:t:A,$MYSQL_TEST_DIR/var/log/mysqlshow.trace"
       EXTRA_MYSQLBINLOG_OPT="$EXTRA_MYSQLBINLOG_OPT \
@@ -593,7 +628,6 @@ fi
 #--
 
 MYRUN_DIR=$MYSQL_TEST_DIR/var/run
-MANAGER_PID_FILE="$MYRUN_DIR/manager.pid"
 
 MASTER_MYDDIR="$MYSQL_TEST_DIR/var/master-data"
 MASTER_MYSOCK="$MYSQL_TMP_DIR/master.sock"
@@ -611,9 +645,13 @@ SLAVE_MYERR="$MYSQL_TEST_DIR/var/log/sla
 CURRENT_TEST="$MYSQL_TEST_DIR/var/log/current_test"
 SMALL_SERVER="--key_buffer_size=1M --sort_buffer=256K --max_heap_table_size=1M"
 
-export MASTER_MYPORT SLAVE_MYPORT MYSQL_TCP_PORT MASTER_MYSOCK MASTER_MYSOCK1
+export MASTER_MYHOST MASTER_MYPORT SLAVE_MYHOST SLAVE_MYPORT MYSQL_TCP_PORT MASTER_MYSOCK MASTER_MYSOCK1
 
 NDBCLUSTER_OPTS="--port=$NDBCLUSTER_PORT --data-dir=$MYSQL_TEST_DIR/var --ndb_mgm-extra-opts=$NDB_MGM_EXTRA_OPTS --ndb_mgmd-extra-opts=$NDB_MGMD_EXTRA_OPTS --ndbd-extra-opts=$NDBD_EXTRA_OPTS"
+NDBCLUSTER_OPTS_SLAVE="--port=$NDBCLUSTER_PORT_SLAVE --data-dir=$MYSQL_TEST_DIR/var"
+if [ -n "$USE_NDBCLUSTER_SLAVE" ] ; then
+  USE_NDBCLUSTER_SLAVE="$USE_NDBCLUSTER_SLAVE --ndb-connectstring=localhost:$NDBCLUSTER_PORT_SLAVE --ndb-extra-logging"
+fi
 NDB_BACKUP_DIR=$MYSQL_TEST_DIR/var/ndbcluster-$NDBCLUSTER_PORT
 NDB_TOOLS_OUTPUT=$MYSQL_TEST_DIR/var/log/ndb_tools.log
 
@@ -677,6 +715,11 @@ if [ x$SOURCE_DIST = x1 ] ; then
  else
    MYSQL_DUMP="$BASEDIR/client/mysqldump"
  fi
+ if [ -f "$BASEDIR/client/.libs/mysqlslap" ] ; then
+   MYSQL_SLAP="$BASEDIR/client/.libs/mysqlslap"
+ else
+   MYSQL_SLAP="$BASEDIR/client/mysqlslap"
+ fi
  if [ -f "$BASEDIR/client/.libs/mysqlimport" ] ; then
    MYSQL_IMPORT="$BASEDIR/client/.libs/mysqlimport"
  else
@@ -700,16 +743,13 @@ if [ x$SOURCE_DIST = x1 ] ; then
  MYSQLADMIN="$CLIENT_BINDIR/mysqladmin"
  WAIT_PID="$BASEDIR/extra/mysql_waitpid"
  MYSQL_MY_PRINT_DEFAULTS="$BASEDIR/extra/my_print_defaults"
- MYSQL_MANAGER_CLIENT="$CLIENT_BINDIR/mysqltestmanagerc"
- MYSQL_MANAGER="$BASEDIR/tools/mysqltestmanager"
- MYSQL_MANAGER_PWGEN="$CLIENT_BINDIR/mysqltestmanager-pwgen"
  MYSQL="$CLIENT_BINDIR/mysql"
  LANGUAGE="$BASEDIR/sql/share/english/"
  CHARSETSDIR="$BASEDIR/sql/share/charsets"
  INSTALL_DB="./install_test_db"
  MYSQL_FIX_SYSTEM_TABLES="$BASEDIR/scripts/mysql_fix_privilege_tables"
- NDB_TOOLS_DIR="$BASEDIR/ndb/tools"
- NDB_MGM="$BASEDIR/ndb/src/mgmclient/ndb_mgm"
+ NDB_TOOLS_DIR="$BASEDIR/storage/ndb/tools"
+ NDB_MGM="$BASEDIR/storage/ndb/src/mgmclient/ndb_mgm"
 
  if [ -n "$USE_PURIFY" ] ; then
    PSUP="$MYSQL_TEST_DIR/suppress.purify"
@@ -756,16 +796,13 @@ else
  fi
  MYSQL_TEST="$CLIENT_BINDIR/mysqltest"
  MYSQL_CHECK="$CLIENT_BINDIR/mysqlcheck"
- MYSQL_DUMP="$CLIENT_BINDIR/mysqldump"
+ MYSQL_SLAP="$CLIENT_BINDIR/mysqlslap"
  MYSQL_SHOW="$CLIENT_BINDIR/mysqlshow"
  MYSQL_IMPORT="$CLIENT_BINDIR/mysqlimport"
  MYSQL_BINLOG="$CLIENT_BINDIR/mysqlbinlog"
  MYSQLADMIN="$CLIENT_BINDIR/mysqladmin"
  WAIT_PID="$CLIENT_BINDIR/mysql_waitpid"
  MYSQL_MY_PRINT_DEFAULTS="$CLIENT_BINDIR/my_print_defaults"
- MYSQL_MANAGER="$CLIENT_BINDIR/mysqltestmanager"
- MYSQL_MANAGER_CLIENT="$CLIENT_BINDIR/mysqltestmanagerc"
- MYSQL_MANAGER_PWGEN="$CLIENT_BINDIR/mysqltestmanager-pwgen"
  MYSQL="$CLIENT_BINDIR/mysql"
  INSTALL_DB="./install_test_db --bin"
  MYSQL_FIX_SYSTEM_TABLES="$CLIENT_BINDIR/mysql_fix_privilege_tables"
@@ -795,6 +832,13 @@ else
    MYSQL_TEST="$CLIENT_BINDIR/mysqltest"
    MYSQL_CLIENT_TEST="$CLIENT_BINDIR/mysql_client_test"
  fi
+ if [ -f "$BASEDIR/client/.libs/mysqldump" ] ; then
+   MYSQL_DUMP="$BASEDIR/client/.libs/mysqldump"
+ elif  [ -f "$BASEDIR/client/mysqldump" ] ; then
+   MYSQL_DUMP="$BASEDIR/client/mysqldump"
+ else
+   MYSQL_DUMP="$BASEDIR/bin/mysqldump"
+ fi
 fi
 
 if [ -z "$MASTER_MYSQLD" ]
@@ -840,13 +884,16 @@ MYSQL_DUMP_DIR="$MYSQL_DUMP"
 export MYSQL_DUMP_DIR
 MYSQL_CHECK="$MYSQL_CHECK --no-defaults -uroot --socket=$MASTER_MYSOCK --password=$DBPASSWD $EXTRA_MYSQLCHECK_OPT"
 MYSQL_DUMP="$MYSQL_DUMP --no-defaults -uroot --socket=$MASTER_MYSOCK --password=$DBPASSWD $EXTRA_MYSQLDUMP_OPT"
+MYSQL_SLAP="$MYSQL_SLAP -uroot --socket=$MASTER_MYSOCK --password=$DBPASSWD $EXTRA_MYSQLSLAP_OPT"
+MYSQL_DUMP_SLAVE="$MYSQL_DUMP_DIR --no-defaults -uroot --socket=$SLAVE_MYSOCK --password=$DBPASSWD $EXTRA_MYSQLDUMP_OPT"
 MYSQL_SHOW="$MYSQL_SHOW -uroot --socket=$MASTER_MYSOCK --password=$DBPASSWD $EXTRA_MYSQLSHOW_OPT"
 MYSQL_BINLOG="$MYSQL_BINLOG --no-defaults --local-load=$MYSQL_TMP_DIR  --character-sets-dir=$CHARSETSDIR $EXTRA_MYSQLBINLOG_OPT"
 MYSQL_IMPORT="$MYSQL_IMPORT -uroot --socket=$MASTER_MYSOCK --password=$DBPASSWD $EXTRA_MYSQLDUMP_OPT"
 MYSQL_FIX_SYSTEM_TABLES="$MYSQL_FIX_SYSTEM_TABLES --no-defaults --host=localhost --port=$MASTER_MYPORT --socket=$MASTER_MYSOCK --user=root --password=$DBPASSWD --basedir=$BASEDIR --bindir=$CLIENT_BINDIR --verbose"
 MYSQL="$MYSQL --no-defaults --host=localhost --port=$MASTER_MYPORT --socket=$MASTER_MYSOCK --user=root --password=$DBPASSWD"
-export MYSQL MYSQL_CHECK MYSQL_DUMP MYSQL_SHOW MYSQL_BINLOG MYSQL_FIX_SYSTEM_TABLES MYSQL_IMPORT
+export MYSQL MYSQL_CHECK MYSQL_DUMP MYSQL_DUMP_SLAVE MYSQL_SHOW MYSQL_BINLOG MYSQL_FIX_SYSTEM_TABLES MYSQL_IMPORT
 export CLIENT_BINDIR MYSQL_CLIENT_TEST CHARSETSDIR MYSQL_MY_PRINT_DEFAULTS
+export MYSQL_SLAP
 export NDB_TOOLS_DIR
 export NDB_MGM
 export NDB_BACKUP_DIR
@@ -854,6 +901,9 @@ export NDB_TOOLS_OUTPUT
 export PURIFYOPTIONS
 NDB_STATUS_OK=1
 export NDB_STATUS_OK
+NDB_SLAVE_STATUS_OK=1
+export NDB_SLAVE_STATUS_OK
+export NDB_EXTRA_TEST NDBCLUSTER_PORT NDBCLUSTER_PORT_SLAVE
 
 MYSQL_TEST_ARGS="--no-defaults --socket=$MASTER_MYSOCK --database=$DB \
  --user=$DBUSER --password=$DBPASSWD --silent -v --skip-safemalloc \
@@ -985,6 +1035,10 @@ disable_test() {
 report_current_test () {
    tname=$1
    echo "CURRENT_TEST: $tname" >> $MASTER_MYERR
+   eval "master1_running=\$MASTER1_RUNNING"
+   if [ x$master1_running = x1 ] ; then
+     echo "CURRENT_TEST: $tname" >> $MASTER_MYERR"1"
+   fi
    if [ -n "$PURIFY_LOGS" ] ; then
      for log in $PURIFY_LOGS
      do
@@ -1019,13 +1073,13 @@ report_stats () {
     #
     $RM -f $MY_LOG_DIR/warnings $MY_LOG_DIR/warnings.tmp
     # Remove some non fatal warnings from the log files
-    $SED -e 's!Warning:  Table:.* on delete!!g' -e 's!Warning: Setting lower_case_table_names=2!!g' -e 's!Warning: One can only use the --user.*root!!g' \
+    $SED -e 's!Warning:  Table:.* on delete!!g' -e 's!Warning: Setting lower_case_table_names=2!!g' -e 's!Warning: One can only use the --user.*root!!g' -e 's|InnoDB: Warning: we did not need to do crash recovery||g' \
         $MY_LOG_DIR/*.err \
         | $SED -e 's!Warning:  Table:.* on rename!!g' \
         > $MY_LOG_DIR/warnings.tmp
 
     # Find errors
-    for i in "^Warning:" "^Error:" "^==.* at 0x" "InnoDB: Warning"
+    for i in "^Warning:" "^Error:" "^==.* at 0x" "InnoDB: Warning" "missing DBUG_RETURN" "mysqld: Warning" "Attempting backtrace" "Assertion .* failed"
     do
       if $GREP "$i" $MY_LOG_DIR/warnings.tmp >> $MY_LOG_DIR/warnings
       then
@@ -1067,7 +1121,10 @@ mysql_install_db () {
     if [ ! -z "$USE_NDBCLUSTER" ]
     then
       $ECHO "Installing Master Databases 1"
-      $INSTALL_DB -1
+#     $INSTALL_DB -1
+      $RM -rf var/master-data1
+      mkdir var/master-data1
+      cp -r var/master-data/* var/master-data1
       if [ $? != 0 ]; then
 	error "Could not install master test DBs 1"
 	exit 1
@@ -1075,7 +1132,9 @@ mysql_install_db () {
     fi
     $ECHO "Installing Slave Databases"
     $RM -rf $SLAVE_MYDDIR $MY_LOG_DIR/* 
-    $INSTALL_DB -slave
+#    $INSTALL_DB -slave
+    mkdir var/slave-data
+    cp -r var/master-data/* var/slave-data
     if [ $? != 0 ]; then
 	error "Could not install slave test DBs"
 	exit 1
@@ -1137,118 +1196,58 @@ abort_if_failed()
  fi
 }
 
-start_manager()
-{
- if [ $USE_MANAGER = 0 ] ; then
-   echo "Manager disabled, skipping manager start."
-   $RM -f $MYSQL_MANAGER_LOG
-  return
- fi
- $ECHO "Starting MySQL Manager"
- if [ -f "$MANAGER_PID_FILE" ] ; then
-    kill `cat $MANAGER_PID_FILE`
-    sleep 1
-    if [ -f "$MANAGER_PID_FILE" ] ; then
-     kill -9 `cat $MANAGER_PID_FILE`
-     sleep 1
-    fi
- fi
-
- $RM -f $MANAGER_PID_FILE
- MYSQL_MANAGER_PW=`$MYSQL_MANAGER_PWGEN -u $MYSQL_MANAGER_USER \
- -o $MYSQL_MANAGER_PW_FILE`
- $MYSQL_MANAGER --log=$MYSQL_MANAGER_LOG --port=$MYSQL_MANAGER_PORT \
-  --password-file=$MYSQL_MANAGER_PW_FILE --pid-file=$MANAGER_PID_FILE
-  abort_if_failed "Could not start MySQL manager"
-  mysqltest_manager_args="--manager-host=localhost \
-  --manager-user=$MYSQL_MANAGER_USER \
-  --manager-password=$MYSQL_MANAGER_PW \
-  --manager-port=$MYSQL_MANAGER_PORT \
-  --manager-wait-timeout=$START_WAIT_TIMEOUT"
-  MYSQL_TEST="$MYSQL_TEST $mysqltest_manager_args"
-  MYSQL_TEST_ARGS="$MYSQL_TEST_ARGS $mysqltest_manager_args"
-  while [ ! -f $MANAGER_PID_FILE ] ; do
-   sleep 1
-  done
-  echo "Manager started"
-}
-
-stop_manager()
-{
- if [ $USE_MANAGER = 0 ] ; then
-  return
- fi
- $MYSQL_MANAGER_CLIENT $MANAGER_QUIET_OPT -u$MYSQL_MANAGER_USER \
-  -p$MYSQL_MANAGER_PW -P $MYSQL_MANAGER_PORT <<EOF
-shutdown
-EOF
- echo "Manager terminated"
-
-}
-
-manager_launch()
+launch_in_background()
 {
-  ident=$1
   shift
-  if [ $USE_MANAGER = 0 ] ; then
-    echo $@ | /bin/sh  >> $CUR_MYERR 2>&1  &
-    sleep 2 #hack
-    return
-  fi
-  $MYSQL_MANAGER_CLIENT $MANAGER_QUIET_OPT --user=$MYSQL_MANAGER_USER \
-   --password=$MYSQL_MANAGER_PW  --port=$MYSQL_MANAGER_PORT <<EOF
-def_exec $ident "$@"
-set_exec_stdout $ident $CUR_MYERR
-set_exec_stderr $ident $CUR_MYERR
-set_exec_con $ident root localhost $CUR_MYSOCK
-start_exec $ident $START_WAIT_TIMEOUT
-EOF
-  abort_if_failed "Could not execute manager command"
+  echo $@ | /bin/sh  >> $CUR_MYERR 2>&1  &
+  sleep 2 #hack
+  return
 }
 
-manager_term()
+shutdown_mysqld()
 {
   pid=$1
   ident=$2
-  if [ $USE_MANAGER = 0 ] ; then
-    # Shutdown time must be high as slave may be in reconnect
-    $MYSQLADMIN --no-defaults -uroot --socket=$MYSQL_TMP_DIR/$ident.sock$3 --connect_timeout=5 --shutdown_timeout=70 shutdown >> $MYSQL_MANAGER_LOG 2>&1
-    res=$?
-    # Some systems require an extra connect
-    $MYSQLADMIN --no-defaults -uroot --socket=$MYSQL_TMP_DIR/$ident.sock$3 --connect_timeout=1 ping >> $MYSQL_MANAGER_LOG 2>&1
-    if test $res = 0
-    then
-      wait_for_pid $pid
-    fi
-    return $res
+  # Shutdown time must be high as slave may be in reconnect
+  $MYSQLADMIN --no-defaults -uroot --socket=$MYSQL_TMP_DIR/$ident.sock$3 --connect_timeout=5 --shutdown_timeout=70 shutdown >> $MYSQL_MANAGER_LOG 2>&1
+  res=$?
+  # Some systems require an extra connect
+  $MYSQLADMIN --no-defaults -uroot --socket=$MYSQL_TMP_DIR/$ident.sock$3 --connect_timeout=1 ping >> $MYSQL_MANAGER_LOG 2>&1
+  if test $res = 0
+  then
+    wait_for_pid $pid
   fi
-  $MYSQL_MANAGER_CLIENT $MANAGER_QUIET_OPT --user=$MYSQL_MANAGER_USER \
-   --password=$MYSQL_MANAGER_PW  --port=$MYSQL_MANAGER_PORT <<EOF
-stop_exec $ident $STOP_WAIT_TIMEOUT
-EOF
- abort_if_failed "Could not execute manager command"
+  return $res
 }
 
 start_ndbcluster()
 {
-  if [ ! -z "$USE_NDBCLUSTER" ]
+  if [ ! -n "$USE_NDBCLUSTER" ] ;
+  then
+    USING_NDBCLUSTER=0
+    USE_NDBCLUSTER_OPT=
+  fi
+  
+  if [ x$USING_NDBCLUSTER = x1 -a -z "$USE_NDBCLUSTER_OPT" ]
   then
   rm -f $NDB_TOOLS_OUTPUT
   if [ -z "$USE_RUNNING_NDBCLUSTER" ]
   then
-    echo "Starting ndbcluster"
-    if [ "$DO_BENCH" = 1 ]
+    if [ "$DO_BENCH" != 1 -a -z "$NDBCLUSTER_EXTRA_OPTS" ]
     then
-      NDBCLUSTER_EXTRA_OPTS=""
-    else
       NDBCLUSTER_EXTRA_OPTS="--small"
     fi
-    ./ndb/ndbcluster $NDBCLUSTER_OPTS --character-sets-dir=$CHARSETSDIR $NDBCLUSTER_EXTRA_OPTS --initial || NDB_STATUS_OK=0
+    OPTS="$NDBCLUSTER_OPTS $NDBCLUSTER_EXTRA_OPTS --character-sets-dir=$CHARSETSDIR --verbose=$NDB_VERBOSE --initial --relative-config-data-dir --core"
+    if [ "x$NDB_VERBOSE" != "x0" ] ; then
+      echo "Starting master ndbcluster " $OPTS
+    fi
+    ./ndb/ndbcluster $OPTS || NDB_STATUS_OK=0
     if [ x$NDB_STATUS_OK != x1 ] ; then
       if [ x$FORCE != x1 ] ; then
         exit 1
       fi
-      USE_NDBCLUSTER=
+      USING_NDBCLUSTER=0
+      USE_NDBCLUSTER_OPT=
       return
     fi
 
@@ -1257,19 +1256,30 @@ start_ndbcluster()
     NDB_CONNECTSTRING="$USE_RUNNING_NDBCLUSTER"
     echo "Using ndbcluster at $NDB_CONNECTSTRING"
   fi
-  USE_NDBCLUSTER="$USE_NDBCLUSTER --ndb-connectstring=\"$NDB_CONNECTSTRING\""
+  USE_NDBCLUSTER_OPT="$USE_NDBCLUSTER --ndb-connectstring=\"$NDB_CONNECTSTRING\" --ndb-extra-logging"
   export NDB_CONNECTSTRING
   fi
 }
 
+rm_ndbcluster_tables()
+{
+  $RM -f $1/cluster/apply_status*
+  $RM -f $1/cluster/schema*
+}
+
 stop_ndbcluster()
 {
- if [ ! -z "$USE_NDBCLUSTER" ]
+ if [ -n "$USE_NDBCLUSTER_OPT" ]
  then
+ USE_NDBCLUSTER_OPT=
  if [ -z "$USE_RUNNING_NDBCLUSTER" ]
  then
    # Kill any running ndbcluster stuff
+   $ECHO "Stopping master cluster"
    ./ndb/ndbcluster $NDBCLUSTER_OPTS --stop
+   # remove ndb table the hard way as not to upset later tests
+   rm_ndbcluster_tables $MASTER_MYDDIR
+   rm_ndbcluster_tables $MASTER_MYDDIR"1"
  fi
  fi
 }
@@ -1314,9 +1324,13 @@ start_master()
   then
       CURR_MASTER_MYSQLD_TRACE="$EXTRA_MASTER_MYSQLD_TRACE$1"
   fi
+  if [ x$MASTER_MYSQLDBINLOG = x1 ]
+  then
+    MASTER_MYSQLD_BINLOG_OPT="--log-bin=$MYSQL_TEST_DIR/var/log/master-bin$1"
+  fi
   if [ -z "$DO_BENCH" -a -z "$DO_STRESS"  ]
   then
-    master_args="--no-defaults --log-bin=$MYSQL_TEST_DIR/var/log/master-bin$1 \
+    master_args="--no-defaults \
   	    --server-id=$id  \
           --basedir=$MY_BASEDIR \
           --port=$this_master_myport \
@@ -1324,7 +1338,7 @@ start_master()
           --local-infile \
           --exit-info=256 \
           --core \
-          $USE_NDBCLUSTER \
+          $USE_NDBCLUSTER_OPT \
           --datadir=$MASTER_MYDDIR$1 \
           --pid-file=$MASTER_MYPID$1 \
           --socket=$MASTER_MYSOCK$1 \
@@ -1338,10 +1352,11 @@ start_master()
           --log-bin-trust-function-creators \
 	   $MASTER_40_ARGS \
            $SMALL_SERVER \
-           $EXTRA_MASTER_OPT $EXTRA_MASTER_MYSQLD_OPT \
+           $MASTER_MYSQLD_BINLOG_OPT \
+           $EXTRA_MASTER_MYSQLD_OPT $EXTRA_MASTER_OPT \
            $NOT_FIRST_MASTER_EXTRA_OPTS $CURR_MASTER_MYSQLD_TRACE"
   else
-    master_args="--no-defaults --log-bin=$MYSQL_TEST_DIR/var/log/master-bin$1 \
+    master_args="--no-defaults \
           --server-id=$id --rpl-recovery-rank=1 \
           --basedir=$MY_BASEDIR --init-rpl-role=master \
           --port=$this_master_myport \
@@ -1353,14 +1368,15 @@ start_master()
           --character-sets-dir=$CHARSETSDIR \
           --default-character-set=$CHARACTER_SET \
           --core \
-          $USE_NDBCLUSTER \
+          $USE_NDBCLUSTER_OPT \
           --tmpdir=$MYSQL_TMP_DIR \
           --language=$LANGUAGE \
           --innodb_data_file_path=ibdata1:128M:autoextend \
           --log-bin-trust-function-creators \
 	   $MASTER_40_ARGS \
            $SMALL_SERVER \
-           $EXTRA_MASTER_OPT $EXTRA_MASTER_MYSQLD_OPT \
+           $MASTER_MYSQLD_BINLOG_OPT \
+           $EXTRA_MASTER_MYSQLD_OPT $EXTRA_MASTER_OPT \
            $NOT_FIRST_MASTER_EXTRA_OPTS"
   fi
 
@@ -1382,7 +1398,7 @@ start_master()
   if [ x$DO_DDD = x1 ]
   then
     $ECHO "set args $master_args" > $GDB_MASTER_INIT$1
-    manager_launch master ddd -display $DISPLAY --debugger \
+    launch_in_background master ddd -display $DISPLAY --debugger \
     "gdb -x $GDB_MASTER_INIT$1" $MASTER_MYSQLD
   elif [ x$DO_GDB = x1 ]
   then
@@ -1403,11 +1419,11 @@ end
 r
 EOF
       fi )  > $GDB_MASTER_INIT$1
-      manager_launch master $XTERM -display $DISPLAY \
+      launch_in_background master $XTERM -display $DISPLAY \
       -title "Master" -e gdb -x $GDB_MASTER_INIT$1 $MASTER_MYSQLD
     fi
   else
-    manager_launch master $MASTER_MYSQLD $master_args
+    launch_in_background master $MASTER_MYSQLD $master_args
   fi
   sleep_until_file_created $MASTER_MYPID$1 $wait_for_master
   wait_for_master=$SLEEP_TIME_FOR_SECOND_MASTER
@@ -1419,6 +1435,7 @@ start_slave()
   [ x$SKIP_SLAVE = x1 ] && return
   eval "this_slave_running=\$SLAVE$1_RUNNING"
   [ x$this_slave_running = 1 ] && return
+
   # When testing fail-safe replication, we will have more than one slave
   # in this case, we start secondary slaves with an argument
   slave_ident="slave$1"
@@ -1442,6 +1459,38 @@ start_slave()
    slave_pid=$SLAVE_MYPID
    slave_sock="$SLAVE_MYSOCK"
  fi
+
+  #
+  if [ x$USING_NDBCLUSTER = x1 -a -n "$USE_NDBCLUSTER_SLAVE" ] ; then
+    if [ $slave_server_id -eq 2 ] ; then
+      savedir=`pwd`
+      cd $MYSQL_TEST_DIR
+      if [ "$DO_BENCH" != 1 -a -z "$NDBCLUSTER_EXTRA_OPTS" ]
+       then
+         NDBCLUSTER_EXTRA_OPTS="--small"
+      fi
+
+      OPTS="$NDBCLUSTER_OPTS_SLAVE --initial $NDBCLUSTER_EXTRA_OPTS --ndbd-nodes=1 --verbose=$NDB_VERBOSE --relative-config-data-dir --core"
+      if [ "x$NDB_VERBOSE" != "x0" ] ; then
+        echo "Starting slave ndbcluster " $OPTS
+      fi
+      ./ndb/ndbcluster $OPTS \
+                      || NDB_SLAVE_STATUS_OK=0
+      #                > /dev/null 2>&1 || NDB_SLAVE_STATUS_OK=0
+      cd $savedir
+      if [ x$NDB_SLAVE_STATUS_OK != x1 ] ; then
+        if [ x$FORCE != x1 ] ; then
+          exit 1
+        fi
+        USE_NDBCLUSTER_SLAVE_OPT=
+        USE_NDBCLUSTER_SLAVE=
+      fi
+      USE_NDBCLUSTER_SLAVE_OPT=$USE_NDBCLUSTER_SLAVE
+    fi
+  else
+    USE_NDBCLUSTER_SLAVE_OPT=
+  fi
+
   # Remove stale binary logs and old master.info files
   # except for too tests which need them
   if [ "$tname" != "rpl_crash_binlog_ib_1b" ] && [ "$tname" != "rpl_crash_binlog_ib_2b" ] && [ "$tname" != "rpl_crash_binlog_ib_3b" ]
@@ -1467,12 +1516,16 @@ start_slave()
    master_info=$SLAVE_MASTER_INFO
  fi
 
+  if [ x$SLAVE_MYSQLDBINLOG = x1 ]
+  then
+    SLAVE_MYSQLD_BINLOG_OPT="--log-bin=$MYSQL_TEST_DIR/var/log/$slave_ident-bin --log-slave-updates"
+  fi
+
   $RM -f $slave_datadir/log.*
   slave_args="--no-defaults $master_info \
   	    --exit-info=256 \
-          --log-bin=$MYSQL_TEST_DIR/var/log/$slave_ident-bin \
+          $SLAVE_MYSQLDBINLOG_OPT \
           --relay-log=$MYSQL_TEST_DIR/var/log/$slave_ident-relay-bin \
-          --log-slave-updates \
           --log=$slave_log \
           --basedir=$MY_BASEDIR \
           --datadir=$slave_datadir \
@@ -1493,14 +1546,16 @@ start_slave()
           -O slave_net_timeout=10 \
           --log-bin-trust-function-creators \
            $SMALL_SERVER \
-           $EXTRA_SLAVE_OPT $EXTRA_SLAVE_MYSQLD_OPT"
+           $SLAVE_MYSQLD_BINLOG_OPT \
+           $EXTRA_SLAVE_MYSQLD_OPT $EXTRA_SLAVE_OPT \
+           $USE_NDBCLUSTER_SLAVE_OPT"
   CUR_MYERR=$slave_err
   CUR_MYSOCK=$slave_sock
 
   if [ x$DO_DDD = x1 ]
   then
     $ECHO "set args $slave_args" > $GDB_SLAVE_INIT
-    manager_launch $slave_ident ddd -display $DISPLAY --debugger \
+    launch_in_background $slave_ident ddd -display $DISPLAY --debugger \
      "gdb -x $GDB_SLAVE_INIT" $SLAVE_MYSQLD
   elif [ x$DO_GDB = x1 ]
   then
@@ -1521,11 +1576,11 @@ end
 r
 EOF
       fi )  > $GDB_SLAVE_INIT
-      manager_launch $slave_ident $XTERM -display $DISPLAY -title "Slave" -e \
+      launch_in_background $slave_ident $XTERM -display $DISPLAY -title "Slave" -e \
       gdb -x $GDB_SLAVE_INIT $SLAVE_MYSQLD
     fi
   else
-    manager_launch $slave_ident $SLAVE_MYSQLD $slave_args
+    launch_in_background $slave_ident $SLAVE_MYSQLD $slave_args
   fi
   eval "SLAVE$1_RUNNING=1"
   sleep_until_file_created $slave_pid $wait_for_slave
@@ -1541,7 +1596,6 @@ mysql_start ()
 #  start_master
 #  start_slave
   cd $MYSQL_TEST_DIR
-  start_ndbcluster
   return 1
 }
 
@@ -1558,7 +1612,7 @@ stop_slave ()
   if [ x$this_slave_running = x1 ]
   then
     pid=`$CAT $slave_pid`
-    manager_term $pid $slave_ident
+    shutdown_mysqld $pid $slave_ident
     if [ $? != 0 ] && [ -f $slave_pid ]
     then # try harder!
       $ECHO "slave not cooperating with mysqladmin, will try manual kill"
@@ -1575,6 +1629,14 @@ stop_slave ()
       sleep $SLEEP_TIME_AFTER_RESTART
     fi
     eval "SLAVE$1_RUNNING=0"
+    if [ -n "$USE_NDBCLUSTER_SLAVE_OPT" ] ; then
+      savedir=`pwd`
+      cd $MYSQL_TEST_DIR
+        $ECHO "Stopping slave cluster"
+      ./ndb/ndbcluster $NDBCLUSTER_OPTS_SLAVE --stop
+      rm_ndbcluster_tables $SLAVE_MYDDIR
+      cd $savedir
+    fi
   fi
 }
 
@@ -1597,7 +1659,7 @@ stop_master ()
     # MASTER_RUNNING=0 to get cleanup when calling start_master().
     if [ x$USE_EMBEDDED_SERVER != x1 ] ; then
       pid=`$CAT $MASTER_MYPID$1`
-      manager_term $pid master $1
+      shutdown_mysqld $pid master $1
       if [ $? != 0 ] && [ -f $MASTER_MYPID$1 ]
       then # try harder!
 	$ECHO "master not cooperating with mysqladmin, will try manual kill"
@@ -1664,6 +1726,9 @@ run_testcase ()
  echo $tname > $CURRENT_TEST
  SKIP_SLAVE=`$EXPR \( $tname : rpl \) = 0 \& \( $tname : federated \) = 0`
  NDBCLUSTER_TEST=`$EXPR \( $tname : '.*ndb.*' \) != 0`
+ if [ "x$USE_NDBCLUSTER_ALL" = "x1" ] ; then
+   NDBCLUSTER_TEST=1
+ fi
  if [ "x$USE_NDBCLUSTER_ONLY" = "x1" -a "x$NDBCLUSTER_TEST" != "x1" ] ; then
    skip_test $tname
    return
@@ -1760,9 +1825,20 @@ run_testcase ()
      esac
      stop_master
      stop_master 1
+
+     # only stop the cluster if this test will not use cluster
+     if [ x$NDBCLUSTER_TEST != x1 ] ;
+     then
+       stop_ndbcluster
+     fi
+
      report_current_test $tname
+     USING_NDBCLUSTER=$NDBCLUSTER_TEST
+     # start_ndbcluster knows if cluster is already started
+     start_ndbcluster
      start_master
-     if [ -n "$USE_NDBCLUSTER" -a -z "$DO_BENCH" -a -z "$DO_STRESS" ] ; then
+     if [ x$USING_NDBCLUSTER = x1 -a -z "$DO_BENCH" -a -z "$DO_STRESS" ] ; then
+       echo "CURRENT_TEST: $tname" >> $MASTER_MYERR"1"
        start_master 1
      fi
      TZ=$MY_TZ; export TZ
@@ -1771,14 +1847,26 @@ run_testcase ()
      # or there is no master running (FIXME strange.....)
      # or there is a master init script
      if [ ! -z "$EXTRA_MASTER_OPT" ] || [ x$MASTER_RUNNING != x1 ] || \
-	[ -f $master_init_script ]
+	[ -f $master_init_script ] || \
+        [ -n "$USE_NDBCLUSTER" -a x$NDBCLUSTER_TEST != x$USING_NDBCLUSTER ]
      then
        EXTRA_MASTER_OPT=""
        stop_master
        stop_master 1
+
+       # only stop the cluster if this test will not use cluster
+       if [ x$NDBCLUSTER_TEST != x1 ] ;
+       then
+         stop_ndbcluster
+       fi
+
        report_current_test $tname
+       USING_NDBCLUSTER=$NDBCLUSTER_TEST
+       # start_ndbcluster knows if cluster is already started
+       start_ndbcluster
        start_master
-       if [ -n "$USE_NDBCLUSTER"  -a -z "$DO_BENCH" -a -z "$DO_STRESS" ] ; then
+       if [ x$USING_NDBCLUSTER = x1  -a -z "$DO_BENCH" -a -z "$DO_STRESS" ] ; then
+         echo "CURRENT_TEST: $tname" >> $MASTER_MYERR"1"
          start_master 1
        fi
      else
@@ -1812,6 +1900,18 @@ run_testcase ()
        fi
      fi
 
+     USING_NDBCLUSTER=$NDBCLUSTER_TEST
+     if [ -n "$USE_NDBCLUSTER_SLAVE_OPT" ] ; then
+       if [ x$USING_NDBCLUSTER != x1 ] ; then
+         do_slave_restart=1
+       fi
+     else
+       if [ x$USING_NDBCLUSTER = x1 ] ; then
+         do_slave_restart=1
+       fi
+     fi
+
+
      if [ x$do_slave_restart = x1 ] ; then
        stop_slave
        echo "CURRENT_TEST: $tname" >> $SLAVE_MYERR
@@ -1888,7 +1988,6 @@ run_testcase ()
 	    [ -z "$DO_DDD" ] && [ -z "$USE_EMBEDDED_SERVER" ]
 	 then
 	   mysql_stop
-	   stop_manager
    	 fi
 	 exit 1
 	fi
@@ -2047,10 +2146,10 @@ then
     $MYSQLADMIN --no-defaults --socket=$MASTER_MYSOCK -u root -O connect_timeout=5 -O shutdown_timeout=20 shutdown > /dev/null 2>&1
     $MYSQLADMIN --no-defaults --socket=$MASTER_MYSOCK1 -u root -O connect_timeout=5 -O shutdown_timeout=20 shutdown > /dev/null 2>&1
     $MYSQLADMIN --no-defaults --socket=$SLAVE_MYSOCK -u root -O connect_timeout=5 -O shutdown_timeout=20 shutdown > /dev/null 2>&1
-    $MYSQLADMIN --no-defaults --host=$hostname --port=$MASTER_MYPORT -u root -O connect_timeout=5 -O shutdown_timeout=20 shutdown > /dev/null 2>&1
-    $MYSQLADMIN --no-defaults --host=$hostname --port=`expr $MASTER_MYPORT+1` -u root -O connect_timeout=5 -O shutdown_timeout=20 shutdown > /dev/null 2>&1
-    $MYSQLADMIN --no-defaults --host=$hostname --port=$SLAVE_MYPORT -u root -O connect_timeout=5 -O shutdown_timeout=20 shutdown > /dev/null 2>&1
-    $MYSQLADMIN --no-defaults --host=$hostname --port=`expr $SLAVE_MYPORT + 1` -u root -O connect_timeout=5 -O shutdown_timeout=20 shutdown > /dev/null 2>&1
+    $MYSQLADMIN --no-defaults --host=$hostname --port=$MASTER_MYPORT --protocol=tcp -u root -O connect_timeout=5 -O shutdown_timeout=20 shutdown > /dev/null 2>&1
+    $MYSQLADMIN --no-defaults --host=$hostname --protocol=tcp --port=`expr $MASTER_MYPORT+1` -u root -O connect_timeout=5 -O shutdown_timeout=20 shutdown > /dev/null 2>&1
+    $MYSQLADMIN --no-defaults --host=$hostname --protocol=tcp --port=$SLAVE_MYPORT -u root -O connect_timeout=5 -O shutdown_timeout=20 shutdown > /dev/null 2>&1
+    $MYSQLADMIN --no-defaults --host=$hostname --protocol=tcp --port=`expr $SLAVE_MYPORT + 1` -u root -O connect_timeout=5 -O shutdown_timeout=20 shutdown > /dev/null 2>&1
     sleep_until_file_deleted 0 $MASTER_MYPID
     sleep_until_file_deleted 0 $MASTER_MYPID"1"
     sleep_until_file_deleted 0 $SLAVE_MYPID
@@ -2058,22 +2157,13 @@ then
     rm $MASTER_MYPID $MASTER_MYPID"1" $SLAVE_MYPID
   fi
 
-  # Kill any running managers
-  if [ -f "$MANAGER_PID_FILE" ]
-  then
-    kill `cat $MANAGER_PID_FILE`
-    sleep 1
-    if [ -f "$MANAGER_PID_FILE" ]
-    then
-      kill -9 `cat $MANAGER_PID_FILE`
-      sleep 1
-    fi
-  fi
-
+  # just to force stopping anything from previous runs
+  USE_NDBCLUSTER_OPT=$USE_NDBCLUSTER
   stop_ndbcluster
 
   # Remove files that can cause problems
   $RM -rf $MYSQL_TEST_DIR/var/ndbcluster
+  $RM -rf $MYSQL_TEST_DIR/var/tmp/snapshot*
   $RM -f $MYSQL_TEST_DIR/var/run/* $MYSQL_TEST_DIR/var/tmp/*
 
   # Remove old berkeley db log files that can confuse the server
@@ -2087,10 +2177,10 @@ then
 
   if [ -n "$1" -a `expr "X$*" : '.*ndb'` -eq 0 ]
   then
-    USE_NDBCLUSTER=""
+    USING_NDBCLUSTER=0
+    USE_NDBCLUSTER_OPT=
   fi
 
-  start_manager
   mysql_start
   $ECHO  "Loading Standard Test Databases"
   mysql_loadstd
@@ -2113,7 +2203,7 @@ then
     EXTRA_BENCH_ARGS="--small-test --small-tables"
   fi
 
-  if [ ! -z "$USE_NDBCLUSTER" ]
+  if [ x$USING_NDBCLUSTER = x1 ]
   then
     EXTRA_BENCH_ARGS="--create-options=TYPE=ndb $EXTRA_BENCH_ARGS"
   fi 
@@ -2134,7 +2224,6 @@ then
   fi
   cd $savedir
   mysql_stop
-  stop_manager
   exit
 fi
 
@@ -2156,7 +2245,6 @@ then
 
   if [ $USE_RUNNING_SERVER -eq 0 ] ; then
     mysql_stop
-    stop_manager
   fi
   
   exit
@@ -2203,7 +2291,6 @@ if [ -z "$DO_GDB" ] && [ $USE_RUNNING_SE
 then
     mysql_stop
 fi
-stop_manager
 report_stats
 $ECHO
 

--- 1.33/tests/Makefile.am	2006-11-13 17:57:37 +01:00
+++ 1.34/tests/Makefile.am	2006-11-13 17:57:37 +01:00
@@ -17,11 +17,6 @@
 
 ## Process this file with automake to create Makefile.in
 
-if HAVE_YASSL
-  yassl_dummy_link_fix= $(top_srcdir)/extra/yassl/src/dummy.cpp
-else
-  yassl_dummy_link_fix=
-endif
 
 if THREAD_SAFE_CLIENT
 LIBMYSQLCLIENT_LA =		$(top_builddir)/libmysql_r/libmysqlclient_r.la
@@ -42,9 +37,6 @@ EXTRA_DIST =		auto_increment.res auto_in
 bin_PROGRAMS =		mysql_client_test
 noinst_PROGRAMS =	insert_test select_test thread_test
 
-#
-# C Test for 4.1 protocol
-#
 INCLUDES =		-I$(top_builddir)/include -I$(top_srcdir)/include \
 			$(openssl_includes)
 LIBS =			@CLIENT_LIBS@
@@ -52,11 +44,11 @@ LDADD =			@CLIENT_EXTRA_LDFLAGS@ \
                         $(LIBMYSQLCLIENT_LA)
 
 mysql_client_test_LDADD= $(LDADD) $(CXXLDFLAGS)
-mysql_client_test_SOURCES= mysql_client_test.c $(yassl_dummy_link_fix) \
+mysql_client_test_SOURCES= mysql_client_test.c\
 			$(top_srcdir)/mysys/my_memmem.c
 
-insert_test_SOURCES=       insert_test.c $(yassl_dummy_link_fix)
-select_test_SOURCES=       select_test.c $(yassl_dummy_link_fix)
+insert_test_SOURCES=       insert_test.c
+select_test_SOURCES=       select_test.c
 insert_test_DEPENDENCIES=	$(LIBRARIES) $(pkglib_LTLIBRARIES)
 select_test_DEPENDENCIES=	$(LIBRARIES) $(pkglib_LTLIBRARIES)
 

--- 1.22/vio/Makefile.am	2006-11-13 17:57:37 +01:00
+++ 1.23/vio/Makefile.am	2006-11-13 17:57:37 +01:00
@@ -1,43 +1,28 @@
 # Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-# 
+#
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; either version 2 of the License, or
 # (at your option) any later version.
-# 
+#
 # This program is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 # GNU General Public License for more details.
-# 
+#
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
-if HAVE_YASSL
-  yassl_dummy_link_fix= $(top_srcdir)/extra/yassl/src/dummy.cpp
-else
-  yassl_dummy_link_fix=
-endif
-INCLUDES=		-I$(top_builddir)/include -I$(top_srcdir)/include \
+INCLUDES =		-I$(top_builddir)/include -I$(top_srcdir)/include \
 			$(openssl_includes)
-LDADD=			@CLIENT_EXTRA_LDFLAGS@ $(openssl_libs) $(yassl_libs) 
-pkglib_LIBRARIES=	libvio.a
-noinst_PROGRAMS	=	test-ssl test-sslserver test-sslclient
-noinst_HEADERS=	vio_priv.h
-test_ssl_SOURCES=	test-ssl.c $(yassl_dummy_link_fix)
-test_ssl_LDADD=   	@CLIENT_EXTRA_LDFLAGS@ ../dbug/libdbug.a libvio.a \
-			../mysys/libmysys.a ../strings/libmystrings.a \
-			$(openssl_libs) $(yassl_libs)
-test_sslserver_SOURCES= test-sslserver.c $(yassl_dummy_link_fix)
-test_sslserver_LDADD=   @CLIENT_EXTRA_LDFLAGS@	../dbug/libdbug.a libvio.a \
-			../mysys/libmysys.a ../strings/libmystrings.a \
-			$(openssl_libs) $(yassl_libs)
-test_sslclient_SOURCES= test-sslclient.c $(yassl_dummy_link_fix)
-test_sslclient_LDADD=   @CLIENT_EXTRA_LDFLAGS@	../dbug/libdbug.a libvio.a \
-			../mysys/libmysys.a ../strings/libmystrings.a \
-			$(openssl_libs) $(yassl_libs)
-libvio_a_SOURCES=	vio.c viosocket.c viossl.c viosslfactories.c
+LDADD =			@CLIENT_EXTRA_LDFLAGS@ $(openssl_libs) $(yassl_libs)
+pkglib_LIBRARIES =	libvio.a
+
+noinst_HEADERS =	vio_priv.h
+
+libvio_a_SOURCES =	vio.c viosocket.c viossl.c viosslfactories.c
+
 EXTRA_DIST=		CMakeLists.txt
 
 # Don't update the files from bitkeeper

--- 1.232/mysql-test/mysql-test-run.pl	2006-11-13 17:57:37 +01:00
+++ 1.233/mysql-test/mysql-test-run.pl	2006-11-13 17:57:37 +01:00
@@ -428,10 +428,14 @@ sub main () {
     if ( ! $need_im )
     {
      $opt_skip_im= 1;
-   }
+    }
 
     initialize_servers();
 
+    if ( $opt_report_features ) {
+      run_report_features();
+    }
+
     run_suite($opt_suite, $tests);
   }
 
@@ -596,6 +600,7 @@ sub command_line_setup () {
              'mem'                      => \$opt_mem,
 
              # Misc
+             'report-features'          => \$opt_report_features,
              'comment=s'                => \$opt_comment,
              'debug'                    => \$opt_debug,
              'fast'                     => \$opt_fast,
@@ -4263,6 +4268,43 @@ sub run_check_testcase ($$) {
   return $res;
 }
 
+##############################################################################
+#
+#  Report the features that were compiled in
+#
+##############################################################################
+
+sub run_report_features () {
+  my $args;
+
+  if ( ! $glob_use_embedded_server )
+  {
+    mysqld_start($master->[0],[],[]);
+    if ( ! $master->[0]->{'pid'} )
+    {
+      mtr_error("Can't start the mysqld server");
+    }
+    mysqld_wait_started($master->[0]);
+  }
+
+  my $tinfo = {};
+  $tinfo->{'name'} = 'report features';
+  $tinfo->{'result_file'} = undef;
+  $tinfo->{'component_id'} = 'mysqld';
+  $tinfo->{'path'} = 'include/report-features.test';
+  $tinfo->{'timezone'}=  "GMT-3";
+  $tinfo->{'slave_num'} = 0;
+  $tinfo->{'master_opt'} = [];
+  $tinfo->{'slave_opt'} = [];
+  $tinfo->{'slave_mi'} = [];
+  $tinfo->{'comment'} = 'report server features';
+  run_mysqltest($tinfo);
+
+  if ( ! $glob_use_embedded_server )
+  {
+    stop_all_servers();
+  }
+}
 
 
 sub run_mysqltest ($) {
@@ -4400,8 +4442,10 @@ sub run_mysqltest ($) {
   mtr_add_arg($args, "--test-file");
   mtr_add_arg($args, $tinfo->{'path'});
 
-  mtr_add_arg($args, "--result-file");
-  mtr_add_arg($args, $tinfo->{'result_file'});
+  if ( defined $tinfo->{'result_file'} ) {
+    mtr_add_arg($args, "--result-file");
+    mtr_add_arg($args, $tinfo->{'result_file'});
+  }
 
   if ( $opt_record )
   {
@@ -4814,3 +4858,4 @@ HERE
   mtr_exit(1);
 
 }
+
Thread
bk commit into 5.1 tree (msvensson:1.2359)msvensson13 Nov