MySQL Lists are EOL. Please join:

List:Commits« Previous MessageNext Message »
From:Andrei Elkin Date:June 20 2008 10:57am
Subject:bzr commit into mysql-5.1 branch (aelkin:2657) Bug#36443
View as plain text  
#At file:///home/andrei/MySQL/BZR/FIXES/bug36443-slave_crash_insert_trigger/

 2657 Andrei Elkin	2008-06-20 [merge]
      merging prior to push Bug #36443
modified:
  client/mysql.cc
  mysql-test/r/repair.result
  mysql-test/r/subselect.result
  mysql-test/suite/rpl/t/disabled.def
  mysql-test/t/subselect.test
  scripts/make_binary_distribution.sh
  sql/sql_select.cc
  sql/sql_table.cc
  storage/innobase/Makefile.am

=== modified file 'client/mysql.cc'
--- a/client/mysql.cc	2008-03-28 18:20:21 +0000
+++ b/client/mysql.cc	2008-06-19 03:12:28 +0000
@@ -1821,7 +1821,7 @@ static int read_and_execute(bool interac
         the very beginning of a text file when
         you save the file using "Unicode UTF-8" format.
       */
-      if (!line_number &&
+      if (line && !line_number &&
            (uchar) line[0] == 0xEF &&
            (uchar) line[1] == 0xBB &&
            (uchar) line[2] == 0xBF)

=== modified file 'mysql-test/r/repair.result'
--- a/mysql-test/r/repair.result	2008-05-12 19:37:45 +0000
+++ b/mysql-test/r/repair.result	2008-06-18 01:05:56 +0000
@@ -130,7 +130,7 @@ test.t1	check	error	Table upgrade requir
 # REPAIR old table USE_FRM should fail
 REPAIR TABLE t1 USE_FRM;
 Table	Op	Msg_type	Msg_text
-t1	repair	error	Failed reparing incompatible .FRM file
+t1	repair	error	Failed repairing incompatible .frm file
 # Run REPAIR TABLE to upgrade .frm file
 REPAIR TABLE t1;
 Table	Op	Msg_type	Msg_text

=== modified file 'mysql-test/r/subselect.result'
--- a/mysql-test/r/subselect.result	2008-05-16 16:28:24 +0000
+++ b/mysql-test/r/subselect.result	2008-06-19 03:08:41 +0000
@@ -4391,3 +4391,10 @@ SELECT * FROM t1 WHERE _utf8'a' = ANY (S
 s1
 a
 DROP TABLE t1;
+CREATE TABLE t1(c int, KEY(c));
+CREATE TABLE t2(a int, b int);
+INSERT INTO t2 VALUES (1, 10), (2, NULL);
+INSERT INTO t1 VALUES (1), (3);
+SELECT * FROM t2 WHERE b NOT IN (SELECT max(t.c) FROM t1, t1 t WHERE t.c>10);
+a	b
+DROP TABLE t1,t2;

=== modified file 'mysql-test/suite/rpl/t/disabled.def'
--- a/mysql-test/suite/rpl/t/disabled.def	2008-05-19 06:38:53 +0000
+++ b/mysql-test/suite/rpl/t/disabled.def	2008-06-19 10:39:48 +0000
@@ -12,3 +12,4 @@
 
 rpl_redirect               : Failure is sporadic and and the test is superfluous (mats)
 rpl_innodb_bug28430        : Failure on Solaris Bug #36793
+rpl_server_id1             : Bug #36818 rpl_server_id1 fails expecting slave has stopped (azundris)

=== modified file 'mysql-test/t/subselect.test'
--- a/mysql-test/t/subselect.test	2008-05-16 16:03:50 +0000
+++ b/mysql-test/t/subselect.test	2008-06-19 03:08:41 +0000
@@ -3273,3 +3273,15 @@ INSERT INTO t1 VALUES ('a');
 SELECT * FROM t1 WHERE _utf8'a' = ANY (SELECT s1 FROM t1);
 DROP TABLE t1;
 
+#
+# Bug #37004: NOT IN subquery with MAX over an empty set
+#
+
+CREATE TABLE t1(c int, KEY(c));
+CREATE TABLE t2(a int, b int);
+INSERT INTO t2 VALUES (1, 10), (2, NULL);
+INSERT INTO t1 VALUES (1), (3);
+
+SELECT * FROM t2 WHERE b NOT IN (SELECT max(t.c) FROM t1, t1 t WHERE t.c>10);
+
+DROP TABLE t1,t2;

=== modified file 'scripts/make_binary_distribution.sh'
--- a/scripts/make_binary_distribution.sh	2008-05-13 13:56:07 +0000
+++ b/scripts/make_binary_distribution.sh	2008-06-18 01:04:10 +0000
@@ -14,36 +14,61 @@
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
-# This is a script to create a TAR or ZIP binary distribution out of a
-# built source tree. The output file will be put at the top level of
-# the source tree, as "mysql-<vsn>....{tar.gz,zip}"
+##############################################################################
 #
-# The temporary directory path given to "--tmp=<path>" has to be
-# absolute and with no spaces.
+#  This is a script to create a TAR or ZIP binary distribution out of a
+#  built source tree. The output file will be put at the top level of
+#  the source tree, as "mysql-<vsn>....{tar.gz,zip}"
+#
+#  Note that the structure created by this script is slightly different from
+#  what a normal "make install" would produce. No extra "mysql" sub directory
+#  will be created, i.e. no "$prefix/include/mysql", "$prefix/lib/mysql" or
+#  "$prefix/share/mysql".  This is because the build system explicitly calls
+#  make with pkgdatadir=<datadir>, etc.
+#
+#  In GNU make/automake terms
+#
+#    "pkglibdir"     is set to the same as "libdir"
+#    "pkgincludedir" is set to the same as "includedir"
+#    "pkgdatadir"    is set to the same as "datadir"
+#    "pkgplugindir"  is set to "$pkglibdir/plugin"
+#    "pkgsuppdir"    is set to "@prefix@/support-files",
+#                    normally the same as "datadir"
+#
+#  The temporary directory path given to "--tmp=<path>" has to be
+#  absolute and with no spaces.
+#
+#  Note that for best result, the original "make" should be done with
+#  the same arguments as used for "make install" below, especially the
+#  'pkglibdir', as the RPATH should to be set correctly.
+#
+##############################################################################
+
+##############################################################################
+#
+#  Read the command line arguments that control this script
+#
+##############################################################################
 
 machine=@MACHINE_TYPE@
 system=@SYSTEM_TYPE@
-version=@VERSION@
 SOURCE=`pwd`
 CP="cp -p"
 MV="mv"
 
-STRIP=1
-DEBUG=0
+STRIP=1				# Option ignored
 SILENT=0
-MACHINE=""
 PLATFORM=""
 TMP=/tmp
 SUFFIX=""
-NDBCLUSTER=""
+NDBCLUSTER=""			# Option ignored
 
 for arg do
   case "$arg" in
-    --debug)    DEBUG=1;;
     --tmp=*)    TMP=`echo "$arg" | sed -e "s;--tmp=;;"` ;;
     --suffix=*) SUFFIX=`echo "$arg" | sed -e "s;--suffix=;;"` ;;
     --no-strip) STRIP=0 ;;
-    --machine=*) MACHINE=`echo "$arg" | sed -e "s;--machine=;;"` ;;
+    --machine=*) machine=`echo "$arg" | sed -e "s;--machine=;;"` ;;
     --platform=*) PLATFORM=`echo "$arg" | sed -e "s;--platform=;;"` ;;
     --silent)   SILENT=1 ;;
     --with-ndbcluster) NDBCLUSTER=1 ;;
@@ -54,53 +79,52 @@ for arg do
   esac
 done
 
-# Remove vendor from $system
-system=`echo $system | sed -e 's/[a-z]*-\(.*\)/\1/g'`
-
-# Map OS names to "our" OS names (eg. darwin6.8 -> osx10.2)
-system=`echo $system | sed -e 's/darwin6.*/osx10.2/g'`
-system=`echo $system | sed -e 's/darwin7.*/osx10.3/g'`
-system=`echo $system | sed -e 's/darwin8.*/osx10.4/g'`
-system=`echo $system | sed -e 's/\(aix4.3\).*/\1/g'`
-system=`echo $system | sed -e 's/\(aix5.1\).*/\1/g'`
-system=`echo $system | sed -e 's/\(aix5.2\).*/\1/g'`
-system=`echo $system | sed -e 's/\(aix5.3\).*/\1/g'`
-system=`echo $system | sed -e 's/osf5.1b/tru64/g'`
-system=`echo $system | sed -e 's/linux-gnu/linux/g'`
-system=`echo $system | sed -e 's/solaris2.\([0-9]*\)/solaris\1/g'`
-system=`echo $system | sed -e 's/sco3.2v\(.*\)/openserver\1/g'`
+# ----------------------------------------------------------------------
+# Adjust "system" output from "uname" to be more human readable
+# ----------------------------------------------------------------------
+
+if [ x"$PLATFORM" = x"" ] ; then
+  # FIXME move this to the build tools
+  # Remove vendor from $system
+  system=`echo $system | sed -e 's/[a-z]*-\(.*\)/\1/g'`
+
+  # Map OS names to "our" OS names (eg. darwin6.8 -> osx10.2)
+  system=`echo $system | sed -e 's/darwin6.*/osx10.2/g'`
+  system=`echo $system | sed -e 's/darwin7.*/osx10.3/g'`
+  system=`echo $system | sed -e 's/darwin8.*/osx10.4/g'`
+  system=`echo $system | sed -e 's/\(aix4.3\).*/\1/g'`
+  system=`echo $system | sed -e 's/\(aix5.1\).*/\1/g'`
+  system=`echo $system | sed -e 's/\(aix5.2\).*/\1/g'`
+  system=`echo $system | sed -e 's/\(aix5.3\).*/\1/g'`
+  system=`echo $system | sed -e 's/osf5.1b/tru64/g'`
+  system=`echo $system | sed -e 's/linux-gnu/linux/g'`
+  system=`echo $system | sed -e 's/solaris2.\([0-9]*\)/solaris\1/g'`
+  system=`echo $system | sed -e 's/sco3.2v\(.*\)/openserver\1/g'`
 
-if [ x"$MACHINE" != x"" ] ; then
-  machine=$MACHINE
+  PLATFORM="$system-$machine"
 fi
 
-if [ x"$PLATFORM" != x"" ] ; then
-  platform="$PLATFORM"
-else
-  platform="$system-$machine"
-fi
+# Print the platform name for build logs
+echo "PLATFORM NAME: $PLATFORM"
+
+case $PLATFORM in
+  *netware*) BASE_SYSTEM="netware" ;;
+esac
 
-# FIXME This should really be integrated with automake and not duplicate the
-# installation list.
+# Change the distribution to a long descriptive name
+NEW_NAME=mysql@MYSQL_SERVER_SUFFIX@-@VERSION@-$PLATFORM$SUFFIX
 
+# ----------------------------------------------------------------------
+# Define BASE, and remove the old BASE directory if any
+# ----------------------------------------------------------------------
 BASE=$TMP/my_dist$SUFFIX
-
 if [ -d $BASE ] ; then
  rm -rf $BASE
 fi
 
-BS=""
-BIN_FILES=""
-BASE_SYSTEM="any"
-MYSQL_SHARE=$BASE/share/mysql
-
-case $system in
-  *netware*)
-    BASE_SYSTEM="netware"
-    BS=".nlm"
-    MYSQL_SHARE=$BASE/share
-    ;;
-esac
+# ----------------------------------------------------------------------
+# Find the TAR to use
+# ----------------------------------------------------------------------
 
 # This is needed to prefer GNU tar over platform tar because that can't
 # always handle long filenames
@@ -127,24 +151,149 @@ which_1 ()
 }
 
 tar=`which_1 gnutar gtar`
-if [ "$?" = "1" -o x"$tar" = x"" ] ; then
+if [ $? -ne 0 -o x"$tar" = x"" ] ; then
   tar=tar
 fi
 
 
