summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xBUILD/compile-solaris-sparc-purify12
-rw-r--r--extra/resolve_stack_dump.c40
-rw-r--r--innobase/include/Makefile.i2
-rw-r--r--innobase/include/univ.i4
-rw-r--r--innobase/os/os0file.c13
-rw-r--r--mysql-test/t/innobase.test9
-rw-r--r--mysys/mf_qsort.c5
-rw-r--r--sql-bench/Results/ATIS-mysql-Linux_2.2.16_SMP_alpha16
-rw-r--r--sql-bench/Results/RUN-mysql-Linux_2.2.16_SMP_alpha169
-rw-r--r--sql-bench/Results/alter-table-mysql-Linux_2.2.16_SMP_alpha12
-rw-r--r--sql-bench/Results/big-tables-mysql-Linux_2.2.16_SMP_alpha12
-rw-r--r--sql-bench/Results/connect-mysql-Linux_2.2.16_SMP_alpha20
-rw-r--r--sql-bench/Results/create-mysql-Linux_2.2.16_SMP_alpha14
-rw-r--r--sql-bench/Results/insert-mysql-Linux_2.2.16_SMP_alpha93
-rw-r--r--sql-bench/Results/select-mysql-Linux_2.2.16_SMP_alpha33
-rw-r--r--sql-bench/Results/wisconsin-mysql-Linux_2.2.16_SMP_alpha8
-rw-r--r--sql/ha_gemini.h1
-rw-r--r--sql/ha_innobase.cc14
-rw-r--r--sql/ha_innobase.h1
-rw-r--r--sql/handler.cc6
-rw-r--r--sql/mysqld.cc6
21 files changed, 281 insertions, 209 deletions
diff --git a/BUILD/compile-solaris-sparc-purify b/BUILD/compile-solaris-sparc-purify
index bad8a569ea3..7b655520dab 100755
--- a/BUILD/compile-solaris-sparc-purify
+++ b/BUILD/compile-solaris-sparc-purify
@@ -1,9 +1,11 @@
#! /bin/sh
+gmake -k clean || true
+/bin/rm -f */.deps/*.P config.cache
-path=`dirname $0`
-. "$path/SETUP.sh"
+aclocal && autoheader && aclocal && automake && autoconf
+(cd bdb/dist && sh s_all)
+(cd innobase && aclocal && autoheader && aclocal && automake && autoconf)
-extra_flags="$sparc_cflags -DHAVE_PURIFY -O2"
-extra_configs="$sparc_configs --with-debug=full"
+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 -DHAVE_purify -O2" 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 -DHAVE_PURIFY -O2" ./configure --prefix=/usr/local/mysql --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client --with-debug=full
-. "$path/FINISH.sh"
+gmake -j 4
diff --git a/extra/resolve_stack_dump.c b/extra/resolve_stack_dump.c
index a91c9588fbb..8976a7698b8 100644
--- a/extra/resolve_stack_dump.c
+++ b/extra/resolve_stack_dump.c
@@ -31,7 +31,7 @@
#define INIT_SYM_TABLE 4096
#define INC_SYM_TABLE 4096
#define MAX_SYM_SIZE 128
-#define DUMP_VERSION "1.1"
+#define DUMP_VERSION "1.2"
#define HEX_INVALID (uchar)255
typedef ulong my_long_addr_t ; /* at some point, we need to fix configure
@@ -72,14 +72,15 @@ static void usage()
printf("MySQL AB, by Sasha Pachev\n");
printf("This software comes with ABSOLUTELY NO WARRANTY\n\n");
printf("Resolve numeric stack strace dump into symbols.\n\n");
- printf("Usage: %s [OPTIONS]\n", my_progname);
+ printf("Usage: %s [OPTIONS] symbols-file [numeric-dump-file]\n", my_progname);
printf("\n\
-?, --help Display this help and exit.\n\
-h, --host=... Connect to host.\n\
- -V, --version Output version information and exit.\n\
- -n, --numeric-dump-file File containing the numeric stack dump.\n\
- -s, --symbols-file=... File containting the output of\
- nm --numeric-sort mysqld .\n\n");
+ -V, --version Output version information and exit.\n");
+ printf("\n\
+The symbols-file should include the output from: 'nm --numeric-sort mysqld'.\n\
+The numeric-dump-file should contain a numeric stack trace from mysqld.\n\
+If the numeric-dump-file is not given, the stack trace is read from stdin.\n");
}
@@ -125,15 +126,38 @@ static int parse_args(int argc, char **argv)
argc-=optind;
argv+=optind;
- if (argc > 0)
+
+ /*
+ The following code is to make the command compatible with the old
+ version that required one to use the -n and -s options
+ */
+
+ if (argc == 2)
+ {
+ sym_fname= argv[0];
+ dump_fname= argv[1];
+ }
+ else if (argc == 1)
+ {
+ if (!sym_fname)
+ sym_fname = argv[0];
+ else if (!dump_fname)
+ dump_fname = argv[0];
+ else
+ {
+ usage();
+ exit(1);
+ }
+ }
+ else if (argc != 0 || !sym_fname)
{
usage();
exit(1);
}
-
return 0;
}
+
static void open_files()
{
fp_out = stdout;
diff --git a/innobase/include/Makefile.i b/innobase/include/Makefile.i
index 8c7e9910f26..91dd9892bdf 100644
--- a/innobase/include/Makefile.i
+++ b/innobase/include/Makefile.i
@@ -4,5 +4,7 @@ libsdir = ../libs
INCLUDES = -I../../include -I../include
+CFLAGS= -g -O2 -DDEBUG_OFF
+
# Don't update the files from bitkeeper
%::SCCS/s.%
diff --git a/innobase/include/univ.i b/innobase/include/univ.i
index c1e5fda845e..ce3390649ff 100644
--- a/innobase/include/univ.i
+++ b/innobase/include/univ.i
@@ -29,6 +29,10 @@ subdirectory of 'mysql'. */
#include <global.h>
#include <my_pthread.h>
+/* Include <sys/stat.h> to get S_I... macros defined for os0file.c */
+#include <sys/stat.h>
+
+
#undef PACKAGE
#undef VERSION
diff --git a/innobase/os/os0file.c b/innobase/os/os0file.c
index ed1b55f6c59..130d8eb0a80 100644
--- a/innobase/os/os0file.c
+++ b/innobase/os/os0file.c
@@ -318,11 +318,8 @@ try_again:
UT_NOT_USED(purpose);
if (create_mode == OS_FILE_CREATE) {
-#ifndef S_IRWXU
- file = open(name, create_flag);
-#else
- file = open(name, create_flag, S_IRWXU | S_IRWXG | S_IRWXO);
-#endif
+ file = open(name, create_flag, S_IRUSR | S_IWUSR | S_IRGRP
+ | S_IWGRP | S_IROTH | S_IWOTH);
} else {
file = open(name, create_flag);
}
@@ -905,19 +902,21 @@ os_aio_init(
os_aio_segment_wait_events[i] = os_event_create(NULL);
}
-#if defined(POSIX_ASYNC_IO) && defined(NOT_USED_WITH_MYSQL)
+#ifdef POSIX_ASYNC_IO
/* Block aio signals from the current thread and its children:
for this to work, the current thread must be the first created
in the database, so that all its children will inherit its
signal mask */
+ /* TODO: to work MySQL needs the SIGALARM signal; the following
+ will not work yet! */
sigemptyset(&sigset);
sigaddset(&sigset, SIGRTMIN + 1 + 0);
sigaddset(&sigset, SIGRTMIN + 1 + 1);
sigaddset(&sigset, SIGRTMIN + 1 + 2);
sigaddset(&sigset, SIGRTMIN + 1 + 3);
- pthread_sigmask(SIG_BLOCK, &sigset, NULL);
+ pthread_sigmask(SIG_BLOCK, &sigset, NULL); */
#endif
}
diff --git a/mysql-test/t/innobase.test b/mysql-test/t/innobase.test
index 4fa8d07bd52..66fb864f93c 100644
--- a/mysql-test/t/innobase.test
+++ b/mysql-test/t/innobase.test
@@ -408,3 +408,12 @@ CREATE TABLE t1 (
INSERT INTO t1 VALUES (1, 1);
SELECT MIN(B),MAX(b) FROM t1 WHERE t1.a = 1;
drop table t1;
+
+#
+# Crash when using many tables (Test case by Jeremy D Zawodny)
+#
+
+create table t1 (a int primary key,b int, c int, d int, e int, f int, g int, h int, i int, j int, k int, l int, m int, n int, o int, p int, q int, r int, s int, t int, u int, v int, w int, x int, y int, z int, a1 int, a2 int, a3 int, a4 int, a5 int, a6 int, a7 int, a8 int, a9 int, b1 int, b2 int, b3 int, b4 int, b5 int, b6 int) type = Innobase;
+insert into t1 values (1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1);
+explain select * from t1 where a > 0 and a < 50;
+drop table t1;
diff --git a/mysys/mf_qsort.c b/mysys/mf_qsort.c
index 15fa5638639..e029e148ddb 100644
--- a/mysys/mf_qsort.c
+++ b/mysys/mf_qsort.c
@@ -37,7 +37,6 @@ along with GNU QSORT; see the file COPYING. If not, write to
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#include "mysys_priv.h"
-#if !defined(HAVE_purify) || defined(QSORT_EXTRA_CMP_ARGUMENT)
/* Envoke the comparison function, returns either 0, < 0, or > 0. */
#ifdef QSORT_EXTRA_CMP_ARGUMENT
@@ -123,6 +122,9 @@ qsort_t qsort(void *base_ptr, size_t total_elems, size_t size, qsort_cmp cmp)
stack_node stack[STACK_SIZE]; /* Largest size needed for 32-bit int!!! */
stack_node *top = stack + 1;
char *pivot_buffer = (char *) my_alloca ((int) size);
+#ifdef HAVE_purify
+ stack[0].lo=stack[0].hi=0;
+#endif
while (STACK_NOT_EMPTY)
{
@@ -255,4 +257,3 @@ qsort_t qsort(void *base_ptr, size_t total_elems, size_t size, qsort_cmp cmp)
}
SORT_RETURN;
}
-#endif /* HAVE_purify */
diff --git a/sql-bench/Results/ATIS-mysql-Linux_2.2.16_SMP_alpha b/sql-bench/Results/ATIS-mysql-Linux_2.2.16_SMP_alpha
index 6b8033a7052..c4791adf90d 100644
--- a/sql-bench/Results/ATIS-mysql-Linux_2.2.16_SMP_alpha
+++ b/sql-bench/Results/ATIS-mysql-Linux_2.2.16_SMP_alpha
@@ -1,4 +1,4 @@
-Testing server 'MySQL 3.23.31' at 2001-12-17 12:46:04
+Testing server 'MySQL 3.23.36' at 2001-03-26 1:22:18
ATIS table test
@@ -6,15 +6,15 @@ Creating tables
Time for create_table (28): 0 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Inserting data
-Time to insert (9768): 3 wallclock secs ( 0.60 usr 0.65 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time to insert (9768): 4 wallclock secs ( 0.57 usr 0.65 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Retrieving data
-Time for select_simple_join (500): 2 wallclock secs ( 0.58 usr 0.37 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for select_join (100): 1 wallclock secs ( 0.42 usr 0.32 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for select_key_prefix_join (100): 11 wallclock secs ( 3.27 usr 2.59 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for select_distinct (800): 10 wallclock secs ( 1.49 usr 0.94 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for select_group (2800): 11 wallclock secs ( 1.45 usr 0.64 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for select_simple_join (500): 1 wallclock secs ( 0.58 usr 0.37 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for select_join (100): 2 wallclock secs ( 0.44 usr 0.33 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for select_key_prefix_join (100): 11 wallclock secs ( 3.47 usr 2.55 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for select_distinct (800): 10 wallclock secs ( 1.53 usr 0.98 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for select_group (2800): 11 wallclock secs ( 1.44 usr 0.65 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Removing tables
Time to drop_table (28): 0 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Total time: 38 wallclock secs ( 7.82 usr 5.51 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Total time: 39 wallclock secs ( 8.05 usr 5.53 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
diff --git a/sql-bench/Results/RUN-mysql-Linux_2.2.16_SMP_alpha b/sql-bench/Results/RUN-mysql-Linux_2.2.16_SMP_alpha
index 32229a9d86a..f0287b6bde7 100644
--- a/sql-bench/Results/RUN-mysql-Linux_2.2.16_SMP_alpha
+++ b/sql-bench/Results/RUN-mysql-Linux_2.2.16_SMP_alpha
@@ -1,96 +1,103 @@
-Benchmark DBD suite: 2.11a
-Date of test: 2001-12-17 12:46:04
+Benchmark DBD suite: 2.12
+Date of test: 2001-03-26 1:22:18
Running tests on: Linux 2.2.16-SMP alpha
Arguments:
Comments: Alpha DS20 2x500 MHz, 2G memory, key_buffer=16M; cxx 6.3 + ccc 6.2.9
Limits from:
-Server version: MySQL 3.23.31
+Server version: MySQL 3.23.36
-ATIS: Total time: 38 wallclock secs ( 7.82 usr 5.51 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-alter-table: Total time: 357 wallclock secs ( 0.28 usr 0.20 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-big-tables: Total time: 40 wallclock secs ( 7.30 usr 9.46 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-connect: Total time: 76 wallclock secs (33.82 usr 17.71 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-create: Total time: 226 wallclock secs ( 9.57 usr 4.75 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-insert: Total time: 1971 wallclock secs (441.85 usr 245.30 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-select: Total time: 1193 wallclock secs (57.33 usr 27.36 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-wisconsin: Total time: 18 wallclock secs ( 3.78 usr 3.08 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+ATIS: Total time: 39 wallclock secs ( 8.05 usr 5.53 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+alter-table: Total time: 405 wallclock secs ( 0.30 usr 0.16 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+big-tables: Total time: 40 wallclock secs ( 7.49 usr 10.23 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+connect: Total time: 76 wallclock secs (33.34 usr 18.80 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+create: Total time: 147 wallclock secs ( 9.75 usr 5.02 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+insert: Total time: 2318 wallclock secs (663.06 usr 307.16 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+select: Total time: 1346 wallclock secs (63.34 usr 28.50 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+wisconsin: Total time: 19 wallclock secs ( 3.99 usr 3.17 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
All 8 test executed successfully
Totals per operation:
Operation seconds usr sys cpu tests
-alter_table_add 195.00 0.17 0.09 0.00 992
-alter_table_drop 155.00 0.06 0.04 0.00 496
-connect 14.00 7.94 2.31 0.00 10000
-connect+select_1_row 17.00 8.45 3.13 0.00 10000
-connect+select_simple 16.00 8.44 3.19 0.00 10000
-count 63.00 0.04 0.01 0.00 100
-count_distinct 103.00 0.72 0.23 0.00 2000
-count_distinct_big 140.00 6.24 7.47 0.00 120
-count_distinct_group 64.00 1.01 0.62 0.00 1000
-count_distinct_group_on_key 49.00 0.49 0.15 0.00 1000
-count_distinct_group_on_key_parts 64.00 1.03 0.60 0.00 1000
-count_group_on_key_parts 44.00 0.96 0.58 0.00 1000
-count_on_key 433.00 16.28 4.78 0.00 50100
-create+drop 12.00 2.23 1.21 0.00 10000
-create_MANY_tables 185.00 1.92 0.72 0.00 10000
-create_index 3.00 0.00 0.00 0.00 8
-create_key+drop 17.00 3.97 1.39 0.00 10000
+alter_table_add 219.00 0.16 0.07 0.00 992
+alter_table_drop 178.00 0.06 0.04 0.00 496
+connect 14.00 7.60 2.34 0.00 10000
+connect+select_1_row 17.00 8.25 3.12 0.00 10000
+connect+select_simple 16.00 7.88 3.28 0.00 10000
+count 55.00 0.04 0.01 0.00 100
+count_distinct 48.00 0.40 0.10 0.00 1000
+count_distinct_2 50.00 0.42 0.12 0.00 1000
+count_distinct_big 137.00 6.05 7.22 0.00 120
+count_distinct_group 69.00 0.98 0.61 0.00 1000
+count_distinct_group_on_key 42.00 0.42 0.15 0.00 1000
+count_distinct_group_on_key_parts 70.00 0.97 0.59 0.00 1000
+count_distinct_key_prefix 38.00 0.39 0.12 0.00 1000
+count_group_on_key_parts 42.00 0.94 0.56 0.00 1000
+count_on_key 391.00 16.30 4.71 0.00 50100
+create+drop 13.00 2.39 1.35 0.00 10000
+create_MANY_tables 104.00 1.76 0.73 0.00 10000
+create_index 4.00 0.00 0.00 0.00 8
+create_key+drop 17.00 4.00 1.40 0.00 10000
create_table 0.00 0.00 0.00 0.00 31
-delete_all 13.00 0.00 0.00 0.00 12
-delete_all_many_keys 51.00 0.02 0.01 0.00 1
+delete_all 10.00 0.00 0.00 0.00 12
+delete_all_many_keys 51.00 0.03 0.01 0.00 1
delete_big 0.00 0.00 0.00 0.00 1
-delete_big_many_keys 51.00 0.02 0.01 0.00 128
-delete_key 3.00 0.63 0.60 0.00 10000
+delete_big_many_keys 51.00 0.03 0.01 0.00 128
+delete_key 5.00 0.64 0.59 0.00 10000
drop_index 4.00 0.00 0.00 0.00 8
drop_table 0.00 0.00 0.00 0.00 28
-drop_table_when_MANY_tables 6.00 0.55 0.56 0.00 10000
-insert 127.00 20.22 21.45 0.00 350768
-insert_duplicates 39.00 5.59 7.08 0.00 100000
-insert_key 94.00 8.32 6.44 0.00 100000
-insert_many_fields 15.00 0.36 0.15 0.00 2000
+drop_table_when_MANY_tables 7.00 0.64 0.63 0.00 10000
+insert 137.00 24.38 23.04 0.00 350768
+insert_duplicates 40.00 5.91 6.68 0.00 100000
+insert_key 97.00 8.84 6.70 0.00 100000
+insert_many_fields 14.00 0.33 0.14 0.00 2000
insert_select_1_key 6.00 0.00 0.00 0.00 1
-insert_select_2_keys 7.00 0.00 0.00 0.00 1
-min_max 29.00 0.02 0.00 0.00 60
-min_max_on_key 181.00 26.65 8.21 0.00 85000
-multiple_value_insert 8.00 1.89 0.05 0.00 100000
-order_by_big 51.00 18.89 20.86 0.00 10
-order_by_big_key 34.00 19.98 13.84 0.00 10
-order_by_big_key2 32.00 18.45 13.58 0.00 10
-order_by_big_key_desc 34.00 19.99 13.84 0.00 10
-order_by_big_key_diff 46.00 18.41 20.32 0.00 10
-order_by_big_key_prefix 32.00 18.52 13.53 0.00 10
-order_by_key2_diff 5.00 1.80 1.17 0.00 500
-order_by_key_prefix 2.00 1.08 0.62 0.00 500
-order_by_range 5.00 1.08 0.61 0.00 500
-outer_join 62.00 0.00 0.00 0.00 10
-outer_join_found 56.00 0.00 0.00 0.00 10
-outer_join_not_found 38.00 0.00 0.00 0.00 500
-outer_join_on_key 43.00 0.00 0.00 0.00 10
-select_1_row 2.00 0.29 0.81 0.00 10000
-select_2_rows 3.00 0.32 0.93 0.00 10000
-select_big 52.00 26.60 19.56 0.00 10080
-select_column+column 3.00 0.30 0.72 0.00 10000
-select_diff_key 212.00 0.25 0.07 0.00 500
-select_distinct 10.00 1.49 0.94 0.00 800
-select_group 55.00 1.49 0.66 0.00 2911
-select_group_when_MANY_tables 6.00 0.89 0.87 0.00 10000
-select_join 1.00 0.42 0.32 0.00 100
-select_key 137.00 75.43 22.46 0.00 200000
-select_key2 142.00 74.95 22.32 0.00 200000
-select_key_prefix 144.00 76.14 21.41 0.00 200000
-select_key_prefix_join 11.00 3.27 2.59 0.00 100
-select_many_fields 25.00 6.93 9.32 0.00 2000
-select_range 217.00 7.91 5.38 0.00 410
-select_range_key2 19.00 6.55 2.30 0.00 25010
-select_range_prefix 19.00 6.53 2.25 0.00 25010
-select_simple 2.00 0.30 0.78 0.00 10000
-select_simple_join 2.00 0.58 0.37 0.00 500
-update_big 27.00 0.00 0.00 0.00 10
-update_of_key 23.00 2.66 3.25 0.00 50000
-update_of_key_big 21.00 0.03 0.03 0.00 501
-update_of_primary_key_many_keys 22.00 0.02 0.01 0.00 256
-update_with_key 124.00 18.23 19.54 0.00 300000
-update_with_key_prefix 38.00 5.99 6.10 0.00 100000
-wisc_benchmark 4.00 1.62 0.85 0.00 114
-TOTALS 3969.00 561.61 313.29 0.00 2046247
+insert_select_2_keys 6.00 0.00 0.00 0.00 1
+min_max 22.00 0.02 0.00 0.00 60
+min_max_on_key 164.00 26.11 7.96 0.00 85000
+multiple_value_insert 7.00 1.91 0.06 0.00 100000
+order_by_big 49.00 17.41 20.76 0.00 10
+order_by_big_key 32.00 18.87 13.82 0.00 10
+order_by_big_key2 31.00 17.40 13.49 0.00 10
+order_by_big_key_desc 33.00 18.88 13.81 0.00 10
+order_by_big_key_diff 45.00 17.45 20.78 0.00 10
+order_by_big_key_prefix 31.00 17.49 13.48 0.00 10
+order_by_key2_diff 4.00 1.66 1.15 0.00 500
+order_by_key_prefix 3.00 0.93 0.63 0.00 500
+order_by_range 4.00 0.95 0.63 0.00 500
+outer_join 67.00 0.01 0.00 0.00 10
+outer_join_found 59.00 0.01 0.00 0.00 10
+outer_join_not_found 41.00 0.01 0.00 0.00 500
+outer_join_on_key 45.00 0.00 0.00 0.00 10
+select_1_row 3.00 0.30 0.80 0.00 10000
+select_2_rows 2.00 0.32 0.95 0.00 10000
+select_big 52.00 25.87 20.37 0.00 10080
+select_column+column 3.00 0.31 0.79 0.00 10000
+select_diff_key 146.00 0.24 0.05 0.00 500
+select_distinct 10.00 1.53 0.98 0.00 800
+select_group 51.00 1.49 0.67 0.00 2911
+select_group_when_MANY_tables 6.00 0.95 0.90 0.00 10000
+select_join 2.00 0.44 0.33 0.00 100
+select_key 138.00 75.48 21.52 0.00 200000
+select_key2 143.00 75.08 21.72 0.00 200000
+select_key2_return_key 136.00 72.18 19.55 0.00 200000
+select_key2_return_prim 140.00 73.57 20.03 0.00 200000
+select_key_prefix 144.00 76.03 21.36 0.00 200000
+select_key_prefix_join 11.00 3.47 2.55 0.00 100
+select_key_return_key 135.00 73.99 20.17 0.00 200000
+select_many_fields 25.00 7.16 10.10 0.00 2000
+select_query_cache 82.00 3.31 1.00 0.00 10000
+select_query_cache2 83.00 3.20 0.96 0.00 10000
+select_range 225.00 7.61 5.12 0.00 410
+select_range_key2 19.00 6.41 2.20 0.00 25010
+select_range_prefix 20.00 6.33 2.25 0.00 25010
+select_simple 1.00 0.33 0.77 0.00 10000
+select_simple_join 1.00 0.58 0.37 0.00 500
+update_big 25.00 0.00 0.00 0.00 10
+update_of_key 26.00 2.53 2.87 0.00 50000
+update_of_key_big 19.00 0.05 0.03 0.00 501
+update_of_primary_key_many_keys 23.00 0.02 0.03 0.00 256
+update_with_key 134.00 23.08 21.47 0.00 300000
+update_with_key_prefix 41.00 6.81 6.85 0.00 100000
+wisc_benchmark 4.00 1.59 0.88 0.00 114
+TOTALS 4439.00 789.18 378.53 0.00 2667247
diff --git a/sql-bench/Results/alter-table-mysql-Linux_2.2.16_SMP_alpha b/sql-bench/Results/alter-table-mysql-Linux_2.2.16_SMP_alpha
index 3bc6b5449a5..712e2a72b04 100644
--- a/sql-bench/Results/alter-table-mysql-Linux_2.2.16_SMP_alpha
+++ b/sql-bench/Results/alter-table-mysql-Linux_2.2.16_SMP_alpha
@@ -1,16 +1,16 @@
-Testing server 'MySQL 3.23.31' at 2001-12-17 12:46:42
+Testing server 'MySQL 3.23.36' at 2001-03-26 1:22:58
Testing of ALTER TABLE
Testing with 1000 columns and 1000 rows in 20 steps
Insert data into the table
-Time for insert (1000) 0 wallclock secs ( 0.05 usr 0.07 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for insert (1000) 0 wallclock secs ( 0.07 usr 0.06 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for alter_table_add (992): 195 wallclock secs ( 0.17 usr 0.09 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for alter_table_add (992): 219 wallclock secs ( 0.16 usr 0.07 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for create_index (8): 3 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for create_index (8): 4 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for drop_index (8): 4 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for alter_table_drop (496): 155 wallclock secs ( 0.06 usr 0.04 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for alter_table_drop (496): 178 wallclock secs ( 0.06 usr 0.04 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Total time: 357 wallclock secs ( 0.28 usr 0.20 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Total time: 405 wallclock secs ( 0.30 usr 0.16 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
diff --git a/sql-bench/Results/big-tables-mysql-Linux_2.2.16_SMP_alpha b/sql-bench/Results/big-tables-mysql-Linux_2.2.16_SMP_alpha
index fa15c0bff7c..12b577bb50c 100644
--- a/sql-bench/Results/big-tables-mysql-Linux_2.2.16_SMP_alpha
+++ b/sql-bench/Results/big-tables-mysql-Linux_2.2.16_SMP_alpha
@@ -1,19 +1,19 @@
-Testing server 'MySQL 3.23.31' at 2001-12-17 12:52:39
+Testing server 'MySQL 3.23.36' at 2001-03-26 1:29:43
Testing of some unusual tables
All tests are done 1000 times with 1000 fields
Testing table with 1000 fields
Testing select * from table with 1 record
-Time to select_many_fields(1000): 10 wallclock secs ( 3.38 usr 4.68 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time to select_many_fields(1000): 10 wallclock secs ( 3.55 usr 5.04 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing select all_fields from table with 1 record
-Time to select_many_fields(1000): 15 wallclock secs ( 3.55 usr 4.64 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time to select_many_fields(1000): 15 wallclock secs ( 3.61 usr 5.06 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing insert VALUES()
-Time to insert_many_fields(1000): 5 wallclock secs ( 0.33 usr 0.08 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time to insert_many_fields(1000): 5 wallclock secs ( 0.30 usr 0.09 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing insert (all_fields) VALUES()
-Time to insert_many_fields(1000): 10 wallclock secs ( 0.03 usr 0.07 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time to insert_many_fields(1000): 9 wallclock secs ( 0.03 usr 0.05 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Total time: 40 wallclock secs ( 7.30 usr 9.46 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Total time: 40 wallclock secs ( 7.49 usr 10.23 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
diff --git a/sql-bench/Results/connect-mysql-Linux_2.2.16_SMP_alpha b/sql-bench/Results/connect-mysql-Linux_2.2.16_SMP_alpha
index 629f1846264..1a149f79087 100644
--- a/sql-bench/Results/connect-mysql-Linux_2.2.16_SMP_alpha
+++ b/sql-bench/Results/connect-mysql-Linux_2.2.16_SMP_alpha
@@ -1,30 +1,30 @@
-Testing server 'MySQL 3.23.31' at 2001-12-17 12:53:19
+Testing server 'MySQL 3.23.36' at 2001-03-26 1:30:23
Testing the speed of connecting to the server and sending of data
All tests are done 10000 times
Testing connection/disconnect
-Time to connect (10000): 14 wallclock secs ( 7.94 usr 2.31 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time to connect (10000): 14 wallclock secs ( 7.60 usr 2.34 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Test connect/simple select/disconnect
-Time for connect+select_simple (10000): 16 wallclock secs ( 8.44 usr 3.19 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for connect+select_simple (10000): 16 wallclock secs ( 7.88 usr 3.28 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Test simple select
-Time for select_simple (10000): 2 wallclock secs ( 0.30 usr 0.78 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for select_simple (10000): 1 wallclock secs ( 0.33 usr 0.77 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing connect/select 1 row from table/disconnect
-Time to connect+select_1_row (10000): 17 wallclock secs ( 8.45 usr 3.13 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time to connect+select_1_row (10000): 17 wallclock secs ( 8.25 usr 3.12 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing select 1 row from table
-Time to select_1_row (10000): 2 wallclock secs ( 0.29 usr 0.81 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time to select_1_row (10000): 3 wallclock secs ( 0.30 usr 0.80 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing select 2 rows from table
-Time to select_2_rows (10000): 3 wallclock secs ( 0.32 usr 0.93 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time to select_2_rows (10000): 2 wallclock secs ( 0.32 usr 0.95 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Test select with aritmetic (+)
-Time for select_column+column (10000): 3 wallclock secs ( 0.30 usr 0.72 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for select_column+column (10000): 3 wallclock secs ( 0.31 usr 0.79 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing retrieval of big records (65000 bytes)
-Time to select_big (10000): 19 wallclock secs ( 7.77 usr 5.83 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time to select_big (10000): 20 wallclock secs ( 8.34 usr 6.75 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Total time: 76 wallclock secs (33.82 usr 17.71 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Total time: 76 wallclock secs (33.34 usr 18.80 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
diff --git a/sql-bench/Results/create-mysql-Linux_2.2.16_SMP_alpha b/sql-bench/Results/create-mysql-Linux_2.2.16_SMP_alpha
index 3651ac2610f..d0e62c1c6d0 100644
--- a/sql-bench/Results/create-mysql-Linux_2.2.16_SMP_alpha
+++ b/sql-bench/Results/create-mysql-Linux_2.2.16_SMP_alpha
@@ -1,18 +1,18 @@
-Testing server 'MySQL 3.23.31' at 2001-12-17 12:54:35
+Testing server 'MySQL 3.23.36' at 2001-03-26 1:31:40
Testing the speed of creating and droping tables
Testing with 10000 tables and 10000 loop count
Testing create of tables
-Time for create_MANY_tables (10000): 185 wallclock secs ( 1.92 usr 0.72 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for create_MANY_tables (10000): 104 wallclock secs ( 1.76 usr 0.73 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Accessing tables
-Time to select_group_when_MANY_tables (10000): 6 wallclock secs ( 0.89 usr 0.87 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time to select_group_when_MANY_tables (10000): 6 wallclock secs ( 0.95 usr 0.90 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing drop
-Time for drop_table_when_MANY_tables (10000): 6 wallclock secs ( 0.55 usr 0.56 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for drop_table_when_MANY_tables (10000): 7 wallclock secs ( 0.64 usr 0.63 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing create+drop
-Time for create+drop (10000): 12 wallclock secs ( 2.23 usr 1.21 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for create_key+drop (10000): 17 wallclock secs ( 3.97 usr 1.39 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Total time: 226 wallclock secs ( 9.57 usr 4.75 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for create+drop (10000): 13 wallclock secs ( 2.39 usr 1.35 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for create_key+drop (10000): 17 wallclock secs ( 4.00 usr 1.40 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Total time: 147 wallclock secs ( 9.75 usr 5.02 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
diff --git a/sql-bench/Results/insert-mysql-Linux_2.2.16_SMP_alpha b/sql-bench/Results/insert-mysql-Linux_2.2.16_SMP_alpha
index 8c2b74bc6c8..20e67d0f929 100644
--- a/sql-bench/Results/insert-mysql-Linux_2.2.16_SMP_alpha
+++ b/sql-bench/Results/insert-mysql-Linux_2.2.16_SMP_alpha
@@ -1,4 +1,4 @@
-Testing server 'MySQL 3.23.31' at 2001-12-17 12:58:21
+Testing server 'MySQL 3.23.36' at 2001-03-26 1:34:07
Testing the speed of inserting data into 1 table and do some selects on it.
The tests are done with a table that has 100000 rows.
@@ -8,80 +8,83 @@ Creating tables
Inserting 100000 rows in order
Inserting 100000 rows in reverse order
Inserting 100000 rows in random order
-Time for insert (300000): 106 wallclock secs (16.70 usr 17.90 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for insert (300000): 114 wallclock secs (20.61 usr 19.46 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing insert of duplicates
-Time for insert_duplicates (100000): 39 wallclock secs ( 5.59 usr 7.08 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for insert_duplicates (100000): 40 wallclock secs ( 5.91 usr 6.68 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Retrieving data from the table
-Time for select_big (10:3000000): 32 wallclock secs (18.71 usr 13.64 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for order_by_big_key (10:3000000): 34 wallclock secs (19.98 usr 13.84 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for order_by_big_key_desc (10:3000000): 34 wallclock secs (19.99 usr 13.84 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for order_by_big_key_prefix (10:3000000): 32 wallclock secs (18.52 usr 13.53 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for order_by_big_key2 (10:3000000): 32 wallclock secs (18.45 usr 13.58 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for order_by_big_key_diff (10:3000000): 46 wallclock secs (18.41 usr 20.32 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for order_by_big (10:3000000): 51 wallclock secs (18.89 usr 20.86 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for order_by_range (500:125750): 5 wallclock secs ( 1.08 usr 0.61 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for order_by_key_prefix (500:125750): 2 wallclock secs ( 1.08 usr 0.62 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for order_by_key2_diff (500:250500): 5 wallclock secs ( 1.80 usr 1.17 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for select_diff_key (500:1000): 212 wallclock secs ( 0.25 usr 0.07 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for select_range_prefix (5010:42084): 10 wallclock secs ( 2.79 usr 0.95 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for select_range_key2 (5010:42084): 10 wallclock secs ( 2.87 usr 0.93 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for select_key_prefix (200000): 144 wallclock secs (76.14 usr 21.41 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for select_key (200000): 137 wallclock secs (75.43 usr 22.46 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for select_key2 (200000): 142 wallclock secs (74.95 usr 22.32 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for select_big (10:3000000): 31 wallclock secs (17.41 usr 13.54 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for order_by_big_key (10:3000000): 32 wallclock secs (18.87 usr 13.82 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for order_by_big_key_desc (10:3000000): 33 wallclock secs (18.88 usr 13.81 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for order_by_big_key_prefix (10:3000000): 31 wallclock secs (17.49 usr 13.48 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for order_by_big_key2 (10:3000000): 31 wallclock secs (17.40 usr 13.49 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for order_by_big_key_diff (10:3000000): 45 wallclock secs (17.45 usr 20.78 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for order_by_big (10:3000000): 49 wallclock secs (17.41 usr 20.76 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for order_by_range (500:125750): 4 wallclock secs ( 0.95 usr 0.63 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for order_by_key_prefix (500:125750): 3 wallclock secs ( 0.93 usr 0.63 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for order_by_key2_diff (500:250500): 4 wallclock secs ( 1.66 usr 1.15 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for select_diff_key (500:1000): 146 wallclock secs ( 0.24 usr 0.05 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for select_range_prefix (5010:42084): 11 wallclock secs ( 2.76 usr 0.96 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for select_range_key2 (5010:42084): 11 wallclock secs ( 2.81 usr 0.91 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for select_key_prefix (200000): 144 wallclock secs (76.03 usr 21.36 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for select_key (200000): 138 wallclock secs (75.48 usr 21.52 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for select_key_return_key (200000): 135 wallclock secs (73.99 usr 20.17 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for select_key2 (200000): 143 wallclock secs (75.08 usr 21.72 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for select_key2_return_key (200000): 136 wallclock secs (72.18 usr 19.55 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for select_key2_return_prim (200000): 140 wallclock secs (73.57 usr 20.03 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Test of compares with simple ranges
-Time for select_range_prefix (20000:43500): 9 wallclock secs ( 3.74 usr 1.30 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for select_range_key2 (20000:43500): 9 wallclock secs ( 3.68 usr 1.37 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for select_group (111): 44 wallclock secs ( 0.04 usr 0.02 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for min_max_on_key (15000): 9 wallclock secs ( 4.80 usr 1.41 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for min_max (60): 29 wallclock secs ( 0.02 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for count_on_key (100): 40 wallclock secs ( 0.04 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for count (100): 63 wallclock secs ( 0.04 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for count_distinct_big (20): 58 wallclock secs ( 0.01 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for select_range_prefix (20000:43500): 9 wallclock secs ( 3.57 usr 1.29 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for select_range_key2 (20000:43500): 8 wallclock secs ( 3.60 usr 1.29 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for select_group (111): 40 wallclock secs ( 0.05 usr 0.02 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for min_max_on_key (15000): 9 wallclock secs ( 4.67 usr 1.41 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for min_max (60): 22 wallclock secs ( 0.02 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for count_on_key (100): 36 wallclock secs ( 0.03 usr 0.02 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for count (100): 55 wallclock secs ( 0.04 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for count_distinct_big (20): 55 wallclock secs ( 0.01 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing update of keys with functions
-Time for update_of_key (50000): 23 wallclock secs ( 2.66 usr 3.25 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for update_of_key_big (501): 21 wallclock secs ( 0.03 usr 0.03 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for update_of_key (50000): 26 wallclock secs ( 2.53 usr 2.87 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for update_of_key_big (501): 19 wallclock secs ( 0.05 usr 0.03 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing update with key
-Time for update_with_key (300000): 124 wallclock secs (18.23 usr 19.54 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for update_with_key_prefix (100000): 38 wallclock secs ( 5.99 usr 6.10 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for update_with_key (300000): 134 wallclock secs (23.08 usr 21.47 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for update_with_key_prefix (100000): 41 wallclock secs ( 6.81 usr 6.85 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing update of all rows
-Time for update_big (10): 27 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for update_big (10): 25 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing left outer join
-Time for outer_join_on_key (10:10): 43 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for outer_join (10:10): 62 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for outer_join_found (10:10): 56 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for outer_join_not_found (500:10): 38 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for outer_join_on_key (10:10): 45 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for outer_join (10:10): 67 wallclock secs ( 0.01 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for outer_join_found (10:10): 59 wallclock secs ( 0.01 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for outer_join_not_found (500:10): 41 wallclock secs ( 0.01 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing INSERT INTO ... SELECT
Time for insert_select_1_key (1): 6 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for insert_select_2_keys (1): 7 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for insert_select_2_keys (1): 6 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for drop table(2): 0 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing delete
-Time for delete_key (10000): 3 wallclock secs ( 0.63 usr 0.60 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for delete_all (12): 13 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for delete_key (10000): 5 wallclock secs ( 0.64 usr 0.59 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for delete_all (12): 10 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Insert into table with 16 keys and with a primary key with 16 parts
-Time for insert_key (100000): 94 wallclock secs ( 8.32 usr 6.44 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for insert_key (100000): 97 wallclock secs ( 8.84 usr 6.70 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing update of keys
-Time for update_of_primary_key_many_keys (256): 22 wallclock secs ( 0.02 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for update_of_primary_key_many_keys (256): 23 wallclock secs ( 0.02 usr 0.03 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Deleting rows from the table
-Time for delete_big_many_keys (128): 51 wallclock secs ( 0.02 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for delete_big_many_keys (128): 51 wallclock secs ( 0.03 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Deleting everything from table
-Time for delete_all_many_keys (1): 51 wallclock secs ( 0.02 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for delete_all_many_keys (1): 51 wallclock secs ( 0.03 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Inserting 100000 rows with multiple values
-Time for multiple_value_insert (100000): 8 wallclock secs ( 1.89 usr 0.05 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for multiple_value_insert (100000): 7 wallclock secs ( 1.91 usr 0.06 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for drop table(1): 0 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Total time: 1971 wallclock secs (441.85 usr 245.30 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Total time: 2318 wallclock secs (663.06 usr 307.16 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
diff --git a/sql-bench/Results/select-mysql-Linux_2.2.16_SMP_alpha b/sql-bench/Results/select-mysql-Linux_2.2.16_SMP_alpha
index 8ab20c302fd..1715d46f4a9 100644
--- a/sql-bench/Results/select-mysql-Linux_2.2.16_SMP_alpha
+++ b/sql-bench/Results/select-mysql-Linux_2.2.16_SMP_alpha
@@ -1,23 +1,30 @@
-Testing server 'MySQL 3.23.31' at 2001-12-17 13:31:13
+Testing server 'MySQL 3.23.36' at 2001-03-26 2:12:47
Testing the speed of selecting on keys that consist of many parts
The test-table has 10000 rows and the test is done with 500 ranges.
Creating table
Inserting 10000 rows
-Time to insert (10000): 4 wallclock secs ( 0.76 usr 0.67 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time to insert (10000): 4 wallclock secs ( 0.81 usr 0.63 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+
+Test if the database has a query cache
+Time for select_query_cache (10000): 82 wallclock secs ( 3.31 usr 1.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+
+Time for select_query_cache2 (10000): 83 wallclock secs ( 3.20 usr 0.96 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing big selects on the table
-Time for select_big (70:17207): 1 wallclock secs ( 0.12 usr 0.09 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for select_range (410:1057904): 217 wallclock secs ( 7.91 usr 5.38 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for min_max_on_key (70000): 172 wallclock secs (21.85 usr 6.80 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for count_on_key (50000): 393 wallclock secs (16.24 usr 4.77 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for select_big (70:17207): 1 wallclock secs ( 0.12 usr 0.08 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for select_range (410:1057904): 225 wallclock secs ( 7.61 usr 5.12 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for min_max_on_key (70000): 155 wallclock secs (21.44 usr 6.55 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for count_on_key (50000): 355 wallclock secs (16.27 usr 4.69 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for count_group_on_key_parts (1000:100000): 44 wallclock secs ( 0.96 usr 0.58 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for count_group_on_key_parts (1000:100000): 42 wallclock secs ( 0.94 usr 0.56 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing count(distinct) on the table
-Time for count_distinct (2000:2000): 103 wallclock secs ( 0.72 usr 0.23 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for count_distinct_group_on_key (1000:6000): 49 wallclock secs ( 0.49 usr 0.15 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for count_distinct_group_on_key_parts (1000:100000): 64 wallclock secs ( 1.03 usr 0.60 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for count_distinct_group (1000:100000): 64 wallclock secs ( 1.01 usr 0.62 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for count_distinct_big (100:1000000): 82 wallclock secs ( 6.23 usr 7.46 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Total time: 1193 wallclock secs (57.33 usr 27.36 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for count_distinct_key_prefix (1000:1000): 38 wallclock secs ( 0.39 usr 0.12 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for count_distinct (1000:1000): 48 wallclock secs ( 0.40 usr 0.10 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for count_distinct_2 (1000:1000): 50 wallclock secs ( 0.42 usr 0.12 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for count_distinct_group_on_key (1000:6000): 42 wallclock secs ( 0.42 usr 0.15 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for count_distinct_group_on_key_parts (1000:100000): 70 wallclock secs ( 0.97 usr 0.59 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for count_distinct_group (1000:100000): 69 wallclock secs ( 0.98 usr 0.61 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for count_distinct_big (100:1000000): 82 wallclock secs ( 6.04 usr 7.21 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Total time: 1346 wallclock secs (63.34 usr 28.50 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
diff --git a/sql-bench/Results/wisconsin-mysql-Linux_2.2.16_SMP_alpha b/sql-bench/Results/wisconsin-mysql-Linux_2.2.16_SMP_alpha
index 9217db03746..c1b239520de 100644
--- a/sql-bench/Results/wisconsin-mysql-Linux_2.2.16_SMP_alpha
+++ b/sql-bench/Results/wisconsin-mysql-Linux_2.2.16_SMP_alpha
@@ -1,14 +1,14 @@
-Testing server 'MySQL 3.23.31' at 2001-12-17 13:51:06
+Testing server 'MySQL 3.23.36' at 2001-03-26 2:35:13
Wisconsin benchmark test
Time for create_table (3): 0 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Inserting data
-Time to insert (31000): 14 wallclock secs ( 2.16 usr 2.23 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time to insert (31000): 15 wallclock secs ( 2.39 usr 2.30 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time to delete_big (1): 0 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Running actual benchmark
-Time for wisc_benchmark (114): 4 wallclock secs ( 1.62 usr 0.85 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for wisc_benchmark (114): 4 wallclock secs ( 1.59 usr 0.88 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Total time: 18 wallclock secs ( 3.78 usr 3.08 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Total time: 19 wallclock secs ( 3.99 usr 3.17 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
diff --git a/sql/ha_gemini.h b/sql/ha_gemini.h
index 97a7ed3602f..7e6e8f26588 100644
--- a/sql/ha_gemini.h
+++ b/sql/ha_gemini.h
@@ -158,6 +158,7 @@ class ha_gemini: public handler
#define GEM_OPTID_SPIN_RETRIES 1
extern bool gemini_skip;
+extern SHOW_COMP_OPTION have_gemini;
extern long gemini_options;
extern long gemini_buffer_cache;
extern long gemini_io_threads;
diff --git a/sql/ha_innobase.cc b/sql/ha_innobase.cc
index bf9f2a38740..45dcb4e80df 100644
--- a/sql/ha_innobase.cc
+++ b/sql/ha_innobase.cc
@@ -917,7 +917,7 @@ innobase_mysql_cmp(
not UNIV_SQL_NULL */
{
enum_field_types mysql_tp;
- int ret;
+ int ret;
dbug_assert(a_length != UNIV_SQL_NULL);
dbug_assert(b_length != UNIV_SQL_NULL);
@@ -928,9 +928,15 @@ innobase_mysql_cmp(
case FIELD_TYPE_STRING:
case FIELD_TYPE_VAR_STRING:
- ret = my_sortncmp((const char*) a, a_length,
- (const char*) b, b_length);
- return ret;
+ ret = my_sortncmp((const char*) a, a_length,
+ (const char*) b, b_length);
+ if (ret < 0) {
+ return(-1);
+ } else if (ret > 0) {
+ return(1);
+ } else {
+ return(0);
+ }
default:
assert(0);
}
diff --git a/sql/ha_innobase.h b/sql/ha_innobase.h
index 7ce22e70dcb..df1bcea3cca 100644
--- a/sql/ha_innobase.h
+++ b/sql/ha_innobase.h
@@ -148,6 +148,7 @@ class ha_innobase: public handler
};
extern bool innobase_skip;
+extern SHOW_COMP_OPTION have_innobase;
extern uint innobase_init_flags, innobase_lock_type;
extern ulong innobase_cache_size;
extern char *innobase_home, *innobase_tmpdir, *innobase_logdir;
diff --git a/sql/handler.cc b/sql/handler.cc
index 1d41b33e90b..600683d9c18 100644
--- a/sql/handler.cc
+++ b/sql/handler.cc
@@ -159,7 +159,10 @@ int ha_init()
if (innobase_init())
return -1;
if (!innobase_skip) // If we couldn't use handler
+ {
opt_using_transactions=1;
+ have_innobase=SHOW_OPTION_DISABLED;
+ }
}
#endif
#ifdef HAVE_GEMINI_DB
@@ -168,7 +171,10 @@ int ha_init()
if (gemini_init())
return -1;
if (!gemini_skip) // If we couldn't use handler
+ {
opt_using_transactions=1;
+ have_gemini=SHOW_OPTION_DISABLED;
+ }
}
#endif
return 0;
diff --git a/sql/mysqld.cc b/sql/mysqld.cc
index 9c8e28e19f0..9b33c7efa51 100644
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -1696,9 +1696,9 @@ int main(int argc, char **argv)
#ifdef EXTRA_DEBUG
case 1:
sql_print_error("\
-Warning: You should set server-id to a non-0 value if log-bin is enabled.\n\
-mysqld will log updates to the binary log, but will not accept connections\n\
-from slaves.");
+Warning: You have enabled the binary log, but you haven't set server-id:\n\
+Updates will be logged to the binary log, but connections to slaves will\n\
+not be accepted.");
break;
#endif
case 2: