Commit e05b8392 authored by monty@hundin.mysql.fi's avatar monty@hundin.mysql.fi
Browse files

merge

parents c0cd0f48 06e719b7
Loading
Loading
Loading
Loading
+50 −8
Original line number Diff line number Diff line
@@ -19,7 +19,7 @@ if ($opt_innodb || $opt_bdb)

chomp($host=`hostname`);
$full_host_name=$host;
info("Compiling MySQL$version_suffix at $host$suffix, stage: $opt_stage\n");
info("Compiling MySQL$version_suffix at $host, stage: $opt_stage\n");
$connect_option= ($opt_tcpip ? "--host=$host" : "");
$host =~ /^([^.-]*)/;
$host=$1 . $opt_suffix;
@@ -65,10 +65,11 @@ $sendmail=find("/usr/lib/sendmail","/usr/sbin/sendmail");
$sur= $opt_sur ? "/my/local/bin/sur" : "";
delete $ENV{'MYSQL_PWD'};	# Reset possibly password
delete $ENV{'MY_BASEDIR_VERSION'};
$ENV{'MYSQL_TCP_PORT'}= $mysql_tcp_port= 3334 + $opt_build_thread;
$ENV{'MYSQL_TCP_PORT'}= $mysql_tcp_port= 3334 + $opt_build_thread*2;
$ENV{'MYSQL_UNIX_PORT'}=$mysql_unix_port="$opt_tmp/mysql$opt_suffix.build";
$ENV{"PERL5LIB"}="$pwd/$host/perl5:$pwd/$host/perl5/site_perl";
$slave_port=$mysql_tcp_port+16;
$manager_port=$mysql_tcp_port+1;

if (-x "$host/bin/mysqladmin")
{
@@ -78,6 +79,7 @@ if (-x "$host/bin/mysqladmin")
  log_system("$host/bin/mysqladmin --no-defaults -u root -P 9306 -h $host -s shutdown");
  log_system("$host/bin/mysqladmin --no-defaults -u root -P 9307 -h $host -s shutdown");
}
kill_all("mysqlmanager");

if ($opt_stage == 0)
{
@@ -110,7 +112,7 @@ if ($opt_stage == 0 && ! $opt_use_old_distribution)

  # Fix file times; This is needed because the time for files may be
  # in the future
  system("touch timestamp; find $var -newer timestamp -print | xargs touch; rm -f timestamp");
  system("touch timestamp; find . -newer timestamp -print | xargs touch; rm -f timestamp");
  sleep(2);
  # Ensure that files we don't want to rebuild are newer than other files
  foreach $name ("configure",
@@ -207,13 +209,13 @@ if ($opt_stage <= 4 && !$opt_no_test)
$tar_file =~ /(mysql-[^\/]*)\.tar/;
$ver=$1;
$test_dir="$pwd/$host/test/$ver";
$ENV{"LD_LIBRARY_PATH"}= "$testdir/lib:" . $ENV{"LD_LIBRARY_PATH"};
$ENV{"LD_LIBRARY_PATH"}= "$test_dir/lib:" . $ENV{"LD_LIBRARY_PATH"};

if ($opt_stage <= 5 && !$opt_no_test && !$opt_no_mysqltest)
{
  system("mkdir $bench_tmpdir") if (! -d $bench_tmpdir);
  safe_cd("${test_dir}/mysql-test");
  check_system("./mysql-test-run --tmpdir=$bench_tmpdir --master_port=$mysql_tcp_port --slave_port=$slave_port --sleep=10", "tests were successful");
  check_system("./mysql-test-run --tmpdir=$bench_tmpdir --master_port=$mysql_tcp_port --slave_port=$slave_port --manager-port=$manager_port --sleep=10", "tests were successful");
}

# Start the server if we are going to run any of the benchmarks
@@ -235,7 +237,7 @@ if (!$opt_no_test)
  {
    $extra.=" --innodb_data_file_path=ibdata1:100M";
  }
  safe_system("./bin/mysqld --no-defaults --basedir . --datadir ./data --skip-l\ocking $extra >> $log 2>&1 &");
  safe_system("./bin/mysqld --no-defaults --basedir . --datadir ./data --skip-locking $extra >> $log 2>&1 &");
  sleep(2);
}

@@ -315,7 +317,7 @@ exit 0;
sub usage
{
print <<EOF;
$0  version 1.2
$0  version 1.3

$0 takes the following options:

@@ -329,7 +331,7 @@ Compile with support for Innodb tables
Compile with support for Berkeley DB tables

--user 'user_name'
Mail 'user_name'\@analytikerna.se if something went wrong.
Mail 'user_name'\@mysql.com if something went wrong.
If user is empty then no mail is sent.

--distribution 'distribution_file'
@@ -528,3 +530,43 @@ sub rm_all
    }
  }
}

sub kill_all
{
  my ($pattern) = @_;
  my ($USER,$BSD,$LINUX,$pscmd, $user, $pid);
  $user=$ENV{'USER'};
  $BSD = -f '/vmunix' || $ENV{"OS"} eq "SunOS4";
  $LINUX = $^O eq 'linux';
  $pscmd = $BSD ? "/bin/ps -auxww" : $LINUX ? "/bin/ps axuw" : "/bin/ps -ef";

  open(PS, "$pscmd|") || die "can't run $pscmd: $!";

  # Catch any errors with eval.  A bad pattern, for instance.
 process:
  while ($cand = <PS>)
  {
    chop($cand);
    ($pid_user, $pid) = split(' ', $cand);
    next if $pid == $$;
    next process if (! ($cand =~ $pattern) || $pid_user ne $user)
    &killpid($pid);
  }
}

sub killpid
{
  local($pid) = @_;
  kill 15, $pid;
  for (1..5)
  {
    sleep 2;
    return if kill(0, $pid) == 0;
  }
  kill 9, $pid;
  for (1..5) {
    sleep 2;
    return if kill(0, $pid) == 0;
  }
  print LOG "$pid will not die!\n";
}
+7 −4
Original line number Diff line number Diff line
@@ -92,10 +92,7 @@ while test $# -gt 0; do
done

echo "Removing old MySQL packages"
rm -rf $rpmdir/BUILD/mysql-*
rm -f $rpmdir/SOURCES/mysql-*
rm -f $rpmdir/SRPMS/MySQL-*
rm -f $rpmdir/SPEC/mysql-*
rm -f $bpath/NEW-RPMS/MySQL-*rpm

if [ ! -d "$logdir" ]; then
 echo "$logdir does not exist, creating"
@@ -114,6 +111,12 @@ echo "Details in $log"

(
set -x
# remove old stuff
rm -rf $rpmdir/BUILD/mysql-*
rm -f $rpmdir/SOURCES/mysql-*
rm -f $rpmdir/SRPMS/MySQL-*
rm -f $rpmdir/SPEC/mysql-*

# Copy MySQL source and spec files

#Sasha: I left the scp stuff commented out instead of deleted to make it
+5 −11
Original line number Diff line number Diff line
@@ -24206,17 +24206,11 @@ for most systems, but one should be aware of it.
@cindex design, limitations
@cindex limitations, design
Because MySQL uses extremely fast table locking (multiple readers /
single writers) the biggest remaining problem is a mix of a steady stream of
inserts and slow selects on the same table.
We believe that for a huge number of systems the extremely fast
performance in other cases make this choice a win. This case is usually
also possible to solve by having multiple copies of the table, but it
takes more effort and hardware.
We are also working on some extensions to solve this problem for some
common application niches.
When using the MyISAM table handler, MySQL uses extremely fast table
locking (multiple readers / single writers). The biggest problem with
this table type is a if you have a mix of a steady stream of updates and
slow selects on the same table.  If this is a problem with some tables,
you can use another table type for these. @xref{Table types}.
MySQL can work with both transactional and not transactional tables.  To
be able to work smoothly with not transactional tables (which can't
+0 −42
Original line number Diff line number Diff line
@@ -1175,48 +1175,6 @@ dnl ---------------------------------------------------------------------------
dnl END OF MYSQL_CHECK_INNODB SECTION
dnl ---------------------------------------------------------------------------

dnl ---------------------------------------------------------------------------
dnl Macro: MYSQL_CHECK_GEMINI
dnl Sets HAVE_GEMINI_DB if --with-gemini is used
dnl ---------------------------------------------------------------------------

AC_DEFUN([MYSQL_CHECK_GEMINI], [
  AC_ARG_WITH([gemini],
              [\
  --with-gemini[=DIR]     Use Gemini DB located in DIR],
              [gemini="$withval"],
              [gemini=no])

  AC_MSG_CHECKING([for Gemini DB])

dnl     SORT OUT THE SUPPLIED ARGUMENTS TO DETERMINE WHAT TO DO
dnl echo "DBG_GEM1: gemini='$gemini'"
  have_gemini_db=no
  gemini_includes=
  gemini_libs=
  case "$gemini" in
    no) 
      AC_MSG_RESULT([Not using Gemini DB])
      ;;
    yes | default | *)
      have_gemini_db="yes"
      gemini_includes="-I../gemini/incl -I../gemini"
      gemini_libs="\
 ../gemini/api/libapi.a\
 ../gemini/db/libdb.a\
 ../gemini/dbut/libdbut.a"
      AC_MSG_RESULT([Using Gemini DB])
      ;;
  esac

  AC_SUBST(gemini_includes)
  AC_SUBST(gemini_libs)
])

dnl ---------------------------------------------------------------------------
dnl END OF MYSQL_CHECK_GEMINI SECTION
dnl ---------------------------------------------------------------------------

dnl ---------------------------------------------------------------------------
dnl Got this from the GNU tar 1.13.11 distribution
dnl by Paul Eggert <eggert@twinsun.com>
+0 −14
Original line number Diff line number Diff line
@@ -2078,7 +2078,6 @@ AC_MSG_RESULT([default: $default_charset; compiled in: $CHARSETS])
MYSQL_CHECK_ISAM
MYSQL_CHECK_BDB
MYSQL_CHECK_INNODB
MYSQL_CHECK_GEMINI

# If we have threads generate some library functions and test programs
sql_server_dirs=
@@ -2208,22 +2207,9 @@ EOF

    echo "END OF INNODB CONFIGURATION"
  fi

  if test "X$have_gemini_db" = "Xyes"; then 
    sql_server_dirs="$sql_server_dirs gemini"
    echo "CONFIGURING FOR GEMINI DB"
    (cd gemini && sh ./configure) \
    || AC_MSG_ERROR([could not configure Gemini DB])

    echo "END OF GEMINI DB CONFIGURATION"

    AC_DEFINE(HAVE_GEMINI_DB)
  fi

  #
  # END of configuration for optional table handlers
  #

  sql_server_dirs="$sql_server_dirs myisam myisammrg heap vio sql"

  if test "$with_posix_threads" = "no" -o "$with_mit_threads" = "yes"
Loading