+##############################################################################
+#
+#  Handle the Unix/Linux packaging using "make install"
+#
+##############################################################################
+
+if [ x"$BASE_SYSTEM" != x"netware" ] ; then
+
+  # ----------------------------------------------------------------------
+  # Terminate on any base level error
+  # ----------------------------------------------------------------------
+  set -e
+
+  # ----------------------------------------------------------------------
+  # Really ugly, one script, "mysql_install_db", needs prefix set to ".",
+  # i.e. makes access relative the current directory. This matches
+  # the documentation, so better not change this. And for another script,
+  # "mysql.server", we make some relative, others not.
+  # ----------------------------------------------------------------------
+
+  cd scripts
+  rm -f mysql_install_db
+  @MAKE@ mysql_install_db \
+    prefix=. \
+    bindir=./bin \
+    sbindir=./bin \
+    scriptdir=./bin \
+    libexecdir=./bin \
+    pkgdatadir=./share \
+    localstatedir=./data
+  cd ..
+
+  cd support-files
+  rm -f mysql.server
+  @MAKE@ mysql.server \
+    bindir=./bin \
+    sbindir=./bin \
+    scriptdir=./bin \
+    libexecdir=./bin \
+    pkgdatadir=@pkgdatadir@
+  cd ..
+
+  # ----------------------------------------------------------------------
+  # Do a install that we later are to pack. Use the same paths as in
+  # the build for the relevant directories.
+  # ----------------------------------------------------------------------
+  @MAKE@ DESTDIR=$BASE install \
+    pkglibdir=@pkglibdir@ \
+    pkgincludedir=@pkgincludedir@ \
+    pkgdatadir=@pkgdatadir@ \
+    pkgplugindir=@pkgplugindir@ \
+    pkgsuppdir=@pkgsuppdir@ \
+    mandir=@mandir@ \
+    infodir=@infodir@
+
+  # ----------------------------------------------------------------------
+  # Rename top directory, and set DEST to the new directory
+  # ----------------------------------------------------------------------
+  mv $BASE@prefix@ $BASE/$NEW_NAME
+  DEST=$BASE/$NEW_NAME
+
+  # ----------------------------------------------------------------------
+  # If we compiled with gcc, copy libgcc.a to the dist as libmygcc.a
+  # ----------------------------------------------------------------------
+  if [ x"@GXX@" = x"yes" ] ; then
+    gcclib=`@CC@ @CFLAGS@ --print-libgcc-file 2>/dev/null` || true
+    if [ -z "$gcclib" ] ; then
+      echo "Warning: Compiler doesn't tell libgcc.a!"
+    elif [ -f "$gcclib" ] ; then
+      $CP $gcclib $DEST/lib/libmygcc.a
+    else
+      echo "Warning: Compiler result '$gcclib' not found / no file!"
+    fi
+  fi
+
+  # FIXME let this script be in "bin/", where it is in the RPMs?
+  # http://dev.mysql.com/doc/refman/5.1/en/mysql-install-db-problems.html
+  mkdir $DEST/scripts
+  mv $DEST/bin/mysql_install_db $DEST/scripts/
+
+  # Note, no legacy "safe_mysqld" link to "mysqld_safe" in 5.1
+
+  # Copy readme and license files
+  cp README Docs/INSTALL-BINARY  $DEST/
+  if [ -f COPYING -a -f EXCEPTIONS-CLIENT ] ; then
+    cp COPYING EXCEPTIONS-CLIENT $DEST/
+  elif [ -f LICENSE.mysql ] ; then
+    cp LICENSE.mysql $DEST/
+  else
+    echo "ERROR: no license files found"
+    exit 1
+  fi
+
+  # FIXME should be handled by make file, and to other dir
+  mkdir -p $DEST/bin $DEST/support-files
+  cp scripts/mysqlaccess.conf $DEST/bin/
+  cp support-files/magic      $DEST/support-files/
+
+  # Create empty data directories, set permission (FIXME why?)
+  mkdir       $DEST/data $DEST/data/mysql $DEST/data/test
+  chmod o-rwx $DEST/data $DEST/data/mysql $DEST/data/test
+
+  # ----------------------------------------------------------------------
+  # Create the result tar file
+  # ----------------------------------------------------------------------
+
+  echo "Using $tar to create archive"
+  OPT=cvf
+  if [ x$SILENT = x1 ] ; then
+    OPT=cf
+  fi
+
+  echo "Creating and compressing archive"
+  rm -f $NEW_NAME.tar.gz
+  (cd $BASE ; $tar $OPT -  $NEW_NAME) | gzip -9 > $NEW_NAME.tar.gz
+  echo "$NEW_NAME.tar.gz created"
+
+  echo "Removing temporary directory"
+  rm -rf $BASE
+  exit 0
+fi
+
+
+##############################################################################
+#
+#  Handle the Netware case, until integrated above
+#
+##############################################################################
+
+BS=".nlm"
+MYSQL_SHARE=$BASE/share
+
 mkdir $BASE $BASE/bin $BASE/docs \
  $BASE/include $BASE/lib $BASE/support-files $BASE/share $BASE/scripts \
  $BASE/mysql-test $BASE/mysql-test/t  $BASE/mysql-test/r \
  $BASE/mysql-test/include $BASE/mysql-test/std_data $BASE/mysql-test/lib \
  $BASE/mysql-test/suite
 
-if [ $BASE_SYSTEM != "netware" ] ; then
- mkdir $BASE/share/mysql $BASE/tests $BASE/sql-bench $BASE/man \
-  $BASE/man/man1 $BASE/man/man8 $BASE/data $BASE/data/mysql $BASE/data/test
-
- chmod o-rwx $BASE/data $BASE/data/*
-fi
-
 # Copy files if they exists, warn for those that don't.
 # Note that when listing files to copy, we might list the file name
 # twice, once in the directory location where it is built, and a
@@ -176,12 +325,13 @@ copyfileto $BASE COPYING COPYING.LIB REA
 BIN_FILES="extra/comp_err$BS extra/replace$BS extra/perror$BS \
   extra/resolveip$BS extra/my_print_defaults$BS \
   extra/resolve_stack_dump$BS extra/mysql_waitpid$BS \
-  myisam/myisamchk$BS myisam/myisampack$BS myisam/myisamlog$BS \
-  myisam/myisam_ftdump$BS \
+  storage/myisam/myisamchk$BS storage/myisam/myisampack$BS \
+  storage/myisam/myisamlog$BS storage/myisam/myisam_ftdump$BS \
   sql/mysqld$BS sql/mysqld-debug$BS \
   sql/mysql_tzinfo_to_sql$BS \
   server-tools/instance-manager/mysqlmanager$BS \
   client/mysql$BS client/mysqlshow$BS client/mysqladmin$BS \
+  client/mysqlslap$BS \
   client/mysqldump$BS client/mysqlimport$BS \
   client/mysqltest$BS client/mysqlcheck$BS \
   client/mysqlbinlog$BS client/mysql_upgrade$BS \
@@ -191,42 +341,16 @@ BIN_FILES="extra/comp_err$BS extra/repla
   ";
 
 # Platform-specific bin dir files:
-if [ $BASE_SYSTEM = "netware" ] ; then
-  BIN_FILES="$BIN_FILES \
+BIN_FILES="$BIN_FILES \
     netware/mysqld_safe$BS netware/mysql_install_db$BS \
-    netware/init_db.sql netware/test_db.sql netware/mysql_explain_log$BS \
+    netware/init_db.sql netware/test_db.sql \
     netware/mysqlhotcopy$BS netware/libmysql$BS netware/init_secure_db.sql \
     ";
-# For all other platforms:
-else
-  BIN_FILES="$BIN_FILES \
-    server-tools/instance-manager/.libs/mysqlmanager \
-    client/mysqltestmanagerc \
-    client/mysqltestmanager-pwgen tools/mysqltestmanager \
-    client/.libs/mysql client/.libs/mysqlshow client/.libs/mysqladmin \
-    client/.libs/mysqldump client/.libs/mysqlimport \
-    client/.libs/mysqltest client/.libs/mysqlcheck \
-    client/.libs/mysqlbinlog client/.libs/mysqltestmanagerc \
-    client/.libs/mysqltestmanager-pwgen tools/.libs/mysqltestmanager \
-    tests/.libs/mysql_client_test \
-    libmysqld/examples/.libs/mysql_client_test_embedded \
-    libmysqld/examples/.libs/mysqltest_embedded \
-  ";
-fi
 
 copyfileto $BASE/bin $BIN_FILES
 
-if [ x$STRIP = x1 ] ; then
-  strip $BASE/bin/*
-fi
-
-# Copy not binary files
-copyfileto $BASE/bin sql/mysqld.sym.gz
-
-if [ $BASE_SYSTEM = "netware" ] ; then
-    $CP netware/*.pl $BASE/scripts
-    $CP scripts/mysqlhotcopy $BASE/scripts/mysqlhotcopy.pl
-fi
+$CP netware/*.pl $BASE/scripts
+$CP scripts/mysqlhotcopy $BASE/scripts/mysqlhotcopy.pl
 
 copyfileto $BASE/lib \
   libmysql/.libs/libmysqlclient.a \
@@ -248,31 +372,17 @@ copyfileto $BASE/lib \
   zlib/.libs/libz.a
 
 # convert the .a to .lib for NetWare
-if [ $BASE_SYSTEM = "netware" ] ; then
-    for i in $BASE/lib/*.a
-    do
-      libname=`basename $i .a`
-      $MV $i $BASE/lib/$libname.lib
-    done
-    rm -f $BASE/lib/*.la
-fi
+for i in $BASE/lib/*.a
+do
+  libname=`basename $i .a`
+  $MV $i $BASE/lib/$libname.lib
+done
+rm -f $BASE/lib/*.la
 
-copyfileto $BASE/include include/*
 
-rm -f $BASE/include/Makefile* $BASE/include/*.in $BASE/include/config-win.h
-if [ $BASE_SYSTEM != "netware" ] ; then
-  rm -f $BASE/include/config-netware.h
-fi
+copyfileto $BASE/include config.h include/*
 
-if [ $BASE_SYSTEM != "netware" ] ; then
-  if [ -d tests ] ; then
-    $CP tests/*.res tests/*.tst tests/*.pl $BASE/tests
-  fi
-  if [ -d man ] ; then
-    $CP man/*.1 $BASE/man/man1
-    $CP man/*.8 $BASE/man/man8
-  fi
-fi
+rm -f $BASE/include/Makefile* $BASE/include/*.in $BASE/include/config-win.h
 
 copyfileto $BASE/support-files support-files/*
 
@@ -291,43 +401,29 @@ copyfileto $BASE/mysql-test \
 $CP mysql-test/lib/*.pl  $BASE/mysql-test/lib
 $CP mysql-test/t/*.def $BASE/mysql-test/t
 $CP mysql-test/include/*.inc $BASE/mysql-test/include
+$CP mysql-test/include/*.sql $BASE/mysql-test/include
 $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/Index.xml \
+    mysql-test/std_data/des_key_file mysql-test/std_data/*.*001 \
+    mysql-test/std_data/*.cnf mysql-test/std_data/*.MY* \
+    $BASE/mysql-test/std_data
 $CP mysql-test/t/*.test mysql-test/t/*.imtest \
     mysql-test/t/*.disabled mysql-test/t/*.opt \
     mysql-test/t/*.slave-mi mysql-test/t/*.sh mysql-test/t/*.sql $BASE/mysql-test/t
 $CP mysql-test/r/*.result mysql-test/r/*.require \
     $BASE/mysql-test/r
 
-# Copy the additional suites and data "as is", they are in flux
-$tar cf - mysql-test/suite    | ( cd $BASE ; $tar xf - )
-$tar cf - mysql-test/std_data | ( cd $BASE ; $tar xf - )
+# Copy the additional suites "as is", they are in flux
+$tar cf - mysql-test/suite | ( cd $BASE ; $tar xf - )
 # Clean up if we did this from a bk tree
 if [ -d mysql-test/SCCS ] ; then
   find $BASE/mysql-test -name SCCS -print | xargs rm -rf
 fi
 
-if [ $BASE_SYSTEM != "netware" ] ; then
-  chmod a+x $BASE/bin/*
-  copyfileto $BASE/bin scripts/*
-  $BASE/bin/replace \@localstatedir\@ ./data \@bindir\@ ./bin \@scriptdir\@ \
-      ./bin \@libexecdir\@ ./bin \@sbindir\@ ./bin \@prefix\@ . \@HOSTNAME\@ \
-      @HOSTNAME@ \@pkgdatadir\@ ./share \
-      < scripts/mysql_install_db.sh > $BASE/scripts/mysql_install_db
-  $BASE/bin/replace \@prefix\@ /usr/local/mysql \@bindir\@ ./bin \
-      \@sbindir\@ ./bin \@libexecdir\@ ./bin \
-      \@MYSQLD_USER\@ @MYSQLD_USER@ \@localstatedir\@ /usr/local/mysql/data \
-      \@HOSTNAME\@ @HOSTNAME@ \
-      < support-files/mysql.server.sh > $BASE/support-files/mysql.server
-  $BASE/bin/replace /my/gnu/bin/hostname /bin/hostname -- $BASE/bin/mysqld_safe
-  mv $BASE/support-files/binary-configure $BASE/configure
-  chmod a+x $BASE/bin/* $BASE/scripts/* $BASE/support-files/mysql-log-rotate \
-      $BASE/support-files/*.server $BASE/configure
-  $CP -r sql-bench/* $BASE/sql-bench
-  rm -f $BASE/sql-bench/*.sh $BASE/sql-bench/Makefile* $BASE/lib/*.la
-  rm -f $BASE/bin/*.sql
-fi
-
 rm -f $BASE/bin/Makefile* $BASE/bin/*.in $BASE/bin/*.sh \
     $BASE/bin/mysql_install_db $BASE/bin/make_binary_distribution \
     $BASE/bin/setsomevars $BASE/support-files/Makefile* \
@@ -336,29 +432,19 @@ rm -f $BASE/bin/Makefile* $BASE/bin/*.in
 #
 # Copy system dependent files
 #
-if [ $BASE_SYSTEM = "netware" ] ; then
-  ./scripts/fill_help_tables < ./Docs/manual.texi >> ./netware/init_db.sql
-fi
+./scripts/fill_help_tables < ./Docs/manual.texi >> ./netware/init_db.sql
 
 #
 # Remove system dependent files
 #
-if [ $BASE_SYSTEM = "netware" ] ; then
-  rm -f $BASE/support-files/magic \
+rm -f   $BASE/support-files/magic \
         $BASE/support-files/mysql.server \
         $BASE/support-files/mysql*.spec \
         $BASE/support-files/mysql-log-rotate \
         $BASE/support-files/binary-configure \
         $BASE/support-files/build-tags \
 	$BASE/support-files/MySQL-shared-compat.spec \
-        $BASE/support-files/ndb-config-2-node.ini \
         $BASE/INSTALL-BINARY
-fi
-
-# Make safe_mysqld a symlink to mysqld_safe for backwards portability
-if [ $BASE_SYSTEM != "netware" ] ; then
-  (cd $BASE/bin ; ln -s mysqld_safe safe_mysqld )
-fi
 
 # Clean up if we did this from a bk tree
 if [ -d $BASE/sql-bench/SCCS ] ; then
@@ -366,78 +452,17 @@ if [ -d $BASE/sql-bench/SCCS ] ; then
   find $BASE/sql-bench -name SCCS -print | xargs rm -rf
 fi
 
-# NDB Cluster
-if [ x$NDBCLUSTER = x1 ]; then
-  ( cd ndb            ; @MAKE@ DESTDIR=$BASE/ndb-stage install )
-  ( cd mysql-test/ndb ; @MAKE@ DESTDIR=$BASE/ndb-stage install )
-  $CP $BASE/ndb-stage@bindir@/* $BASE/bin/.
-  $CP $BASE/ndb-stage@libexecdir@/* $BASE/bin/.
-  $CP $BASE/ndb-stage@pkglibdir@/* $BASE/lib/.
-  $CP $BASE/ndb-stage@pkgdatadir@/* $BASE/share/mysql/.
-  $CP -r $BASE/ndb-stage@pkgincludedir@/ndb $BASE/include
-  $CP -r $BASE/ndb-stage@prefix@/mysql-test/ndb $BASE/mysql-test/. || exit 1
-  rm -rf $BASE/ndb-stage
-fi
-
-# Change the distribution to a long descriptive name
-NEW_NAME=mysql@MYSQL_SERVER_SUFFIX@-$version-$platform$SUFFIX
-
-# Print the platform name for build logs
-echo "PLATFORM NAME: $platform"
-
 BASE2=$TMP/$NEW_NAME
 rm -rf $BASE2
 mv $BASE $BASE2
 BASE=$BASE2
+
 #
-# If we are compiling with gcc, copy libgcc.a to the distribution as libmygcc.a
+# Create a zip file for NetWare users
 #
-
-if [ x"@GXX@" = x"yes" ] ; then
-  gcclib=`@CC@ @CFLAGS@ --print-libgcc-file 2>/dev/null` || true
-  if [ -z "$gcclib" ] ; then
-    echo "Warning: Compiler doesn't tell libgcc.a!"
-  elif [ -f "$gcclib" ] ; then
-    $CP $gcclib $BASE/lib/libmygcc.a
-  else
-    echo "Warning: Compiler result '$gcclib' not found / no file!"
-  fi
-fi
-
-#if we are debugging, do not do tar/gz
-if [ x$DEBUG = x1 ] ; then
- exit
-fi
-
-if [ $BASE_SYSTEM != "netware" ] ; then
-
-  #
-  # Create the result tar file
-  #
-
-  echo "Using $tar to create archive"
-
-  OPT=cvf
-  if [ x$SILENT = x1 ] ; then
-    OPT=cf
-  fi
-
-  echo "Creating and compressing archive"
-  rm -f $NEW_NAME.tar.gz
-  (cd $TMP ; $tar $OPT -  $NEW_NAME) | gzip -9 > $NEW_NAME.tar.gz
-  echo "$NEW_NAME.tar.gz created"
-
-else
-
-  #
-  # Create a zip file for NetWare users
-  #
-
-  rm -f $NEW_NAME.zip
-  (cd $TMP; zip -r "$SOURCE/$NEW_NAME.zip" $NEW_NAME)
-  echo "$NEW_NAME.zip created"
-
-fi
+rm -f $NEW_NAME.zip
+(cd $TMP; zip -r "$SOURCE/$NEW_NAME.zip" $NEW_NAME)
+echo "$NEW_NAME.zip created"
 
 echo "Removing temporary directory"
 rm -rf $BASE

=== modified file 'sql/sql_select.cc'
--- a/sql/sql_select.cc	2008-05-16 16:03:50 +0000
+++ b/sql/sql_select.cc	2008-06-19 03:08:41 +0000
@@ -888,6 +888,7 @@ JOIN::optimize()
       {
         DBUG_PRINT("info",("No matching min/max row"));
 	zero_result_cause= "No matching min/max row";
+        tables= 0;
 	error=0;
 	DBUG_RETURN(0);
       }
@@ -901,6 +902,7 @@ JOIN::optimize()
       {
         DBUG_PRINT("info",("No matching min/max row"));
         zero_result_cause= "No matching min/max row";
+        tables= 0;
         error=0;
         DBUG_RETURN(0);
       }

=== modified file 'sql/sql_table.cc'
--- a/sql/sql_table.cc	2008-05-20 07:38:17 +0000
+++ b/sql/sql_table.cc	2008-06-18 01:05:56 +0000
@@ -4024,7 +4024,7 @@ static int prepare_for_repair(THD *thd, 
   if (table->s->frm_version != FRM_VER_TRUE_VARCHAR)
   {
     error= send_check_errmsg(thd, table_list, "repair",
-                             "Failed reparing incompatible .FRM file");
+                             "Failed repairing incompatible .frm file");
     goto end;
   }
 

=== modified file 'storage/innobase/Makefile.am'
--- a/storage/innobase/Makefile.am	2008-05-14 08:45:32 +0000
+++ b/storage/innobase/Makefile.am	2008-06-19 04:44:22 +0000
@@ -159,7 +159,7 @@ libinnobase_a_CXXFLAGS=	$(AM_CFLAGS)
 libinnobase_a_CFLAGS  =	$(AM_CFLAGS)
 
 EXTRA_LTLIBRARIES =	ha_innodb.la
-pkglib_LTLIBRARIES =	@plugin_innobase_shared_target@
+pkgplugin_LTLIBRARIES=	@plugin_innobase_shared_target@
 
 ha_innodb_la_LDFLAGS =	-module -rpath $(pkgplugindir)
 ha_innodb_la_CXXFLAGS=	$(AM_CFLAGS) -DMYSQL_DYNAMIC_PLUGIN

Thread
bzr commit into mysql-5.1 branch (aelkin:2657) Bug#36443Andrei Elkin20 Jun