Commit bbab9ec6 authored by unknown's avatar unknown
Browse files

Merge with 4.0 for 4.1 release

Noteworthy:
- New HANDLER code
- New multi-update-grant-check code
- Table lock code in ha_innodb.cc was not applied


BitKeeper/etc/logging_ok:
  auto-union
BitKeeper/deleted/.del-ctype-latin1_de.c~c5d8f9208bceb98e:
  Auto merged
Build-tools/mysql-copyright-2:
  Auto merged
acinclude.m4:
  Auto merged
client/mysqladmin.c:
  Auto merged
client/mysqldump.c:
  Auto merged
include/config-win.h:
  Auto merged
include/my_global.h:
  Auto merged
include/myisam.h:
  Auto merged
innobase/btr/btr0btr.c:
  Auto merged
innobase/buf/buf0buf.c:
  Auto merged
ltmain.sh:
  Auto merged
innobase/dict/dict0dict.c:
  Auto merged
innobase/fsp/fsp0fsp.c:
  Auto merged
innobase/include/dict0dict.h:
  Auto merged
innobase/include/row0mysql.h:
  Auto merged
innobase/log/log0log.c:
  Auto merged
innobase/log/log0recv.c:
  Auto merged
innobase/pars/pars0opt.c:
  Auto merged
innobase/row/row0row.c:
  Auto merged
innobase/sync/sync0arr.c:
  Auto merged
innobase/ut/ut0dbg.c:
  Auto merged
myisam/mi_check.c:
  Auto merged
myisam/mi_close.c:
  Auto merged
myisam/mi_create.c:
  Auto merged
myisam/mi_locking.c:
  Auto merged
myisam/myisampack.c:
  Auto merged
mysql-test/r/delete.result:
  Auto merged
mysql-test/r/func_if.result:
  Auto merged
Build-tools/mysql-copyright:
  Merge with 4.0 (too most of the code from 4.0)
Makefile.am:
  merge
client/mysql.cc:
  Used 4.1 code
configure.in:
  merge
innobase/os/os0file.c:
  merge
innobase/row/row0mysql.c:
  merge
mysql-test/r/ctype_latin1_de.result:
  merge
mysql-test/r/flush_table.result:
  merge
mysql-test/r/func_str.result:
  merge
mysql-test/r/handler.result:
  merge
mysql-test/r/multi_update.result:
  merge
mysql-test/r/type_timestamp.result:
  Removed testing of 'new' mode, as this is only relevant for 4.0
mysql-test/r/update.result:
  merge
mysql-test/t/delete.test:
  merge
mysql-test/t/flush_table.test:
  merge
mysql-test/t/func_str.test:
  merge
mysql-test/t/handler.test:
  merge
mysql-test/t/multi_update.test:
  merge
mysql-test/t/type_timestamp.test:
  Removed testing of 'new' mode, as this is only relevant for 4.0
mysql-test/t/update.test:
  merge
mysys/errors.c:
  merge
mysys/my_fstream.c:
  merge
mysys/my_pread.c:
  merge
mysys/my_write.c:
  merge
mysys/mysys_priv.h:
  merge
scripts/mysqlhotcopy.sh:
  merge
sql/field.cc:
  Keep code from 4.1
sql/field.h:
  Keep code from 4.1
sql/ha_innodb.cc:
  Don't merge lock code from 4.0; Heikki will look at this
sql/ha_myisam.cc:
  merge
sql/handler.cc:
  merge
sql/item_cmpfunc.cc:
  merge
sql/item_cmpfunc.h:
  merge
sql/item_strfunc.cc:
  merge
sql/mysql_priv.h:
  merge
sql/mysqld.cc:
  merge
sql/protocol.cc:
  merge
sql/records.cc:
  merge
sql/repl_failsafe.cc:
  merge
mysql-test/r/lock_multi.result:
  merge
mysql-test/t/ctype_latin1_de.test:
  merge
mysql-test/t/func_if.test:
  merge
mysql-test/t/lock_multi.test:
  merge
sql/repl_failsafe.h:
  merge
  Remove unnessessary header protection
sql/slave.h:
  merge
sql/sql_acl.cc:
  merge
