Loading BUILD/compile-pentium-pgcc +17 −6 Original line number Diff line number Diff line AM_MAKEFLAGS="-j 2" make -k clean gmake -k clean || true /bin/rm -f */.deps/*.P config.cache aclocal; autoheader; aclocal; automake; autoconf aclocal && autoheader && aclocal && automake && autoconf (cd bdb/dist && sh s_all) (cd innobase && aclocal && autoheader && aclocal && automake && autoconf) if [ -d gemini ] then (cd gemini && aclocal && autoheader && aclocal && automake && autoconf) fi export PATH=/usr/local/pgcc/bin:$PATH CFLAGS="-O6 -mpentiumpro -fomit-frame-pointer -mstack-align-double" CXX=gcc CXXFLAGS="-O6 -mpentiumpro -fomit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti -mstack-align-double" ./configure --prefix=/usr/local/mysql --enable-assembler --with-mysqld-ldflags=-all-static --disable-shared --with-extra-charsets=complex --enable-thread-safe-client make -j 2 CFLAGS="-Wimplicit -Wreturn-type -Wid-clash-51 -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wimplicit-function-dec -Wimplicit-int -Wparentheses -Wsign-compare -Wwrite-strings -Wunused -O6 -mpentiumpro -fomit-frame-pointer -mstack-align-double" CXX=gcc CXXFLAGS="-Wimplicit -Wreturn-type -Wid-clash-51 -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wimplicit-function-dec -Wimplicit-int -Wparentheses -Wsign-compare -Wwrite-strings -Woverloaded-virtual -Wextern-inline -Wsign-promo -Wreorder -Wctor-dtor-privacy -Wnon-virtual-dtor -felide-constructors -fno-exceptions -fno-rtti -O6 -fomit-frame-pointer -mpentiumpro -mstack-align-double" ./configure --prefix=/usr/local/mysql --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client --with-mysqld-ldflags=-all-static --with-client-ldflags=-all-static gmake -j 4 mkdir -p tmp nm --numeric-sort sql/mysqld > tmp/mysqld.sym objdump -d sql/mysqld > tmp/mysqld.S strip sql/mysqld 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 +18 −7 Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ function copy_to_bmachine { if [ x$local_build = x1 ]; then rm -f $2 cp $1 $2 else scp $1 $owner@$bmachine:$2 Loading @@ -14,6 +15,7 @@ function copy_to_bmachine function copy_from_bmachine { if [ x$local_build = x1 ]; then rm -f $2 cp $1 $2 else scp $owner@$bmachine:$1 $2 Loading Loading @@ -90,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 @@ -105,12 +104,20 @@ if [ ! -f "$tarball" ]; then exit 1 fi echo "Building RPM for MySQL version $VER on $bmachine" log=$logdir/Log-RPM-`date +%y%m%d-%H%M` echo "Building RPM for MySQL version $VER on $bmachine" 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/SPECS/mysql-* rm -rf /var/tmp/mysql # Copy MySQL source and spec files #Sasha: I left the scp stuff commented out instead of deleted to make it Loading Loading @@ -156,7 +163,7 @@ if [ ! x$skip_perl=x1 ]; then set -x # First clean up so we do not get old versions when wildcard matching rm -f $rpmdir/SOURCES/DBI-*.spec rm -f $rpmdir/SOURCES/DBI-*.spec $rpmdir/SOURCES/mysql* rm -f $rpmdir/RPMS/i386/Perl-*.rpm rm -f $rpmdir/SRPMS/Perl-*.rpm rm -f $rpmdir/RPMS/i386/MySQL*-$VER_NO_DASH*.rpm Loading Loading @@ -226,5 +233,9 @@ if [ x$local_build != x1 ]; then # And the perl ones #scp $owner@$bmachine:$rpmdir/RPMS/i386/Perl*-*.rpm $bpath/NEW-RPMS #scp $owner@$bmachine:$rpmdir/SRPMS/Perl*-*.rpm $bpath/NEW-RPMS #Remove some of the files that can interfere with future builds rm -rf /var/tmp/mysql fi ) > $log 2>&1 Docs/manual.texi +16 −12 Original line number Diff line number Diff line Loading @@ -7605,6 +7605,10 @@ compile step will still try to build @code{mysql}, but you can ignore any warnings about @file{mysql.cc}. (If @code{make} stops, try @code{make -k} to tell it to continue with the rest of the build even if errors occur.) @item If you want to get a embedded MySQL library (@code{libmysqld.a}) you should use the @code{--with-embedded-server} option. @item If you don't want your log files and database directories located under @file{/usr/local/var}, use a @code{configure} command, something like one Loading @@ -7621,7 +7625,8 @@ installed under @file{/usr/local/mysql} rather than the default of @file{/usr/local}. The second command preserves the default installation prefix, but overrides the default location for database directories (normally @file{/usr/local/var}) and changes it to @code{/usr/local/mysql/data}. @code{/usr/local/mysql/data}. After you have compiled MySQL, you can change these options with option files. @xref{Option files}. @cindex changing socket location @cindex socket location, changing Loading Loading @@ -24201,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 Loading Loading @@ -42350,6 +42349,9 @@ library. @xref{mysql_server_init}. @node libmysqld compiling, libmysqld restrictions, libmysqld overview, libmysqld @subsubsection Compiling Programs with @code{libmysqld} To get a @code{libmysqld} library you should configure MySQL with the @code{--with-embedded-server} option. When you link your program with @code{libmysqld}, you must also include the system specific @code{pthread} libraries and some libraries that @code{mysqld} uses. You can get the full list of libraries by executing Loading Loading @@ -47361,6 +47363,8 @@ Added documentation for @code{libmysqld}, the embedded MySQL server library. Also added example programs (a @code{mysql} client and @code{mysqltest} test program) which use @code{libmysqld}. @item Removed all Gemini hooks from MySQL. @item Removed @code{my_thread_init()} and @code{my_thread_end()} from mysql_com.h, and added @code{mysql_thread_init()} and @code{mysql_thread_end()} to mysql.h. acconfig.h +3 −0 Original line number Diff line number Diff line Loading @@ -81,6 +81,9 @@ /* Using Innobase DB */ #undef HAVE_INNOBASE_DB /* Using old ISAM tables */ #undef HAVE_ISAM /* Define if we have GNU readline */ #undef HAVE_LIBREADLINE Loading Loading
BUILD/compile-pentium-pgcc +17 −6 Original line number Diff line number Diff line AM_MAKEFLAGS="-j 2" make -k clean gmake -k clean || true /bin/rm -f */.deps/*.P config.cache aclocal; autoheader; aclocal; automake; autoconf aclocal && autoheader && aclocal && automake && autoconf (cd bdb/dist && sh s_all) (cd innobase && aclocal && autoheader && aclocal && automake && autoconf) if [ -d gemini ] then (cd gemini && aclocal && autoheader && aclocal && automake && autoconf) fi export PATH=/usr/local/pgcc/bin:$PATH CFLAGS="-O6 -mpentiumpro -fomit-frame-pointer -mstack-align-double" CXX=gcc CXXFLAGS="-O6 -mpentiumpro -fomit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti -mstack-align-double" ./configure --prefix=/usr/local/mysql --enable-assembler --with-mysqld-ldflags=-all-static --disable-shared --with-extra-charsets=complex --enable-thread-safe-client make -j 2 CFLAGS="-Wimplicit -Wreturn-type -Wid-clash-51 -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wimplicit-function-dec -Wimplicit-int -Wparentheses -Wsign-compare -Wwrite-strings -Wunused -O6 -mpentiumpro -fomit-frame-pointer -mstack-align-double" CXX=gcc CXXFLAGS="-Wimplicit -Wreturn-type -Wid-clash-51 -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wimplicit-function-dec -Wimplicit-int -Wparentheses -Wsign-compare -Wwrite-strings -Woverloaded-virtual -Wextern-inline -Wsign-promo -Wreorder -Wctor-dtor-privacy -Wnon-virtual-dtor -felide-constructors -fno-exceptions -fno-rtti -O6 -fomit-frame-pointer -mpentiumpro -mstack-align-double" ./configure --prefix=/usr/local/mysql --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client --with-mysqld-ldflags=-all-static --with-client-ldflags=-all-static gmake -j 4 mkdir -p tmp nm --numeric-sort sql/mysqld > tmp/mysqld.sym objdump -d sql/mysqld > tmp/mysqld.S strip sql/mysqld
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 +18 −7 Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ function copy_to_bmachine { if [ x$local_build = x1 ]; then rm -f $2 cp $1 $2 else scp $1 $owner@$bmachine:$2 Loading @@ -14,6 +15,7 @@ function copy_to_bmachine function copy_from_bmachine { if [ x$local_build = x1 ]; then rm -f $2 cp $1 $2 else scp $owner@$bmachine:$1 $2 Loading Loading @@ -90,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 @@ -105,12 +104,20 @@ if [ ! -f "$tarball" ]; then exit 1 fi echo "Building RPM for MySQL version $VER on $bmachine" log=$logdir/Log-RPM-`date +%y%m%d-%H%M` echo "Building RPM for MySQL version $VER on $bmachine" 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/SPECS/mysql-* rm -rf /var/tmp/mysql # Copy MySQL source and spec files #Sasha: I left the scp stuff commented out instead of deleted to make it Loading Loading @@ -156,7 +163,7 @@ if [ ! x$skip_perl=x1 ]; then set -x # First clean up so we do not get old versions when wildcard matching rm -f $rpmdir/SOURCES/DBI-*.spec rm -f $rpmdir/SOURCES/DBI-*.spec $rpmdir/SOURCES/mysql* rm -f $rpmdir/RPMS/i386/Perl-*.rpm rm -f $rpmdir/SRPMS/Perl-*.rpm rm -f $rpmdir/RPMS/i386/MySQL*-$VER_NO_DASH*.rpm Loading Loading @@ -226,5 +233,9 @@ if [ x$local_build != x1 ]; then # And the perl ones #scp $owner@$bmachine:$rpmdir/RPMS/i386/Perl*-*.rpm $bpath/NEW-RPMS #scp $owner@$bmachine:$rpmdir/SRPMS/Perl*-*.rpm $bpath/NEW-RPMS #Remove some of the files that can interfere with future builds rm -rf /var/tmp/mysql fi ) > $log 2>&1
Docs/manual.texi +16 −12 Original line number Diff line number Diff line Loading @@ -7605,6 +7605,10 @@ compile step will still try to build @code{mysql}, but you can ignore any warnings about @file{mysql.cc}. (If @code{make} stops, try @code{make -k} to tell it to continue with the rest of the build even if errors occur.) @item If you want to get a embedded MySQL library (@code{libmysqld.a}) you should use the @code{--with-embedded-server} option. @item If you don't want your log files and database directories located under @file{/usr/local/var}, use a @code{configure} command, something like one Loading @@ -7621,7 +7625,8 @@ installed under @file{/usr/local/mysql} rather than the default of @file{/usr/local}. The second command preserves the default installation prefix, but overrides the default location for database directories (normally @file{/usr/local/var}) and changes it to @code{/usr/local/mysql/data}. @code{/usr/local/mysql/data}. After you have compiled MySQL, you can change these options with option files. @xref{Option files}. @cindex changing socket location @cindex socket location, changing Loading Loading @@ -24201,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 Loading Loading @@ -42350,6 +42349,9 @@ library. @xref{mysql_server_init}. @node libmysqld compiling, libmysqld restrictions, libmysqld overview, libmysqld @subsubsection Compiling Programs with @code{libmysqld} To get a @code{libmysqld} library you should configure MySQL with the @code{--with-embedded-server} option. When you link your program with @code{libmysqld}, you must also include the system specific @code{pthread} libraries and some libraries that @code{mysqld} uses. You can get the full list of libraries by executing Loading Loading @@ -47361,6 +47363,8 @@ Added documentation for @code{libmysqld}, the embedded MySQL server library. Also added example programs (a @code{mysql} client and @code{mysqltest} test program) which use @code{libmysqld}. @item Removed all Gemini hooks from MySQL. @item Removed @code{my_thread_init()} and @code{my_thread_end()} from mysql_com.h, and added @code{mysql_thread_init()} and @code{mysql_thread_end()} to mysql.h.
acconfig.h +3 −0 Original line number Diff line number Diff line Loading @@ -81,6 +81,9 @@ /* Using Innobase DB */ #undef HAVE_INNOBASE_DB /* Using old ISAM tables */ #undef HAVE_ISAM /* Define if we have GNU readline */ #undef HAVE_LIBREADLINE Loading