Loading Build-tools/Do-compile +50 −8 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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") { Loading @@ -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) { Loading Loading @@ -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", Loading Loading @@ -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 Loading @@ -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); } Loading Loading @@ -315,7 +317,7 @@ exit 0; sub usage { print <<EOF; $0 version 1.2 $0 version 1.3 $0 takes the following options: Loading @@ -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' Loading Loading @@ -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"; } Build-tools/Do-rpm +7 −4 Original line number Diff line number Diff line Loading @@ -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" Loading @@ -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 Loading Docs/manual.texi +5 −11 Original line number Diff line number Diff line Loading @@ -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 acinclude.m4 +0 −42 Original line number Diff line number Diff line Loading @@ -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> Loading configure.in +0 −14 Original line number Diff line number Diff line Loading @@ -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= Loading Loading @@ -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 Loading
Build-tools/Do-compile +50 −8 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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") { Loading @@ -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) { Loading Loading @@ -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", Loading Loading @@ -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 Loading @@ -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); } Loading Loading @@ -315,7 +317,7 @@ exit 0; sub usage { print <<EOF; $0 version 1.2 $0 version 1.3 $0 takes the following options: Loading @@ -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' Loading Loading @@ -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"; }
Build-tools/Do-rpm +7 −4 Original line number Diff line number Diff line Loading @@ -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" Loading @@ -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 Loading
Docs/manual.texi +5 −11 Original line number Diff line number Diff line Loading @@ -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
acinclude.m4 +0 −42 Original line number Diff line number Diff line Loading @@ -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> Loading
configure.in +0 −14 Original line number Diff line number Diff line Loading @@ -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= Loading Loading @@ -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