summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormonty@donna.mysql.com <>2001-01-16 15:02:25 +0200
committermonty@donna.mysql.com <>2001-01-16 15:02:25 +0200
commit3ca140edb319385819f8cbf5caf904f54c359172 (patch)
treef2d56706f932b8495846a884f7a9aa8bbbab0e3f
parent513490e70cb9d01e558aa00819bbc278676685de (diff)
downloadmariadb-git-3ca140edb319385819f8cbf5caf904f54c359172.tar.gz
Fixed bug in CHECK TABLE ... EXTENDED
Added keyword MEDIUM to CHECK TABLE New benchmarks results for Linux-alpha
-rw-r--r--Docs/manual.texi16
-rw-r--r--myisam/mi_close.c9
-rw-r--r--myisam/mi_info.c4
-rw-r--r--mysql-test/r/show_check.result2
-rw-r--r--mysql-test/t/show_check.test1
-rw-r--r--sql-bench/Results/ATIS-mysql-Linux_2.2.13_SMP_alpha20
-rw-r--r--sql-bench/Results/ATIS-mysql-Linux_2.2.16_SMP_alpha20
-rw-r--r--sql-bench/Results/RUN-mysql-Linux_2.2.13_SMP_alpha96
-rw-r--r--sql-bench/Results/RUN-mysql-Linux_2.2.16_SMP_alpha96
-rw-r--r--sql-bench/Results/alter-table-mysql-Linux_2.2.13_SMP_alpha16
-rw-r--r--sql-bench/Results/alter-table-mysql-Linux_2.2.16_SMP_alpha16
-rw-r--r--sql-bench/Results/big-tables-mysql-Linux_2.2.13_SMP_alpha19
-rw-r--r--sql-bench/Results/big-tables-mysql-Linux_2.2.16_SMP_alpha19
-rw-r--r--sql-bench/Results/connect-mysql-Linux_2.2.13_SMP_alpha30
-rw-r--r--sql-bench/Results/connect-mysql-Linux_2.2.16_SMP_alpha30
-rw-r--r--sql-bench/Results/create-mysql-Linux_2.2.13_SMP_alpha18
-rw-r--r--sql-bench/Results/create-mysql-Linux_2.2.16_SMP_alpha18
-rw-r--r--sql-bench/Results/insert-mysql-Linux_2.2.13_SMP_alpha87
-rw-r--r--sql-bench/Results/insert-mysql-Linux_2.2.16_SMP_alpha87
-rw-r--r--sql-bench/Results/select-mysql-Linux_2.2.13_SMP_alpha23
-rw-r--r--sql-bench/Results/select-mysql-Linux_2.2.16_SMP_alpha23
-rw-r--r--sql-bench/Results/wisconsin-mysql-Linux_2.2.16_SMP_alpha (renamed from sql-bench/Results/wisconsin-mysql-Linux_2.2.13_SMP_alpha)8
-rw-r--r--sql/ha_myisam.cc12
-rw-r--r--sql/lex.h1
-rw-r--r--sql/sql_yacc.yy3
-rw-r--r--strings/READ-ME82
26 files changed, 352 insertions, 404 deletions
diff --git a/Docs/manual.texi b/Docs/manual.texi
index 81d0a5708c4..c6eb5dac81e 100644
--- a/Docs/manual.texi
+++ b/Docs/manual.texi
@@ -18419,13 +18419,15 @@ running!
@example
CHECK TABLE tbl_name[,tbl_name...] [option [option...]]
-option = QUICK | FAST | EXTEND | CHANGED
+option = QUICK | FAST | MEDIUM | EXTEND | CHANGED
@end example
@code{CHECK TABLE} only works on @code{MyISAM} and @code{BDB} tables. On
@code{MyISAM} tables it's the same thing as running @code{myisamchk -m
table_name} on the table.
+If you don't specify any option @code{MEDIUM} is used.
+
Checks the table(s) for errors. For @code{MyISAM} tables the key statistics
is updated. The command returns a table with the following columns:
@@ -18451,9 +18453,14 @@ The different check types stand for the following:
@item @code{QUICK} @tab Don't scan the rows to check for wrong links.
@item @code{FAST} @tab Only check tables which haven't been closed properly.
@item @code{CHANGED} @tab Only check tables which have been changed since last check or haven't been closed properly.
+@item @code{MEDIUM} @tab Scan rows to verify that deleted links are ok. This also calculates a key checksum for the rows and verifies this with a calcualted checksum for the keys.
@item @code{EXTENDED} @tab Do a full key lookup for all keys for each row. This ensures that the table is 100 % consistent, but will take a long time!
@end multitable
+For dynamic sized @code{MyISAM} tables a started check will always
+do a @code{MEDIUM} check. For static size rows we skip the row scan
+for @code{QUICK} and @code{FAST} as the rows are very seldom corrupted.
+
Note that for BDB tables the different check options doesn't affect the
check in any way!
@@ -40396,6 +40403,13 @@ though, so Version 3.23 is not released as a stable version yet.
@appendixsubsec Changes in release 3.23.31
@itemize @bullet
@item
+@code{SHOW TABLE STATUS} didn't show correct average row length for tables
+bigger than 4G.
+@item
+@code{CHECK TABLE .. EXTENED} didn't check row links for fixed size tables.
+@item
+Added option @code{MEDIUM} to @code{CHECK TABLE}.
+@item
Fixed problem when using @code{DECIMAL()} keys on negative numbers.
@item
@code{HOUR()} on a @code{CHAR} column always returned @code{NULL}.
diff --git a/myisam/mi_close.c b/myisam/mi_close.c
index 059e7d3223a..f30119144bc 100644
--- a/myisam/mi_close.c
+++ b/myisam/mi_close.c
@@ -65,8 +65,13 @@ int mi_close(register MI_INFO *info)
share->temporary ? FLUSH_IGNORE_CHANGED :
FLUSH_RELEASE))
error=my_errno;
- if (share->kfile >= 0 && my_close(share->kfile,MYF(0)))
- error = my_errno;
+ if (share->kfile >= 0)
+ {
+ if (share->mode != O_RDONLY && mi_is_crashed(info))
+ mi_state_info_write(share->kfile, &share->state, 1);
+ if (my_close(share->kfile,MYF(0)))
+ error = my_errno;
+ }
#ifdef HAVE_MMAP
if (share->file_map)
_mi_unmap_file(info);
diff --git a/myisam/mi_info.c b/myisam/mi_info.c
index 078ce4042e8..6e7abfc0914 100644
--- a/myisam/mi_info.c
+++ b/myisam/mi_info.c
@@ -59,8 +59,8 @@ int mi_status(MI_INFO *info, register MI_ISAMINFO *x, uint flag)
x->keys = share->state.header.keys;
x->check_time = share->state.check_time;
x->mean_reclength = info->state->records ?
- (ulong) (info->state->data_file_length-info->state->empty)/
- info->state->records : (ulong) share->min_pack_length;
+ (ulong) ((info->state->data_file_length-info->state->empty)/
+ info->state->records) : (ulong) share->min_pack_length;
}
if (flag & HA_STATUS_ERRKEY)
{
diff --git a/mysql-test/r/show_check.result b/mysql-test/r/show_check.result
index 4871c673079..9cc9ce0855d 100644
--- a/mysql-test/r/show_check.result
+++ b/mysql-test/r/show_check.result
@@ -26,6 +26,8 @@ Table Op Msg_type Msg_text
test.t1 check status OK
Table Op Msg_type Msg_text
test.t1 check status OK
+Table Op Msg_type Msg_text
+test.t1 check status OK
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Comment
t1 0 PRIMARY 1 a A 5 NULL NULL
t1 1 b 1 b A 1 NULL NULL
diff --git a/mysql-test/t/show_check.test b/mysql-test/t/show_check.test
index aeb6d316fd8..e2525a468c6 100644
--- a/mysql-test/t/show_check.test
+++ b/mysql-test/t/show_check.test
@@ -21,6 +21,7 @@ check table t1 type=fast;
check table t1 type=changed;
insert into t1 values (5,5,5);
check table t1 type=changed;
+check table t1 type=medium;
check table t1 type=extended;
show keys from t1;
!$1062 insert into t1 values (5,5,5);
diff --git a/sql-bench/Results/ATIS-mysql-Linux_2.2.13_SMP_alpha b/sql-bench/Results/ATIS-mysql-Linux_2.2.13_SMP_alpha
deleted file mode 100644
index 063581537ec..00000000000
--- a/sql-bench/Results/ATIS-mysql-Linux_2.2.13_SMP_alpha
+++ /dev/null
@@ -1,20 +0,0 @@
-Testing server 'MySQL 3.23.30 gamma' at 2001-01-03 18:34:25
-
-ATIS table test
-
-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.63 usr 0.59 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Retrieving data
-Time for select_simple_join (500): 2 wallclock secs ( 0.61 usr 0.39 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for select_join (100): 1 wallclock secs ( 0.48 usr 0.34 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for select_key_prefix_join (100): 11 wallclock secs ( 3.75 usr 2.76 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for select_distinct (800): 11 wallclock secs ( 1.72 usr 0.97 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for select_group (2800): 10 wallclock secs ( 1.55 usr 0.68 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 ( 8.76 usr 5.73 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
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
new file mode 100644
index 00000000000..6b8033a7052
--- /dev/null
+++ b/sql-bench/Results/ATIS-mysql-Linux_2.2.16_SMP_alpha
@@ -0,0 +1,20 @@
+Testing server 'MySQL 3.23.31' at 2001-12-17 12:46:04
+
+ATIS table test
+
+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)
+
+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)
+
+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)
diff --git a/sql-bench/Results/RUN-mysql-Linux_2.2.13_SMP_alpha b/sql-bench/Results/RUN-mysql-Linux_2.2.13_SMP_alpha
deleted file mode 100644
index ae76a336e98..00000000000
--- a/sql-bench/Results/RUN-mysql-Linux_2.2.13_SMP_alpha
+++ /dev/null
@@ -1,96 +0,0 @@
-Benchmark DBD suite: 2.11
-Date of test: 2001-01-03 18:34:24
-Running tests on: Linux 2.2.13-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.30 gamma
-
-ATIS: Total time: 38 wallclock secs ( 8.76 usr 5.73 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-alter-table: Total time: 392 wallclock secs ( 0.29 usr 0.17 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-big-tables: Total time: 41 wallclock secs ( 8.53 usr 10.35 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-connect: Total time: 75 wallclock secs (31.88 usr 18.52 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-create: Total time: 134 wallclock secs (10.30 usr 4.28 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-insert: Total time: 1914 wallclock secs (453.84 usr 255.06 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-select: Total time: 1144 wallclock secs (59.15 usr 27.51 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-wisconsin: Total time: 18 wallclock secs ( 3.58 usr 2.87 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 213.00 0.18 0.06 0.00 992
-alter_table_drop 170.00 0.05 0.04 0.00 496
-connect 14.00 7.52 2.57 0.00 10000
-connect+select_1_row 17.00 7.74 3.33 0.00 10000
-connect+select_simple 16.00 7.76 3.27 0.00 10000
-count 51.00 0.05 0.01 0.00 100
-count_distinct 99.00 0.70 0.22 0.00 2000
-count_distinct_big 131.00 7.32 8.60 0.00 120
-count_distinct_group 63.00 1.11 0.59 0.00 1000
-count_distinct_group_on_key 43.00 0.46 0.15 0.00 1000
-count_distinct_group_on_key_parts 63.00 1.12 0.57 0.00 1000
-count_group_on_key_parts 39.00 1.03 0.61 0.00 1000
-count_on_key 405.00 16.37 4.36 0.00 50100
-create+drop 12.00 2.63 0.97 0.00 10000
-create_MANY_tables 92.00 1.81 0.60 0.00 10000
-create_index 4.00 0.00 0.00 0.00 8
-create_key+drop 17.00 4.27 1.28 0.00 10000
-create_table 0.00 0.00 0.00 0.00 31
-delete_all 12.00 0.00 0.00 0.00 12
-delete_all_many_keys 49.00 0.01 0.01 0.00 1
-delete_big 0.00 0.00 0.00 0.00 1
-delete_big_many_keys 49.00 0.01 0.01 0.00 128
-delete_key 5.00 0.75 0.63 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 7.00 0.71 0.58 0.00 10000
-insert 136.00 24.25 21.36 0.00 350768
-insert_duplicates 37.00 5.54 6.23 0.00 100000
-insert_key 94.00 8.92 5.51 0.00 100000
-insert_many_fields 14.00 0.35 0.12 0.00 2000
-insert_select_1_key 5.00 0.00 0.00 0.00 1
-insert_select_2_keys 7.00 0.00 0.00 0.00 1
-min_max 22.00 0.02 0.01 0.00 60
-min_max_on_key 166.00 26.17 7.53 0.00 85000
-multiple_value_insert 7.00 2.10 0.06 0.00 100000
-order_by_big 52.00 20.66 21.59 0.00 10
-order_by_big_key 38.00 22.00 15.43 0.00 10
-order_by_big_key2 35.00 19.97 14.93 0.00 10
-order_by_big_key_desc 37.00 21.90 15.47 0.00 10
-order_by_big_key_diff 50.00 20.51 21.78 0.00 10
-order_by_big_key_prefix 35.00 19.88 14.96 0.00 10
-order_by_key2_diff 5.00 1.89 1.22 0.00 500
-order_by_key_prefix 3.00 1.07 0.65 0.00 500
-order_by_range 4.00 1.05 0.68 0.00 500
-outer_join 61.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 44.00 0.00 0.00 0.00 10
-select_1_row 2.00 0.39 0.97 0.00 10000
-select_2_rows 3.00 0.36 0.97 0.00 10000
-select_big 55.00 27.62 21.08 0.00 10080
-select_column+column 3.00 0.31 0.72 0.00 10000
-select_diff_key 154.00 0.22 0.07 0.00 500
-select_distinct 11.00 1.72 0.97 0.00 800
-select_group 50.00 1.61 0.69 0.00 2911
-select_group_when_MANY_tables 6.00 0.88 0.86 0.00 10000
-select_join 1.00 0.48 0.34 0.00 100
-select_key 137.00 73.11 21.92 0.00 200000
-select_key2 141.00 71.45 23.77 0.00 200000
-select_key_prefix 142.00 71.84 23.50 0.00 200000
-select_key_prefix_join 11.00 3.75 2.76 0.00 100
-select_many_fields 26.00 8.17 10.23 0.00 2000
-select_range 227.00 8.60 5.58 0.00 410
-select_range_key2 18.00 6.51 2.11 0.00 25010
-select_range_prefix 20.00 6.30 2.34 0.00 25010
-select_simple 1.00 0.29 0.79 0.00 10000
-select_simple_join 2.00 0.61 0.39 0.00 500
-update_big 28.00 0.00 0.00 0.00 10
-update_of_key 26.00 3.42 2.98 0.00 50000
-update_of_key_big 19.00 0.04 0.03 0.00 501
-update_of_primary_key_many_keys 22.00 0.02 0.01 0.00 256
-update_with_key 131.00 21.64 18.34 0.00 300000
-update_with_key_prefix 40.00 7.20 6.06 0.00 100000
-wisc_benchmark 4.00 1.77 0.99 0.00 114
-TOTALS 3801.00 576.19 324.46 0.00 2046247
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
new file mode 100644
index 00000000000..32229a9d86a
--- /dev/null
+++ b/sql-bench/Results/RUN-mysql-Linux_2.2.16_SMP_alpha
@@ -0,0 +1,96 @@
+Benchmark DBD suite: 2.11a
+Date of test: 2001-12-17 12:46:04
+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
+
+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)
+
+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
+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_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
+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
+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
diff --git a/sql-bench/Results/alter-table-mysql-Linux_2.2.13_SMP_alpha b/sql-bench/Results/alter-table-mysql-Linux_2.2.13_SMP_alpha
deleted file mode 100644
index 4bddee44315..00000000000
--- a/sql-bench/Results/alter-table-mysql-Linux_2.2.13_SMP_alpha
+++ /dev/null
@@ -1,16 +0,0 @@
-Testing server 'MySQL 3.23.30 gamma' at 2001-01-03 18:35:03
-
-Testing of ALTER TABLE
-Testing with 1000 columns and 1000 rows in 20 steps
-Insert data into the table
-Time for insert (1000) 1 wallclock secs ( 0.06 usr 0.06 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Time for alter_table_add (992): 213 wallclock secs ( 0.18 usr 0.06 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): 170 wallclock secs ( 0.05 usr 0.04 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Total time: 392 wallclock secs ( 0.29 usr 0.17 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
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
new file mode 100644
index 00000000000..3bc6b5449a5
--- /dev/null
+++ b/sql-bench/Results/alter-table-mysql-Linux_2.2.16_SMP_alpha
@@ -0,0 +1,16 @@
+Testing server 'MySQL 3.23.31' at 2001-12-17 12:46:42
+
+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 alter_table_add (992): 195 wallclock secs ( 0.17 usr 0.09 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 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)
+
+Total time: 357 wallclock secs ( 0.28 usr 0.20 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
diff --git a/sql-bench/Results/big-tables-mysql-Linux_2.2.13_SMP_alpha b/sql-bench/Results/big-tables-mysql-Linux_2.2.13_SMP_alpha
deleted file mode 100644
index 35c00c7b72a..00000000000
--- a/sql-bench/Results/big-tables-mysql-Linux_2.2.13_SMP_alpha
+++ /dev/null
@@ -1,19 +0,0 @@
-Testing server 'MySQL 3.23.30 gamma' at 2001-01-03 18:41:35
-
-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 ( 4.03 usr 5.13 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): 16 wallclock secs ( 4.14 usr 5.10 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Testing insert VALUES()
-Time to insert_many_fields(1000): 5 wallclock secs ( 0.32 usr 0.06 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Testing insert (all_fields) VALUES()
-Time to insert_many_fields(1000): 9 wallclock secs ( 0.03 usr 0.06 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Total time: 41 wallclock secs ( 8.53 usr 10.35 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
new file mode 100644
index 00000000000..fa15c0bff7c
--- /dev/null
+++ b/sql-bench/Results/big-tables-mysql-Linux_2.2.16_SMP_alpha
@@ -0,0 +1,19 @@
+Testing server 'MySQL 3.23.31' at 2001-12-17 12:52:39
+
+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)
+
+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)
+
+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)
+
+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)
+
+Total time: 40 wallclock secs ( 7.30 usr 9.46 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
diff --git a/sql-bench/Results/connect-mysql-Linux_2.2.13_SMP_alpha b/sql-bench/Results/connect-mysql-Linux_2.2.13_SMP_alpha
deleted file mode 100644
index dfd5cdcdf84..00000000000
--- a/sql-bench/Results/connect-mysql-Linux_2.2.13_SMP_alpha
+++ /dev/null
@@ -1,30 +0,0 @@
-Testing server 'MySQL 3.23.30 gamma' at 2001-01-03 18:42:16
-
-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.52 usr 2.57 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Test connect/simple select/disconnect
-Time for connect+select_simple (10000): 16 wallclock secs ( 7.76 usr 3.27 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Test simple select
-Time for select_simple (10000): 1 wallclock secs ( 0.29 usr 0.79 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 ( 7.74 usr 3.33 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.39 usr 0.97 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.36 usr 0.97 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Test select with aritmetic (+)
-Time for select_column+column (10000): 3 wallclock secs ( 0.31 usr 0.72 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.50 usr 5.90 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Total time: 75 wallclock secs (31.88 usr 18.52 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
new file mode 100644
index 00000000000..629f1846264
--- /dev/null
+++ b/sql-bench/Results/connect-mysql-Linux_2.2.16_SMP_alpha
@@ -0,0 +1,30 @@
+Testing server 'MySQL 3.23.31' at 2001-12-17 12:53:19
+
+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)
+
+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)
+
+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)
+
+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)
+
+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)
+
+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)
+
+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)
+
+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)
+
+Total time: 76 wallclock secs (33.82 usr 17.71 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
diff --git a/sql-bench/Results/create-mysql-Linux_2.2.13_SMP_alpha b/sql-bench/Results/create-mysql-Linux_2.2.13_SMP_alpha
deleted file mode 100644
index f8fbcda3818..00000000000
--- a/sql-bench/Results/create-mysql-Linux_2.2.13_SMP_alpha
+++ /dev/null
@@ -1,18 +0,0 @@
-Testing server 'MySQL 3.23.30 gamma' at 2001-01-03 18:43:31
-
-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): 92 wallclock secs ( 1.81 usr 0.60 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Accessing tables
-Time to select_group_when_MANY_tables (10000): 6 wallclock secs ( 0.88 usr 0.86 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Testing drop
-Time for drop_table_when_MANY_tables (10000): 7 wallclock secs ( 0.71 usr 0.58 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Testing create+drop
-Time for create+drop (10000): 12 wallclock secs ( 2.63 usr 0.97 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for create_key+drop (10000): 17 wallclock secs ( 4.27 usr 1.28 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Total time: 134 wallclock secs (10.30 usr 4.28 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
new file mode 100644
index 00000000000..3651ac2610f
--- /dev/null
+++ b/sql-bench/Results/create-mysql-Linux_2.2.16_SMP_alpha
@@ -0,0 +1,18 @@
+Testing server 'MySQL 3.23.31' at 2001-12-17 12:54:35
+
+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)
+
+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)
+
+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)
+
+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)
diff --git a/sql-bench/Results/insert-mysql-Linux_2.2.13_SMP_alpha b/sql-bench/Results/insert-mysql-Linux_2.2.13_SMP_alpha
deleted file mode 100644
index d10c44c49cb..00000000000
--- a/sql-bench/Results/insert-mysql-Linux_2.2.13_SMP_alpha
+++ /dev/null
@@ -1,87 +0,0 @@
-Testing server 'MySQL 3.23.30 gamma' at 2001-01-03 18:45:45
-
-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.
-
-Generating random keys
-Creating tables
-Inserting 100000 rows in order
-Inserting 100000 rows in reverse order
-Inserting 100000 rows in random order
-Time for insert (300000): 115 wallclock secs (21.05 usr 18.25 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Testing insert of duplicates
-Time for insert_duplicates (100000): 37 wallclock secs ( 5.54 usr 6.23 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Retrieving data from the table
-Time for select_big (10:3000000): 35 wallclock secs (19.98 usr 15.08 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for order_by_big_key (10:3000000): 38 wallclock secs (22.00 usr 15.43 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for order_by_big_key_desc (10:3000000): 37 wallclock secs (21.90 usr 15.47 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for order_by_big_key_prefix (10:3000000): 35 wallclock secs (19.88 usr 14.96 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for order_by_big_key2 (10:3000000): 35 wallclock secs (19.97 usr 14.93 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for order_by_big_key_diff (10:3000000): 50 wallclock secs (20.51 usr 21.78 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for order_by_big (10:3000000): 52 wallclock secs (20.66 usr 21.59 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for order_by_range (500:125750): 4 wallclock secs ( 1.05 usr 0.68 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for order_by_key_prefix (500:125750): 3 wallclock secs ( 1.07 usr 0.65 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for order_by_key2_diff (500:250500): 5 wallclock secs ( 1.89 usr 1.22 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for select_diff_key (500:1000): 154 wallclock secs ( 0.22 usr 0.07 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for select_range_prefix (5010:42084): 11 wallclock secs ( 2.69 usr 1.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for select_range_key2 (5010:42084): 10 wallclock secs ( 2.88 usr 0.84 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for select_key_prefix (200000): 142 wallclock secs (71.84 usr 23.50 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for select_key (200000): 137 wallclock secs (73.11 usr 21.92 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for select_key2 (200000): 141 wallclock secs (71.45 usr 23.77 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.61 usr 1.34 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for select_range_key2 (20000:43500): 8 wallclock secs ( 3.63 usr 1.27 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for select_group (111): 40 wallclock secs ( 0.06 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for min_max_on_key (15000): 9 wallclock secs ( 4.57 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.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for count_on_key (100): 36 wallclock secs ( 0.04 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for count (100): 51 wallclock secs ( 0.05 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for count_distinct_big (20): 52 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): 26 wallclock secs ( 3.42 usr 2.98 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for update_of_key_big (501): 19 wallclock secs ( 0.04 usr 0.03 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Testing update with key
-Time for update_with_key (300000): 131 wallclock secs (21.64 usr 18.34 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for update_with_key_prefix (100000): 40 wallclock secs ( 7.20 usr 6.06 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Testing update of all rows
-Time for update_big (10): 28 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): 44 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for outer_join (10:10): 61 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)
-
-Testing INSERT INTO ... SELECT
-Time for insert_select_1_key (1): 5 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 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): 5 wallclock secs ( 0.75 usr 0.63 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for delete_all (12): 12 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.92 usr 5.51 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)
-
-Deleting rows from the table
-Time for delete_big_many_keys (128): 49 wallclock secs ( 0.01 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Deleting everything from table
-Time for delete_all_many_keys (1): 49 wallclock secs ( 0.01 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): 7 wallclock secs ( 2.10 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: 1914 wallclock secs (453.84 usr 255.06 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
new file mode 100644
index 00000000000..8c2b74bc6c8
--- /dev/null
+++ b/sql-bench/Results/insert-mysql-Linux_2.2.16_SMP_alpha
@@ -0,0 +1,87 @@
+Testing server 'MySQL 3.23.31' at 2001-12-17 12:58:21
+
+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.
+
+Generating random keys
+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)
+
+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)
+
+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)
+
+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)
+
+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)
+
+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)
+
+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)
+
+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)
+
+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 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)
+
+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)
+
+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)
+
+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)
+
+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)
+
+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 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)
diff --git a/sql-bench/Results/select-mysql-Linux_2.2.13_SMP_alpha b/sql-bench/Results/select-mysql-Linux_2.2.13_SMP_alpha
deleted file mode 100644
index 02db3bf4601..00000000000
--- a/sql-bench/Results/select-mysql-Linux_2.2.13_SMP_alpha
+++ /dev/null
@@ -1,23 +0,0 @@
-Testing server 'MySQL 3.23.30 gamma' at 2001-01-03 19:17:40
-
-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.75 usr 0.65 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.14 usr 0.10 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for select_range (410:1057904): 227 wallclock secs ( 8.60 usr 5.58 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for min_max_on_key (70000): 157 wallclock secs (21.60 usr 6.12 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for count_on_key (50000): 369 wallclock secs (16.33 usr 4.35 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Time for count_group_on_key_parts (1000:100000): 39 wallclock secs ( 1.03 usr 0.61 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Testing count(distinct) on the table
-Time for count_distinct (2000:2000): 99 wallclock secs ( 0.70 usr 0.22 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for count_distinct_group_on_key (1000:6000): 43 wallclock secs ( 0.46 usr 0.15 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for count_distinct_group_on_key_parts (1000:100000): 63 wallclock secs ( 1.12 usr 0.57 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for count_distinct_group (1000:100000): 63 wallclock secs ( 1.11 usr 0.59 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for count_distinct_big (100:1000000): 79 wallclock secs ( 7.31 usr 8.59 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Total time: 1144 wallclock secs (59.15 usr 27.51 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
new file mode 100644
index 00000000000..8ab20c302fd
--- /dev/null
+++ b/sql-bench/Results/select-mysql-Linux_2.2.16_SMP_alpha
@@ -0,0 +1,23 @@
+Testing server 'MySQL 3.23.31' at 2001-12-17 13:31:13
+
+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)
+
+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 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)
+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)
diff --git a/sql-bench/Results/wisconsin-mysql-Linux_2.2.13_SMP_alpha b/sql-bench/Results/wisconsin-mysql-Linux_2.2.16_SMP_alpha
index 2c2c85bda3b..9217db03746 100644
--- a/sql-bench/Results/wisconsin-mysql-Linux_2.2.13_SMP_alpha
+++ b/sql-bench/Results/wisconsin-mysql-Linux_2.2.16_SMP_alpha
@@ -1,14 +1,14 @@
-Testing server 'MySQL 3.23.30 gamma' at 2001-01-03 19:36:45
+Testing server 'MySQL 3.23.31' at 2001-12-17 13:51:06
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 ( 1.82 usr 1.87 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time to insert (31000): 14 wallclock secs ( 2.16 usr 2.23 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.77 usr 0.99 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for wisc_benchmark (114): 4 wallclock secs ( 1.62 usr 0.85 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Total time: 18 wallclock secs ( 3.58 usr 2.87 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)
diff --git a/sql/ha_myisam.cc b/sql/ha_myisam.cc
index ecebe9d4ff2..7e6c4a697fa 100644
--- a/sql/ha_myisam.cc
+++ b/sql/ha_myisam.cc
@@ -246,7 +246,7 @@ int ha_myisam::check(THD* thd, HA_CHECK_OPT* check_opt)
param.thd = thd;
param.op_name = (char*)"check";
param.table_name = table->table_name;
- param.testflag = check_opt->flags | T_CHECK | T_SILENT | T_MEDIUM;
+ param.testflag = check_opt->flags | T_CHECK | T_SILENT;
if (!(table->db_stat & HA_READ_ONLY))
param.testflag|= T_STATISTICS;
@@ -270,15 +270,19 @@ int ha_myisam::check(THD* thd, HA_CHECK_OPT* check_opt)
if (!error)
{
if ((!check_opt->quick &&
- (share->options &
- (HA_OPTION_PACK_RECORD | HA_OPTION_COMPRESS_RECORD))) ||
+ ((share->options &
+ (HA_OPTION_PACK_RECORD | HA_OPTION_COMPRESS_RECORD)) ||
+ (param.testflag & (T_EXTEND | T_MEDIUM)))) ||
mi_is_crashed(file))
{
+ uint old_testflag=param.testflag;
+ param.testflag|=T_MEDIUM;
init_io_cache(&param.read_cache, file->dfile,
my_default_record_cache_size, READ_CACHE,
share->pack.header_length, 1, MYF(MY_WME));
error |= chk_data_link(&param, file, param.testflag & T_EXTEND);
end_io_cache(&(param.read_cache));
+ param.testflag=old_testflag;
}
}
if (!error)
@@ -548,7 +552,7 @@ int ha_myisam::repair(THD *thd, MI_CHECK &param, bool optimize)
thd->proc_info="saving state";
if (!error)
{
- if (share->state.changed & STATE_CHANGED)
+ if ((share->state.changed & STATE_CHANGED) || mi_is_crashed(file))
{
share->state.changed&= ~(STATE_CHANGED | STATE_CRASHED |
STATE_CRASHED_ON_REPAIR);
diff --git a/sql/lex.h b/sql/lex.h
index 399106bfd77..dd691f29bbc 100644
--- a/sql/lex.h
+++ b/sql/lex.h
@@ -207,6 +207,7 @@ static SYMBOL symbols[] = {
{ "MEDIUMTEXT", SYM(MEDIUMTEXT),0,0},
{ "MEDIUMINT", SYM(MEDIUMINT),0,0},
{ "MERGE", SYM(MERGE_SYM),0,0},
+ { "MEDIUM", SYM(MEDIUM_SYM),0,0},
{ "MIDDLEINT", SYM(MEDIUMINT),0,0}, /* For powerbuilder */
{ "MIN_ROWS", SYM(MIN_ROWS),0,0},
{ "MINUTE", SYM(MINUTE_SYM),0,0},
diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy
index 94c1ea943e7..4c50f50b001 100644
--- a/sql/sql_yacc.yy
+++ b/sql/sql_yacc.yy
@@ -205,6 +205,7 @@ bool my_yyoverflow(short **a, YYSTYPE **b,int *yystacksize);
%token MASTER_CONNECT_RETRY_SYM
%token MATCH
%token MAX_ROWS
+%token MEDIUM_SYM
%token MERGE_SYM
%token MIN_ROWS
%token MYISAM_SYM
@@ -1156,6 +1157,7 @@ mi_check_types:
mi_check_type:
QUICK { Lex->check_opt.quick = 1; }
| FAST_SYM { Lex->check_opt.flags|= T_FAST; }
+ | MEDIUM_SYM { Lex->check_opt.flags|= T_MEDIUM; }
| EXTENDED_SYM { Lex->check_opt.flags|= T_EXTEND; }
| CHANGED { Lex->check_opt.flags|= T_CHECK_ONLY_CHANGED; }
@@ -2510,6 +2512,7 @@ keyword:
| MASTER_USER_SYM {}
| MASTER_PASSWORD_SYM {}
| MASTER_CONNECT_RETRY_SYM {}
+ | MEDIUM_SYM {}
| MERGE_SYM {}
| MINUTE_SYM {}
| MIN_ROWS {}
diff --git a/strings/READ-ME b/strings/READ-ME
deleted file mode 100644
index a8b8c54ab0a..00000000000
--- a/strings/READ-ME
+++ /dev/null
@@ -1,82 +0,0 @@
-File : READ-ME
-Author : Richard A. O'Keefe.
-Updated: 30 April 1984
-Purpose: Explain the new strings package.
-
- The UNIX string libraries (described in the string(3) manual page)
-differ from UNIX to UNIX (e.g. strtok is not in V7 or 4.1bsd). Worse,
-the sources are not in the public domain, so that if there is a string
-routine which is nearly what you want but not quite you can't take a
-copy and modify it. And of course C programmers on non-UNIX systems
-are at the mercy of their supplier.
-
- This package was designed to let me do reasonable things with C's
-strings whatever UNIX (V7, PaNiX, UX63, 4.1bsd) I happen to be using.
-Everything in the System III manual is here and does just what the S3
-manual says it does. There are also lots of new goodies. I'm sorry
-about the names, but the routines do have to work on asphyxiated-at-
-birth systems which truncate identifiers. The convention is that a
-routine is called
- str [n] [c] <operation>
-If there is an "n", it means that the function takes an (int) "length"
-argument, which bounds the number of characters to be moved or looked
-at. If the function has a "set" argument, a "c" in the name indicates
-that the complement of the set is used. Functions or variables whose
-names start with _ are support routines which aren't really meant for
-general use. I don't know what the "p" is doing in "strpbrk", but it
-is there in the S3 manual so it's here too. "istrtok" does not follow
-this rule, but with 7 letters what can you do?
-
- I have included new versions of atoi(3) and atol(3) as well. They
-use a new primitive str2int, which takes a pair of bounds and a radix,
-and does much more thorough checking than the normal atoi and atol do.
-The result returned by atoi & atol is valid if and only if errno == 0.
-There is also an output conversion routine int2str, with itoa and ltoa
-as interface macros. Only after writing int2str did I notice that the
-str2int routine has no provision for unsigned numbers. On reflection,
-I don't greatly care. I'm afraid that int2str may depend on your "C"
-compiler in unexpected ways. Do check the code with -S.
-
- Several of these routines have "asm" inclusions conditional on the
-VaxAsm option. These insertions can make the routines which have them
-quite a bit faster, but there is a snag. The VAX architects, for some
-reason best known to themselves and their therapists, decided that all
-"strings" were shorter than 2^16 bytes. Even when the length operands
-are in 32-bit registers, only 16 bits count. So the "asm" versions do
-not work for long strings. If you can guarantee that all your strings
-will be short, define VaxAsm in the makefile, but in general, and when
-using other machines, do not define it.
-
- To use this library, you need the "strings.a" library file and the
-"strings.h" and "ctypes.h" header files. The other header files are
-for compiling the library itself, though if you are hacking extensions
-you may find them useful. General users really shouldn't see them.
-I've defined a few macros I find useful in "strings.h"; if you have no
-need for "index", "rindex", "streql", and "beql", just edit them out.
-On the 4.1bsd system I am using declaring all these functions 'extern'
-does not mean that they will all be loaded; but only the ones you use.
-When using lesser systems you may find it necessary to break strings.h
-up, or you could get by with just adding "extern" declarations for the
-functions you want as you need them. Many of these functions have the
-same names as functions in the "standard C library", by design as this
-is a replacement/reimplementation of part of that library. So you may
-have to talk the loader into loading this library first. Again, I've
-found no problems on 4.1bsd.
-
- You may wonder at my failure to provide manual pages for this code.
-For the things in V7, 4.?, or SIII, you should be able to use whichever
-manual page came with that system, and anything I might write would be
-so like it as to raise suspicions of violating AT&T copyrights. In the
-sources you will find comments which provide far more documentation for
-these routines than AT&T ever provided for their strings stuff, I just
-don't happen to have put it in nroff -man form. Had I done so, the .3
-files would have outbulked the .c files!
-
- These files are in the public domain. This includes getopt.c, which
-is the work of Henry Spencer, University of Toronto Zoology, who says of
-it "None of this software is derived from Bell software. I had no access
-to the source for Bell's versions at the time I wrote it. This software
-is hereby explicitly placed in the public domain. It may be used for
-any purpose on any machine by anyone." I would greatly prefer it if *my*
-material received no military use.
-