sql/sql_base.cc:
  merge
sql/sql_cache.cc:
  auto merge
sql/sql_class.cc:
  merge
sql/sql_class.h:
  merge
sql/sql_delete.cc:
  merge
sql/sql_handler.cc:
  Get new HANDLER code into 4.1
sql/sql_parse.cc:
  Keep old file
sql/sql_repl.cc:
  merge
sql/sql_repl.h:
  merge
sql/sql_show.cc:
  merge
sql/sql_table.cc:
  merge
sql/sql_union.cc:
  Applied the examine_rows bug fix from 4.0 by hand
sql/sql_update.cc:
  New multi-update-grant-check code from 4.0
sql/sql_yacc.yy:
  New multi-update-grant-check code from 4.0
sql/stacktrace.c:
  merge
sql/table.h:
  merge
parents 7d583c58 95e1c074
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -52,6 +52,7 @@ gweir@build.mysql.com
gweir@work.mysql.com
harrison@mysql.com
harry@corona.lordblink.com
hartmut@mysql.com
heikki@donna.mysql.fi
heikki@hundin.mysql.fi
heikki@rescue.
@@ -96,6 +97,7 @@ lenz@mysql.com
magnus@neptunus.(none)
magnus@shellback.(none)
marko@hundin.mysql.fi
matt@mysql.com
miguel@hegel.(none)
miguel@hegel.br
miguel@hegel.local
+74 −41
Original line number Diff line number Diff line
#!/usr/bin/perl -i
#!/usr/bin/perl -wi

# Untar a MySQL distribution, change the copyright texts,
# pack it up again to a given directory

$VER="1.3";
$VER="1.4";

use Cwd;
use File::Basename;
@@ -104,7 +104,7 @@ sub main
    unlink("$destdir/COPYING", "$destdir/EXCEPTIONS-CLIENT");
    copy("$WD/Docs/MySQLEULA.txt", "$destdir");

    # remove readline, bdb subdirs and update 'configure'
    # remove subdirectories 'bdb', 'cmd-line-utils/readline'
    my @extra_fat= ('bdb', 'cmd-line-utils/readline');

    foreach my $fat (@extra_fat)
@@ -119,6 +119,9 @@ sub main
    # fix LICENSE tag in include/mysql_version.h
    &fix_mysql_version();

    # apply "autotools" - must be last to ensure proper timestamps
    &run_autotools();

    # rename the directory with new distribution name
    chdir("$WD/$dir");
    print "renaming $destdir $newdistname\n" if $opt_verbose; 
@@ -150,6 +153,7 @@ sub main
####
sub fix_mysql_version
{
  my $cwd= getcwd();
  chdir("$destdir");
  my $header_file= (-f 'include/mysql_version.h.in')? 'include/mysql_version.h.in' : 'include/mysql_version.h';

@@ -170,42 +174,71 @@ sub fix_mysql_version
#### This function will remove unwanted parts of a src tree for the mysqlcom
#### distributions.
####

sub trim_the_fat
{
  my $the_fat= shift;
  my $cwd= getcwd();

        system("rm -rf $destdir/${the_fat}");
  chdir("$destdir");
  if ( -d "${the_fat}" )
  {
    system("rm -rf ${the_fat}");
    if (!$win_flag)
    {
                chdir("$destdir");
                unlink ("configure") or die "Can't delete $destdir/configure: $!\n";
                open(CONFIGURE,"<configure.in") or die "Unable to open configure.in for read: $!\n";
      open(CONFIG_IN,"<configure.in") or die "Unable to open configure.in for read: $!\n";
      undef $/;
                my $configure= <CONFIGURE>;
                close(CONFIGURE);
      my $config_in= <CONFIG_IN>;
      close(CONFIG_IN);

      #
      # If $the_fat Makefile line closes the parenthesis, then
      # replace that line with just the closing parenthesis.
      #
                if ($configure=~ m|${the_fat}/Makefile\)\n?|)
      if ($config_in=~ m|${the_fat}/Makefile\)\n?|)
      {
                        $configure=~ s|${the_fat}/Makefile(\)\n?)|$1|;
        $config_in=~ s|${the_fat}/Makefile(\)\n?)|$1|;
      }
      #
      # Else just delete the line
      #
      else
      {
                        $configure=~ s|${the_fat}/Makefile dnl\n?||;
        $config_in=~ s|${the_fat}/Makefile dnl\n?||;
      }

                open(CONFIGURE,">configure.in") or die "Unable to open configure.in for write: $!\n";
                print CONFIGURE $configure;
                close(CONFIGURE);
      open(CONFIG_IN,">configure.in") or die "Unable to open configure.in for write: $!\n";
      print CONFIG_IN $config_in;
      close(CONFIG_IN);
    }
  }
  chdir("$cwd");
}


####
#### This function will run the autotools on the reduced source tree.
####

sub run_autotools
{
  my $cwd= getcwd();

  if (!$win_flag)
  {
    chdir("$destdir");
    unlink ("configure") or die "Can't delete $destdir/configure: $!\n";

    # File "configure.in" has already been modified by "trim_the_fat()"

    `aclocal && autoheader && aclocal && automake && autoconf`;
    die "'./configure' was not produced!" unless (-f "configure");

    if (-d "autom4te.cache") {
      print "Trying to delete autom4te.cache dir\n" if $opt_verbose;
      system("rm -rf autom4te.cache") or print "Unable to delete autom4te.cache dir: $!\n";
    }

    chdir("$cwd");
  }
}
+1 −0
Original line number Diff line number Diff line
@@ -90,6 +90,7 @@ sub add_copyright
	 $ARGV =~ /\.cc$/ ||
	 $ARGV =~ /\.h$/ ||
	 $ARGV =~ /\.cpp$/ ||
	 $ARGV =~ /\.txt$/ ||
	 $ARGV =~ /\.yy$/)
  {
    $start_copyright="/* ";
+1 −1
Original line number Diff line number Diff line
@@ -30,7 +30,7 @@ SUBDIRS = . include @docs_dirs@ @zlib_dir@ \
DIST_SUBDIRS =		. include @docs_dirs@ zlib \
			@readline_topdir@ sql-common \
			@thread_dirs@ pstack @sql_client_dirs@ \
			@sql_server_dirs@ scripts man tests SSL\
			@sql_server_dirs@ scripts @man_dirs@ tests SSL\
			BUILD netware os2 @libmysqld_dirs@ \
			@bench_dirs@ support-files @fs_dirs@ @tools_dirs@

+21 −2
Original line number Diff line number Diff line
@@ -976,7 +976,7 @@ AC_DEFUN([MYSQL_FIND_OPENSSL], [
AC_DEFUN([MYSQL_CHECK_OPENSSL], [
AC_MSG_CHECKING(for OpenSSL)
  AC_ARG_WITH([openssl],
              [  --with-openssl          Include the OpenSSL support],
              [  --with-openssl[=DIR]    Include the OpenSSL support],
              [openssl="$withval"],
              [openssl=no])

@@ -994,8 +994,19 @@ AC_MSG_CHECKING(for OpenSSL)
              [openssl_libs="$withval"],
              [openssl_libs=""])

  if test "$openssl" = "yes"
  if test "$openssl" != "no"
  then
	if test "$openssl" != "yes"
	then
		if test -z "$openssl_includes" 
		then
			openssl_includes="$openssl/include"
		fi
		if test -z "$openssl_libs" 
		then
			openssl_libs="$openssl/lib"
		fi
	fi
    MYSQL_FIND_OPENSSL([$openssl_includes], [$openssl_libs])
    #force VIO use
    vio_dir="vio"
@@ -1031,6 +1042,14 @@ AC_MSG_CHECKING(for OpenSSL)
    NON_THREADED_CLIENT_LIBS="$NON_THREADED_CLIENT_LIBS $openssl_libs"
  else
    AC_MSG_RESULT(no)
	if test ! -z "$openssl_includes"
	then
		AC_MSG_ERROR(Can't have --with-openssl-includes without --with-openssl);
	fi
	if test ! -z "$openssl_libs"
	then
		AC_MSG_ERROR(Can't have --with-openssl-libs without --with-openssl);
	fi
  fi
  AC_SUBST(openssl_libs)
  AC_SUBST(openssl_includes)
Loading