summaryrefslogtreecommitdiff
path: root/sql-bench
diff options
context:
space:
mode:
authorunknown <sasha@mysql.sashanet.com>2001-06-04 17:34:11 -0600
committerunknown <sasha@mysql.sashanet.com>2001-06-04 17:34:11 -0600
commitfdff9c0a4521e4006eb7dd718e19077afe6fbb37 (patch)
tree4a4e924d33acb60a72c034f4b7ff58112c07d6dd /sql-bench
parent1da42e7b8a4219827f4f435d837f41b1b1919d51 (diff)
parent2197533b9b04a76f275e23a24449687089a1c528 (diff)
downloadmariadb-git-fdff9c0a4521e4006eb7dd718e19077afe6fbb37.tar.gz
Merge mysql.sashanet.com:/home/sasha/src/bk/mysql
into mysql.sashanet.com:/home/sasha/src/bk/mysql-4.0 BitKeeper/etc/logging_ok: auto-union Docs/manual.texi: Auto merged mysql-test/r/innodb.result: Auto merged mysys/tree.c: Auto merged sql-bench/bench-init.pl.sh: Auto merged sql-bench/server-cfg.sh: Auto merged sql/mysqld.cc: Auto merged
Diffstat (limited to 'sql-bench')
-rw-r--r--sql-bench/Comments/postgres.benchmark77
-rw-r--r--sql-bench/Results/ATIS-pg-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg20
-rw-r--r--sql-bench/Results/RUN-pg-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg102
-rw-r--r--sql-bench/Results/alter-table-pg-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg14
-rw-r--r--sql-bench/Results/big-tables-pg-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg19
-rw-r--r--sql-bench/Results/connect-pg-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg30
-rw-r--r--sql-bench/Results/create-pg-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg18
-rw-r--r--sql-bench/Results/insert-pg-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg103
-rw-r--r--sql-bench/Results/select-pg-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg36
-rw-r--r--sql-bench/Results/wisconsin-pg-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg14
-rw-r--r--sql-bench/bench-init.pl.sh2
-rw-r--r--sql-bench/limits/pg.cfg79
-rw-r--r--sql-bench/server-cfg.sh110
-rw-r--r--sql-bench/test-connect.sh2
14 files changed, 497 insertions, 129 deletions
diff --git a/sql-bench/Comments/postgres.benchmark b/sql-bench/Comments/postgres.benchmark
index a51752a5023..cce9a8f05fe 100644
--- a/sql-bench/Comments/postgres.benchmark
+++ b/sql-bench/Comments/postgres.benchmark
@@ -1,5 +1,14 @@
-# This file describes how to run MySQL benchmarks with Postgres
-#
+# This file describes how to run MySQL benchmarks with PostgreSQL
+#
+# WARNING:
+#
+# Don't run the --fast test on a PostgreSQL 7.1.1 database on
+# which you have any critical data; During one of our test runs
+# PostgreSQL got a corrupted database and all data was destroyed!
+# (When we tried to restart postmaster, It died with a
+# 'no such file or directory' error and never recovered from that!
+#
+# WARNING
# The test was run on a Intel Xeon 2x 550 Mzh machine with 1G memory,
# 9G hard disk. The OS is Suse 6.4, with Linux 2.2.14 compiled with SMP
@@ -8,49 +17,52 @@
# on the same machine. No other cpu intensive process was used during
# the benchmark.
-#
-#
-# First, install postgresql-7.0.2.tar.gz
-#
+# First, install postgresql-7.1.1.tar.gz
-#
-# Start by adding the following lines to your ~/.bash_profile or
+# Adding the following lines to your ~/.bash_profile or
# corresponding file. If you are using csh, use ´setenv´.
#
-export POSTGRES_INCLUDE=/usr/local/pgsql/include
-export POSTGRES_LIB=/usr/local/pgsql/lib
+export POSTGRES_INCLUDE=/usr/local/pg/include
+export POSTGRES_LIB=/usr/local/pg/lib
-PATH=$PATH:/usr/local/pgsql/bin
-MANPATH=$MANPATH:/usr/local/pgsql/man
+PATH=$PATH:/usr/local/pg/bin
+MANPATH=$MANPATH:/usr/local/pg/man
#
# Add the following line to /etc/ld.so.conf:
#
-/usr/local/pgsql/lib
-and run ldconfig.
+/usr/local/pg/lib
-#
-# untar the postgres source distribution and cd to src/
-# run the following commands:
-#
+# and run:
+
+ldconfig
-./configure
+# untar the postgres source distribution, cd to postgresql-*
+# and run the following commands:
+
+CFLAGS=-O3 ./configure
gmake
gmake install
-mkdir /usr/local/pgsql/data
-chown postgres /usr/local/pgsql/data
+mkdir /usr/local/pg/data
+chown postgres /usr/local/pg/data
su - postgres
-/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
-su postgres -c "/usr/local/pgsql/bin/postmaster -o -F -D /usr/local/pgsql/data" &
-su postgres -c "/usr/local/pgsql/bin/createdb test"
+/usr/local/pg/bin/initdb -D /usr/local/pg/data
+/usr/local/pg/bin/postmaster -o -F -D /usr/local/pg/data &
+/usr/local/pg/bin/createdb test
+exit
#
-# Second, install packages DBD-Pg-0.95.tar.gz and DBI-1.14.tar.gz,
+# Second, install packages DBD-Pg-1.00.tar.gz and DBI-1.14.tar.gz,
# available from http://www.perl.com/CPAN/
-#
+
+export POSTGRES_LIB=/usr/local/pg/lib/
+export POSTGRES_INCLUDE=/usr/local/pg/include/postgresql
+perl Makefile.PL
+make
+make install
#
# Now we run the test that can be found in the sql-bench directory in the
@@ -59,17 +71,20 @@ su postgres -c "/usr/local/pgsql/bin/createdb test"
# We did run two tests:
# The standard test
-run-all-tests --comment="Intel Xeon, 2x550 Mhz, 1G, pg started with -o -F" --user=postgres --server=pg --cmp=mysql
+run-all-tests --comment="Intel Xeon, 2x550 Mhz, 512M, pg started with -o -F" --user=postgres --server=pg --cmp=mysql
# and a test where we do a vacuum() after each update.
# (The time for vacuum() is counted in the book-keeping() column)
-run-all-tests --comment="Intel Xeon, 2x550 Mhz, 1G, pg started with -o -F" --user=postgres --server=pg --cmp=mysql --fast
+run-all-tests --comment="Intel Xeon, 2x550 Mhz, 512M, pg started with -o -F" --user=postgres --server=pg --cmp=mysql --fast
# If you want to store the results in a output/RUN-xxx file, you should
# repeate the benchmark with the extra option --log --use-old-result
# This will create a the RUN file based of the previous results
-#
-run-all-tests --comment="Intel Xeon, 2x550 Mhz, 1G, pg started with -o -F" --user=postgres --server=pg --cmp=mysql --log --use-old-result
-run-all-tests --comment="Intel Xeon, 2x550 Mhz, 1G, pg started with -o -F" --user=postgres --server=pg --cmp=mysql --fast --log --use-old-result
+run-all-tests --comment="Intel Xeon, 2x550 Mhz, 512M, pg started with -o -F" --user=postgres --server=pg --cmp=mysql --log --use-old-result
+run-all-tests --comment="Intel Xeon, 2x550 Mhz, 512MG, pg started with -o -F" --user=postgres --server=pg --cmp=mysql --fast --log --use-old-result
+
+# Between running the different tests we dropped and recreated the PostgreSQL
+# database to ensure that PostgreSQL should get a clean start,
+# independent of the previous runs.
diff --git a/sql-bench/Results/ATIS-pg-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg b/sql-bench/Results/ATIS-pg-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg
new file mode 100644
index 00000000000..9db5568dd99
--- /dev/null
+++ b/sql-bench/Results/ATIS-pg-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg
@@ -0,0 +1,20 @@
+Testing server 'PostgreSQL version ???' at 2001-06-03 4:40:22
+
+ATIS table test
+
+Creating tables
+Time for create_table (28): 0 wallclock secs ( 0.01 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.01 CPU)
+
+Inserting data
+Time to insert (9768): 8 wallclock secs ( 2.97 usr 0.28 sys + 0.00 cusr 0.00 csys = 3.25 CPU)
+
+Retrieving data
+Time for select_simple_join (500): 3 wallclock secs ( 0.74 usr 0.03 sys + 0.00 cusr 0.00 csys = 0.77 CPU)
+Time for select_join (100): 4 wallclock secs ( 0.52 usr 0.13 sys + 0.00 cusr 0.00 csys = 0.65 CPU)
+Time for select_key_prefix_join (100): 11 wallclock secs ( 4.30 usr 0.16 sys + 0.00 cusr 0.00 csys = 4.46 CPU)
+Time for select_distinct (800): 22 wallclock secs ( 1.95 usr 0.18 sys + 0.00 cusr 0.00 csys = 2.13 CPU)
+Time for select_group (2600): 52 wallclock secs ( 1.43 usr 0.19 sys + 0.00 cusr 0.00 csys = 1.62 CPU)
+
+Removing tables
+Time to drop_table (28): 1 wallclock secs ( 0.01 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.01 CPU)
+Total time: 101 wallclock secs (11.93 usr 0.98 sys + 0.00 cusr 0.00 csys = 12.91 CPU)
diff --git a/sql-bench/Results/RUN-pg-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg b/sql-bench/Results/RUN-pg-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg
new file mode 100644
index 00000000000..1d07a79018e
--- /dev/null
+++ b/sql-bench/Results/RUN-pg-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg
@@ -0,0 +1,102 @@
+Benchmark DBD suite: 2.13
+Date of test: 2001-06-03 19:30:53
+Running tests on: Linux 2.4.0-64GB-SMP i686
+Arguments:
+Comments: Intel Xeon, 2x550 Mhz, 512M, pg started with -o -F
+Limits from: mysql,pg
+Server version: PostgreSQL version 7.1.1
+
+ATIS: Total time: 101 wallclock secs (11.93 usr 0.98 sys + 0.00 cusr 0.00 csys = 12.91 CPU)
+alter-table: Total time: 52 wallclock secs ( 0.49 usr 0.14 sys + 0.00 cusr 0.00 csys = 0.63 CPU)
+big-tables: Total time: 1324 wallclock secs ( 8.10 usr 0.69 sys + 0.00 cusr 0.00 csys = 8.79 CPU)
+connect: Total time: 555 wallclock secs (51.66 usr 14.01 sys + 0.00 cusr 0.00 csys = 65.67 CPU)
+create: Total time: 10008 wallclock secs (27.97 usr 5.83 sys + 0.00 cusr 0.00 csys = 33.80 CPU)
+insert: Estimated total time: 199360 wallclock secs (879.85 usr 202.59 sys + 0.00 cusr 0.00 csys = 1082.45 CPU)
+select: Estimated total time: 13197 wallclock secs (68.30 usr 8.18 sys + 0.00 cusr 0.00 csys = 76.48 CPU)
+wisconsin: Total time: 52 wallclock secs (12.40 usr 2.23 sys + 0.00 cusr 0.00 csys = 14.63 CPU)
+
+All 8 test executed successfully
+Tests with estimated time have a + at end of line
+
+Totals per operation:
+Operation seconds usr sys cpu tests
+alter_table_add 49.00 0.26 0.06 0.32 992
+connect 143.00 8.01 1.89 9.90 10000
+connect+select_1_row 195.00 10.94 2.31 13.25 10000
+connect+select_simple 157.00 10.42 2.41 12.83 10000
+count 131.00 0.03 0.00 0.03 100
+count_distinct 132.00 0.31 0.06 0.37 1000
+count_distinct_2 213.00 0.37 0.03 0.40 1000
+count_distinct_big 266.00 7.91 0.25 8.16 120
+count_distinct_group 384.00 1.07 0.08 1.15 1000
+count_distinct_group_on_key 488.00 0.41 0.03 0.44 1000
+count_distinct_group_on_key_parts 383.00 1.10 0.07 1.17 1000
+count_distinct_key_prefix 179.00 0.28 0.07 0.35 1000
+count_group_on_key_parts 331.00 1.13 0.06 1.19 1000
+count_on_key 1850.00 15.78 1.99 17.77 50100 +
+create+drop 3280.00 10.74 1.89 12.63 10000
+create_MANY_tables 160.00 3.67 1.35 5.02 5000
+create_index 1.00 0.00 0.00 0.00 8
+create_key+drop 5781.00 10.70 1.53 12.23 10000
+create_table 1.00 0.01 0.00 0.01 31
+delete_all 2478.00 0.01 0.00 0.01 12
+delete_all_many_keys 94.00 0.05 0.00 0.05 1
+delete_big 0.00 0.01 0.00 0.01 1
+delete_big_many_keys 93.00 0.05 0.00 0.05 128
+delete_key 85.00 3.19 0.48 3.67 10000
+drop_index 0.00 0.01 0.00 0.01 8
+drop_table 1.00 0.01 0.00 0.01 28
+drop_table_when_MANY_tables 772.00 1.29 0.28 1.57 5000
+insert 353.00 104.09 24.32 128.41 350768
+insert_duplicates 120.00 30.53 10.61 41.14 100000
+insert_key 804.00 47.08 47.06 94.14 100000
+insert_many_fields 528.00 1.12 0.21 1.33 2000
+insert_select_1_key 86.00 0.00 0.00 0.00 1
+insert_select_2_keys 196.00 0.00 0.00 0.00 1
+min_max 60.00 0.02 0.00 0.02 60
+min_max_on_key 10543.00 25.38 4.37 29.75 85000 ++
+order_by_big 148.00 21.11 0.72 21.83 10
+order_by_big_key 145.00 24.01 1.27 25.28 10
+order_by_big_key2 132.00 21.28 0.64 21.92 10
+order_by_big_key_desc 145.00 23.93 1.27 25.20 10
+order_by_big_key_diff 138.00 21.30 0.56 21.86 10
+order_by_big_key_prefix 133.00 21.16 0.80 21.96 10
+order_by_key2_diff 7.00 1.94 0.03 1.97 500
+order_by_key_prefix 4.00 1.04 0.08 1.12 500
+order_by_range 4.00 1.13 0.06 1.19 500
+outer_join 2539.00 0.00 0.01 0.01 10
+outer_join_found 2515.00 0.00 0.00 0.00 10
+outer_join_not_found 124666.00 0.00 0.00 0.00 500 +
+outer_join_on_key 2307.00 0.00 0.00 0.00 10
+select_1_row 6.00 2.25 0.46 2.71 10000
+select_2_rows 7.00 2.77 0.38 3.15 10000
+select_big 93.00 33.23 9.79 43.02 10080
+select_column+column 8.00 2.78 0.41 3.19 10000
+select_diff_key 0.00 0.21 0.02 0.23 500
+select_distinct 22.00 1.95 0.18 2.13 800
+select_group 326.00 1.47 0.20 1.67 2711
+select_group_when_MANY_tables 15.00 1.57 0.78 2.35 5000
+select_join 4.00 0.52 0.13 0.65 100
+select_key 243.00 68.03 8.10 76.13 200000
+select_key2 208.00 66.48 8.68 75.16 200000
+select_key2_return_key 200.00 66.41 7.77 74.18 200000
+select_key2_return_prim 204.00 64.75 7.90 72.65 200000
+select_key_prefix 208.00 66.62 8.81 75.43 200000
+select_key_prefix_join 11.00 4.30 0.16 4.46 100
+select_key_return_key 239.00 66.86 8.37 75.23 200000
+select_many_fields 795.00 6.97 0.48 7.45 2000
+select_query_cache 2549.00 3.25 0.52 3.77 10000
+select_query_cache2 2547.00 3.04 0.53 3.57 10000
+select_range 465.00 10.41 0.63 11.04 410
+select_range_key2 20341.00 4.22 0.52 4.74 25010 ++
+select_range_prefix 20344.00 6.32 1.04 7.36 25010 ++
+select_simple 5.00 2.73 0.30 3.03 10000
+select_simple_join 3.00 0.74 0.03 0.77 500
+update_big 6046.00 0.01 0.00 0.01 10
+update_of_key 136.00 16.21 11.85 28.06 50000
+update_of_key_big 320.00 0.16 0.09 0.25 501
+update_of_primary_key_many_keys 5365.00 0.16 0.03 0.19 256
+update_with_key 518.00 89.50 33.03 122.53 300000
+update_with_key_prefix 186.00 30.32 15.83 46.15 100000
+wisc_benchmark 16.00 3.30 0.65 3.95 114
+TOTALS 224650.00 1060.42 234.52 1294.94 2551551 ++++++++
diff --git a/sql-bench/Results/alter-table-pg-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg b/sql-bench/Results/alter-table-pg-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg
new file mode 100644
index 00000000000..62a8ccfdb01
--- /dev/null
+++ b/sql-bench/Results/alter-table-pg-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg
@@ -0,0 +1,14 @@
+Testing server 'PostgreSQL version ???' at 2001-06-03 4:42:04
+
+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.21 usr 0.08 sys + 0.00 cusr 0.00 csys = 0.29 CPU)
+
+Time for alter_table_add (992): 49 wallclock secs ( 0.26 usr 0.06 sys + 0.00 cusr 0.00 csys = 0.32 CPU)
+
+Time for create_index (8): 1 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+
+Time for drop_index (8): 0 wallclock secs ( 0.01 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.01 CPU)
+
+Total time: 52 wallclock secs ( 0.49 usr 0.14 sys + 0.00 cusr 0.00 csys = 0.63 CPU)
diff --git a/sql-bench/Results/big-tables-pg-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg b/sql-bench/Results/big-tables-pg-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg
new file mode 100644
index 00000000000..3ac4af4f5ea
--- /dev/null
+++ b/sql-bench/Results/big-tables-pg-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg
@@ -0,0 +1,19 @@
+Testing server 'PostgreSQL version ???' at 2001-06-03 4:42:56
+
+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): 338 wallclock secs ( 3.28 usr 0.22 sys + 0.00 cusr 0.00 csys = 3.50 CPU)
+
+Testing select all_fields from table with 1 record
+Time to select_many_fields(1000): 457 wallclock secs ( 3.69 usr 0.26 sys + 0.00 cusr 0.00 csys = 3.95 CPU)
+
+Testing insert VALUES()
+Time to insert_many_fields(1000): 229 wallclock secs ( 0.40 usr 0.07 sys + 0.00 cusr 0.00 csys = 0.47 CPU)
+
+Testing insert (all_fields) VALUES()
+Time to insert_many_fields(1000): 299 wallclock secs ( 0.72 usr 0.14 sys + 0.00 cusr 0.00 csys = 0.86 CPU)
+
+Total time: 1324 wallclock secs ( 8.10 usr 0.69 sys + 0.00 cusr 0.00 csys = 8.79 CPU)
diff --git a/sql-bench/Results/connect-pg-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg b/sql-bench/Results/connect-pg-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg
new file mode 100644
index 00000000000..86af371cbb9
--- /dev/null
+++ b/sql-bench/Results/connect-pg-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg
@@ -0,0 +1,30 @@
+Testing server 'PostgreSQL version ???' at 2001-06-03 5:05:01
+
+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): 143 wallclock secs ( 8.01 usr 1.89 sys + 0.00 cusr 0.00 csys = 9.90 CPU)
+
+Test connect/simple select/disconnect
+Time for connect+select_simple (10000): 157 wallclock secs (10.42 usr 2.41 sys + 0.00 cusr 0.00 csys = 12.83 CPU)
+
+Test simple select
+Time for select_simple (10000): 5 wallclock secs ( 2.73 usr 0.30 sys + 0.00 cusr 0.00 csys = 3.03 CPU)
+
+Testing connect/select 1 row from table/disconnect
+Time to connect+select_1_row (10000): 195 wallclock secs (10.94 usr 2.31 sys + 0.00 cusr 0.00 csys = 13.25 CPU)
+
+Testing select 1 row from table
+Time to select_1_row (10000): 6 wallclock secs ( 2.25 usr 0.46 sys + 0.00 cusr 0.00 csys = 2.71 CPU)
+
+Testing select 2 rows from table
+Time to select_2_rows (10000): 7 wallclock secs ( 2.77 usr 0.38 sys + 0.00 cusr 0.00 csys = 3.15 CPU)
+
+Test select with aritmetic (+)
+Time for select_column+column (10000): 8 wallclock secs ( 2.78 usr 0.41 sys + 0.00 cusr 0.00 csys = 3.19 CPU)
+
+Testing retrieval of big records (65000 bytes)
+Time to select_big (10000): 34 wallclock secs (11.75 usr 5.84 sys + 0.00 cusr 0.00 csys = 17.59 CPU)
+
+Total time: 555 wallclock secs (51.66 usr 14.01 sys + 0.00 cusr 0.00 csys = 65.67 CPU)
diff --git a/sql-bench/Results/create-pg-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg b/sql-bench/Results/create-pg-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg
new file mode 100644
index 00000000000..7e33d155a20
--- /dev/null
+++ b/sql-bench/Results/create-pg-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg
@@ -0,0 +1,18 @@
+Testing server 'PostgreSQL version ???' at 2001-06-03 5:14:17
+
+Testing the speed of creating and droping tables
+Testing with 5000 tables and 10000 loop count
+
+Testing create of tables
+Time for create_MANY_tables (5000): 160 wallclock secs ( 3.67 usr 1.35 sys + 0.00 cusr 0.00 csys = 5.02 CPU)
+
+Accessing tables
+Time to select_group_when_MANY_tables (5000): 15 wallclock secs ( 1.57 usr 0.78 sys + 0.00 cusr 0.00 csys = 2.35 CPU)
+
+Testing drop
+Time for drop_table_when_MANY_tables (5000): 772 wallclock secs ( 1.29 usr 0.28 sys + 0.00 cusr 0.00 csys = 1.57 CPU)
+
+Testing create+drop
+Time for create+drop (10000): 3280 wallclock secs (10.74 usr 1.89 sys + 0.00 cusr 0.00 csys = 12.63 CPU)
+Time for create_key+drop (10000): 5781 wallclock secs (10.70 usr 1.53 sys + 0.00 cusr 0.00 csys = 12.23 CPU)
+Total time: 10008 wallclock secs (27.97 usr 5.83 sys + 0.00 cusr 0.00 csys = 33.80 CPU)
diff --git a/sql-bench/Results/insert-pg-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg b/sql-bench/Results/insert-pg-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg
new file mode 100644
index 00000000000..68d7052ef6e
--- /dev/null
+++ b/sql-bench/Results/insert-pg-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg
@@ -0,0 +1,103 @@
+Testing server 'PostgreSQL version ???' at 2001-06-03 8:01:05
+
+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): 302 wallclock secs (89.07 usr 22.07 sys + 0.00 cusr 0.00 csys = 111.14 CPU)
+
+Testing insert of duplicates
+Time for insert_duplicates (100000): 120 wallclock secs (30.53 usr 10.61 sys + 0.00 cusr 0.00 csys = 41.14 CPU)
+
+Retrieving data from the table
+Time for select_big (10:3000000): 58 wallclock secs (21.31 usr 3.95 sys + 0.00 cusr 0.00 csys = 25.26 CPU)
+Time for order_by_big_key (10:3000000): 145 wallclock secs (24.01 usr 1.27 sys + 0.00 cusr 0.00 csys = 25.28 CPU)
+Time for order_by_big_key_desc (10:3000000): 145 wallclock secs (23.93 usr 1.27 sys + 0.00 cusr 0.00 csys = 25.20 CPU)
+Time for order_by_big_key_prefix (10:3000000): 133 wallclock secs (21.16 usr 0.80 sys + 0.00 cusr 0.00 csys = 21.96 CPU)
+Time for order_by_big_key2 (10:3000000): 132 wallclock secs (21.28 usr 0.64 sys + 0.00 cusr 0.00 csys = 21.92 CPU)
+Time for order_by_big_key_diff (10:3000000): 138 wallclock secs (21.30 usr 0.56 sys + 0.00 cusr 0.00 csys = 21.86 CPU)
+Time for order_by_big (10:3000000): 148 wallclock secs (21.11 usr 0.72 sys + 0.00 cusr 0.00 csys = 21.83 CPU)
+Time for order_by_range (500:125750): 4 wallclock secs ( 1.13 usr 0.06 sys + 0.00 cusr 0.00 csys = 1.19 CPU)
+Time for order_by_key_prefix (500:125750): 4 wallclock secs ( 1.04 usr 0.08 sys + 0.00 cusr 0.00 csys = 1.12 CPU)
+Time for order_by_key2_diff (500:250500): 7 wallclock secs ( 1.94 usr 0.03 sys + 0.00 cusr 0.00 csys = 1.97 CPU)
+Time for select_diff_key (500:1000): 0 wallclock secs ( 0.21 usr 0.02 sys + 0.00 cusr 0.00 csys = 0.23 CPU)
+Note: Query took longer then time-limit: 600
+Estimating end time based on:
+210 queries in 210 loops of 5010 loops took 616 seconds
+Estimated time for select_range_prefix (5010:1764): 14696 wallclock secs ( 2.62 usr 0.48 sys + 0.00 cusr 0.00 csys = 3.10 CPU)
+Note: Query took longer then time-limit: 600
+Estimating end time based on:
+210 queries in 210 loops of 5010 loops took 615 seconds
+Estimated time for select_range_key2 (5010:1764): 14672 wallclock secs ( 1.67 usr 0.24 sys + 0.00 cusr 0.00 csys = 1.91 CPU)
+Time for select_key_prefix (200000): 208 wallclock secs (66.62 usr 8.81 sys + 0.00 cusr 0.00 csys = 75.43 CPU)
+Time for select_key (200000): 243 wallclock secs (68.03 usr 8.10 sys + 0.00 cusr 0.00 csys = 76.13 CPU)
+Time for select_key_return_key (200000): 239 wallclock secs (66.86 usr 8.37 sys + 0.00 cusr 0.00 csys = 75.23 CPU)
+Time for select_key2 (200000): 208 wallclock secs (66.48 usr 8.68 sys + 0.00 cusr 0.00 csys = 75.16 CPU)
+Time for select_key2_return_key (200000): 200 wallclock secs (66.41 usr 7.77 sys + 0.00 cusr 0.00 csys = 74.18 CPU)
+Time for select_key2_return_prim (200000): 204 wallclock secs (64.75 usr 7.90 sys + 0.00 cusr 0.00 csys = 72.65 CPU)
+
+Test of compares with simple ranges
+Note: Query took longer then time-limit: 600
+Estimating end time based on:
+2160 queries in 54 loops of 500 loops took 610 seconds
+Estimated time for select_range_prefix (20000:4698): 5648 wallclock secs ( 3.70 usr 0.56 sys + 0.00 cusr 0.00 csys = 4.26 CPU)
+Note: Query took longer then time-limit: 600
+Estimating end time based on:
+2120 queries in 53 loops of 500 loops took 601 seconds
+Estimated time for select_range_key2 (20000:4611): 5669 wallclock secs ( 2.55 usr 0.28 sys + 0.00 cusr 0.00 csys = 2.83 CPU)
+Time for select_group (111): 274 wallclock secs ( 0.04 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.05 CPU)
+Note: Query took longer then time-limit: 600
+Estimating end time based on:
+1320 queries in 220 loops of 2500 loops took 601 seconds
+Estimated time for min_max_on_key (15000): 6829 wallclock secs ( 5.23 usr 0.91 sys + 0.00 cusr 0.00 csys = 6.14 CPU)
+Time for min_max (60): 60 wallclock secs ( 0.02 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.02 CPU)
+Time for count_on_key (100): 116 wallclock secs ( 0.02 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.02 CPU)
+Time for count (100): 131 wallclock secs ( 0.03 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.03 CPU)
+Time for count_distinct_big (20): 201 wallclock secs ( 0.03 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.03 CPU)
+
+Testing update of keys with functions
+Time for update_of_key (50000): 136 wallclock secs (16.21 usr 11.85 sys + 0.00 cusr 0.00 csys = 28.06 CPU)
+Time for update_of_key_big (501): 320 wallclock secs ( 0.16 usr 0.09 sys + 0.00 cusr 0.00 csys = 0.25 CPU)
+
+Testing update with key
+Time for update_with_key (300000): 518 wallclock secs (89.50 usr 33.03 sys + 0.00 cusr 0.00 csys = 122.53 CPU)
+Time for update_with_key_prefix (100000): 186 wallclock secs (30.32 usr 15.83 sys + 0.00 cusr 0.00 csys = 46.15 CPU)
+
+Testing update of all rows
+Time for update_big (10): 6046 wallclock secs ( 0.01 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.01 CPU)
+
+Testing left outer join
+Time for outer_join_on_key (10:10): 2307 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for outer_join (10:10): 2539 wallclock secs ( 0.00 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.01 CPU)
+Time for outer_join_found (10:10): 2515 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Note: Query took longer then time-limit: 600
+Estimating end time based on:
+3 queries in 3 loops of 500 loops took 748 seconds
+Estimated time for outer_join_not_found (500:500): 124666 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): 86 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for insert_select_2_keys (1): 196 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for drop table(2): 22 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+
+Testing delete
+Time for delete_key (10000): 85 wallclock secs ( 3.19 usr 0.48 sys + 0.00 cusr 0.00 csys = 3.67 CPU)
+Time for delete_all (12): 2478 wallclock secs ( 0.01 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.01 CPU)
+
+Insert into table with 16 keys and with a primary key with 16 parts
+Time for insert_key (100000): 804 wallclock secs (47.08 usr 47.06 sys + 0.00 cusr 0.00 csys = 94.14 CPU)
+
+Testing update of keys
+Time for update_of_primary_key_many_keys (256): 5365 wallclock secs ( 0.16 usr 0.03 sys + 0.00 cusr 0.00 csys = 0.19 CPU)
+
+Deleting rows from the table
+Time for delete_big_many_keys (128): 93 wallclock secs ( 0.05 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.05 CPU)
+
+Deleting everything from table
+Time for delete_all_many_keys (1): 94 wallclock secs ( 0.05 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.05 CPU)
+
+Estimated total time: 199360 wallclock secs (879.85 usr 202.59 sys + 0.00 cusr 0.00 csys = 1082.45 CPU)
diff --git a/sql-bench/Results/select-pg-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg b/sql-bench/Results/select-pg-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg
new file mode 100644
index 00000000000..ea359e81a2b
--- /dev/null
+++ b/sql-bench/Results/select-pg-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg
@@ -0,0 +1,36 @@
+Testing server 'PostgreSQL version ???' at 2001-06-03 16:37:16
+
+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): 10 wallclock secs ( 2.96 usr 0.39 sys + 0.00 cusr 0.00 csys = 3.35 CPU)
+
+Test if the database has a query cache
+Time for select_query_cache (10000): 2549 wallclock secs ( 3.25 usr 0.52 sys + 0.00 cusr 0.00 csys = 3.77 CPU)
+
+Time for select_query_cache2 (10000): 2547 wallclock secs ( 3.04 usr 0.53 sys + 0.00 cusr 0.00 csys = 3.57 CPU)
+
+Testing big selects on the table
+Time for select_big (70:17207): 1 wallclock secs ( 0.17 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.17 CPU)
+Time for select_range (410:1057904): 465 wallclock secs (10.41 usr 0.63 sys + 0.00 cusr 0.00 csys = 11.04 CPU)
+Note: Query took longer then time-limit: 600
+Estimating end time based on:
+11326 queries in 1618 loops of 10000 loops took 601 seconds
+Estimated time for min_max_on_key (70000): 3714 wallclock secs (20.15 usr 3.46 sys + 0.00 cusr 0.00 csys = 23.61 CPU)
+Note: Query took longer then time-limit: 600
+Estimating end time based on:
+17320 queries in 3464 loops of 10000 loops took 601 seconds
+Estimated time for count_on_key (50000): 1734 wallclock secs (15.76 usr 1.99 sys + 0.00 cusr 0.00 csys = 17.75 CPU)
+
+Time for count_group_on_key_parts (1000:100000): 331 wallclock secs ( 1.13 usr 0.06 sys + 0.00 cusr 0.00 csys = 1.19 CPU)
+Testing count(distinct) on the table
+Time for count_distinct_key_prefix (1000:1000): 179 wallclock secs ( 0.28 usr 0.07 sys + 0.00 cusr 0.00 csys = 0.35 CPU)
+Time for count_distinct (1000:1000): 132 wallclock secs ( 0.31 usr 0.06 sys + 0.00 cusr 0.00 csys = 0.37 CPU)
+Time for count_distinct_2 (1000:1000): 213 wallclock secs ( 0.37 usr 0.03 sys + 0.00 cusr 0.00 csys = 0.40 CPU)
+Time for count_distinct_group_on_key (1000:6000): 488 wallclock secs ( 0.41 usr 0.03 sys + 0.00 cusr 0.00 csys = 0.44 CPU)
+Time for count_distinct_group_on_key_parts (1000:100000): 383 wallclock secs ( 1.10 usr 0.07 sys + 0.00 cusr 0.00 csys = 1.17 CPU)
+Time for count_distinct_group (1000:100000): 384 wallclock secs ( 1.07 usr 0.08 sys + 0.00 cusr 0.00 csys = 1.15 CPU)
+Time for count_distinct_big (100:1000000): 65 wallclock secs ( 7.88 usr 0.25 sys + 0.00 cusr 0.00 csys = 8.13 CPU)
+Estimated total time: 13197 wallclock secs (68.30 usr 8.18 sys + 0.00 cusr 0.00 csys = 76.48 CPU)
diff --git a/sql-bench/Results/wisconsin-pg-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg b/sql-bench/Results/wisconsin-pg-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg
new file mode 100644
index 00000000000..079272b708e
--- /dev/null
+++ b/sql-bench/Results/wisconsin-pg-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg
@@ -0,0 +1,14 @@
+Testing server 'PostgreSQL version ???' at 2001-06-03 19:06:27
+
+Wisconsin benchmark test
+
+Time for create_table (3): 1 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+
+Inserting data
+Time to insert (31000): 33 wallclock secs ( 9.09 usr 1.58 sys + 0.00 cusr 0.00 csys = 10.67 CPU)
+Time to delete_big (1): 0 wallclock secs ( 0.01 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.01 CPU)
+
+Running actual benchmark
+Time for wisc_benchmark (114): 16 wallclock secs ( 3.30 usr 0.65 sys + 0.00 cusr 0.00 csys = 3.95 CPU)
+
+Total time: 52 wallclock secs (12.40 usr 2.23 sys + 0.00 cusr 0.00 csys = 14.63 CPU)
diff --git a/sql-bench/bench-init.pl.sh b/sql-bench/bench-init.pl.sh
index a30e9b3d9c9..adfa114f569 100644
--- a/sql-bench/bench-init.pl.sh
+++ b/sql-bench/bench-init.pl.sh
@@ -31,7 +31,7 @@
# $server Object for current server
# $limits Hash reference to limits for benchmark
-$benchmark_version="2.12";
+$benchmark_version="2.13";
use Getopt::Long;
require "$pwd/server-cfg" || die "Can't read Configuration file: $!\n";
diff --git a/sql-bench/limits/pg.cfg b/sql-bench/limits/pg.cfg
index 7e4d20b052a..ed1c2eaa63f 100644
--- a/sql-bench/limits/pg.cfg
+++ b/sql-bench/limits/pg.cfg
@@ -1,10 +1,10 @@
-#This file is automaticly generated by crash-me 1.54
+#This file is automaticly generated by crash-me 1.56
NEG=yes # update of column= -column
Need_cast_for_null=no # Need to cast NULL for arithmetic
alter_add_col=yes # Alter table add column
-alter_add_constraint=no # Alter table add constraint
-alter_add_foreign_key=yes # Alter table add foreign key
+alter_add_constraint=yes # Alter table add constraint
+alter_add_foreign_key=no # Alter table add foreign key
alter_add_multi_col=no # Alter table add many columns
alter_add_primary_key=no # Alter table add primary key
alter_add_unique=no # Alter table add unique
@@ -29,21 +29,22 @@ columns_in_order_by=+64 # number of columns in order by
comment_#=no # # as comment
comment_--=yes # -- as comment (ANSI)
comment_/**/=yes # /* */ as comment
-comment_//=no # // as comment (ANSI)
+comment_//=no # // as comment
compute=no # Compute
connections=32 # Simultaneous connections (installation default)
constraint_check=yes # Column constraints
constraint_check_table=yes # Table constraints
constraint_null=yes # NULL constraint (SyBase style)
crash_me_safe=yes # crash me safe
-crash_me_version=1.54 # crash me version
+crash_me_version=1.56 # crash me version
create_default=yes # default value for column
-create_default_func=no # default value function for column
+create_default_func=yes # default value function for column
create_if_not_exists=no # create table if not exists
create_index=yes # create index
create_schema=no # Create SCHEMA
create_table_select=with AS # create table from select
cross_join=yes # cross join (same as from a,b)
+date_as_string=yes # String functions on date columns
date_infinity=no # Supports 'infinity dates
date_last=yes # Supports 9999-12-31 dates
date_one=yes # Supports 0001-01-01 dates
@@ -58,16 +59,16 @@ drop_requires_cascade=no # drop table require cascade/restrict
drop_restrict=no # drop table with cascade/restrict
end_colon=yes # allows end ';'
except=yes # except
-except_all=no # except all
+except_all=yes # except all
except_all_incompat=no # except all (incompatible lists)
except_incompat=no # except (incompatible lists)
float_int_expr=yes # mixing of integer and float in expression
foreign_key=yes # foreign keys
foreign_key_syntax=yes # foreign key syntax
-full_outer_join=no # full outer join
+full_outer_join=yes # full outer join
func_extra_!=no # Function NOT as '!' in SELECT
func_extra_%=yes # Function MOD as %
-func_extra_&=no # Function & (bitwise and)
+func_extra_&=yes # Function & (bitwise and)
func_extra_&&=no # Function AND as '&&'
func_extra_<>=yes # Function <> in SELECT
func_extra_==yes # Function =
@@ -79,12 +80,12 @@ func_extra_atn2=no # Function ATN2
func_extra_auto_num2string=no # Function automatic num->string convert
func_extra_auto_string2num=yes # Function automatic string->num convert
func_extra_between=yes # Function BETWEEN in SELECT
-func_extra_binary_shifts=no # Function << and >> (bitwise shifts)
+func_extra_binary_shifts=yes # Function << and >> (bitwise shifts)
func_extra_bit_count=no # Function BIT_COUNT
func_extra_ceil=yes # Function CEIL
func_extra_charindex=no # Function CHARINDEX
-func_extra_chr=no # Function CHR
-func_extra_concat_as_+=no # Function concatenation with +
+func_extra_chr=yes # Function CHR
+func_extra_concat_as_+=error # Function concatenation with +
func_extra_concat_list=no # Function CONCAT(list)
func_extra_convert=no # Function CONVERT
func_extra_cosh=no # Function COSH
@@ -103,7 +104,7 @@ func_extra_getdate=no # Function GETDATE
func_extra_greatest=no # Function GREATEST
func_extra_if=no # Function IF
func_extra_in_num=yes # Function IN on numbers in SELECT
-func_extra_in_str=no # Function IN on strings in SELECT
+func_extra_in_str=yes # Function IN on strings in SELECT
func_extra_initcap=yes # Function INITCAP
func_extra_instr=no # Function LOCATE as INSTR
func_extra_instr_oracle=no # Function INSTR (Oracle syntax)
@@ -114,7 +115,7 @@ func_extra_last_insert_id=no # Function LAST_INSERT_ID
func_extra_least=no # Function LEAST
func_extra_lengthb=no # Function LENGTHB
func_extra_like=yes # Function LIKE in SELECT
-func_extra_like_escape=no # Function LIKE ESCAPE in SELECT
+func_extra_like_escape=yes # Function LIKE ESCAPE in SELECT
func_extra_ln=no # Function LN
func_extra_log(m_n)=yes # Function LOG(m,n)
func_extra_logn=no # Function LOGN
@@ -160,7 +161,7 @@ func_extra_unix_timestamp=no # Function UNIX_TIMESTAMP
func_extra_userenv=no # Function USERENV
func_extra_version=yes # Function VERSION
func_extra_weekday=no # Function WEEKDAY
-func_extra_|=no # Function | (bitwise or)
+func_extra_|=yes # Function | (bitwise or)
func_extra_||=no # Function OR as '||'
func_extra_~*=yes # Function ~* (case insensitive compare)
func_odbc_abs=yes # Function ABS
@@ -192,7 +193,7 @@ func_odbc_ifnull=no # Function IFNULL
func_odbc_insert=no # Function INSERT
func_odbc_lcase=no # Function LCASE
func_odbc_left=no # Function LEFT
-func_odbc_length=no # Function REAL LENGTH
+func_odbc_length=yes # Function REAL LENGTH
func_odbc_length_without_space=no # Function ODBC LENGTH
func_odbc_locate_2=no # Function LOCATE(2 arg)
func_odbc_locate_3=no # Function LOCATE(3 arg)
@@ -220,7 +221,7 @@ func_odbc_sin=yes # Function SIN
func_odbc_soundex=no # Function SOUNDEX
func_odbc_space=no # Function SPACE
func_odbc_sqrt=no # Function SQRT
-func_odbc_substring=no # Function ODBC SUBSTRING
+func_odbc_substring=yes # Function ODBC SUBSTRING
func_odbc_tan=yes # Function TAN
func_odbc_timestampadd=no # Function TIMESTAMPADD
func_odbc_timestampdiff=no # Function TIMESTAMPDIFF
@@ -246,8 +247,8 @@ func_sql_localtime=no # Function LOCALTIME
func_sql_localtimestamp=no # Function LOCALTIMESTAMP
func_sql_lower=yes # Function LOWER
func_sql_nullif_num=yes # Function NULLIF with numbers
-func_sql_nullif_string=no # Function NULLIF with strings
-func_sql_octet_length=no # Function OCTET_LENGTH
+func_sql_nullif_string=yes # Function NULLIF with strings
+func_sql_octet_length=yes # Function OCTET_LENGTH
func_sql_position=yes # Function POSITION
func_sql_searched_case=yes # Function searched CASE
func_sql_session_user=yes # Function SESSION_USER
@@ -264,7 +265,7 @@ func_where_eq_some=yes # Function = SOME
func_where_exists=yes # Function EXISTS
func_where_in_num=yes # Function IN on numbers
func_where_like=yes # Function LIKE
-func_where_like_escape=no # Function LIKE ESCAPE
+func_where_like_escape=yes # Function LIKE ESCAPE
func_where_match=no # Function MATCH
func_where_match_unique=no # Function MATCH UNIQUE
func_where_matches=no # Function MATCHES
@@ -283,8 +284,8 @@ group_func_extra_bit_and=no # Group function BIT_AND
group_func_extra_bit_or=no # Group function BIT_OR
group_func_extra_count_distinct_list=no # Group function COUNT(DISTINCT expr,expr,...)
group_func_extra_std=no # Group function STD
-group_func_extra_stddev=no # Group function STDDEV
-group_func_extra_variance=no # Group function VARIANCE
+group_func_extra_stddev=yes # Group function STDDEV
+group_func_extra_variance=yes # Group function VARIANCE
group_func_sql_any=no # Group function ANY
group_func_sql_avg=yes # Group function AVG
group_func_sql_count_*=yes # Group function COUNT (*)
@@ -315,37 +316,37 @@ insert_multi_value=no # INSERT with Value lists
insert_select=yes # insert INTO ... SELECT ...
insert_with_set=no # INSERT with set syntax
intersect=yes # intersect
-intersect_all=no # intersect all
+intersect_all=yes # intersect all
intersect_all_incompat=no # intersect all (incompatible lists)
intersect_incompat=no # intersect (incompatible lists)
join_tables=+64 # tables in join
-left_outer_join=no # left outer join
-left_outer_join_using=no # left outer join using
+left_outer_join=yes # left outer join
+left_outer_join_using=yes # left outer join using
like_with_column=yes # column LIKE column
like_with_number=yes # LIKE on numbers
lock_tables=yes # lock table
logical_value=1 # Value of logical operation (1=1)
max_big_expressions=10 # big expressions
-max_char_size=8104 # max char() size
+max_char_size=+8000000 # max char() size
max_column_name=+512 # column name length
max_columns=1600 # Columns in table
max_conditions=19994 # OR and AND in WHERE
max_expressions=9999 # simple expressions
max_index=+64 # max index
-max_index_length=2704 # index length
+max_index_length=+8192 # index length
max_index_name=+512 # index name length
-max_index_part_length=2704 # max index part length
+max_index_part_length=235328 # max index part length
max_index_parts=16 # index parts
-max_index_varchar_part_length=2704 # index varchar part length
-max_row_length=7949 # max table row length (without blobs)
-max_row_length_with_null=7949 # table row length with nulls (without blobs)
+max_index_varchar_part_length=235328 # index varchar part length
+max_row_length=64519 # max table row length (without blobs)
+max_row_length_with_null=64519 # table row length with nulls (without blobs)
max_select_alias_name=+512 # select alias name length
max_stack_expression=+2000 # stacked expressions
max_table_alias_name=+512 # table alias name length
max_table_name=+512 # table name length
-max_text_size=8104 # max text or blob size
+max_text_size=+8000000 # max text or blob size
max_unique_index=+64 # unique indexes
-max_varchar_size=8104 # max varchar() size
+max_varchar_size=+8000000 # max varchar() size
minus=no # minus
minus_incompat=no # minus (incompatible lists)
minus_neg=no # Calculate 1--1
@@ -356,7 +357,7 @@ multi_table_delete=no # DELETE FROM table1,table2...
multi_table_update=no # Update with many tables
natural_join=yes # natural join
natural_join_incompat=yes # natural join (incompatible lists)
-natural_left_outer_join=no # natural left outer join
+natural_left_outer_join=yes # natural left outer join
no_primary_key=yes # Tables without primary key
null_concat_expr=yes # Is 'a' || NULL = NULL
null_in_index=yes # null in index
@@ -364,7 +365,7 @@ null_in_unique=yes # null in unique index
null_num_expr=yes # Is 1+NULL = NULL
nulls_in_unique=yes # null combination in unique index
odbc_left_outer_join=no # left outer join odbc style
-operating_system=Linux 2.2.14-5.0 i686 # crash-me tested on
+operating_system=Linux 2.4.0-64GB-SMP i686 # crash-me tested on
order_by=yes # Order by
order_by_alias=yes # Order by alias
order_by_function=yes # Order by function
@@ -386,7 +387,7 @@ remember_end_space=no # Remembers end space in char()
remember_end_space_varchar=yes # Remembers end space in varchar()
rename_table=no # rename table
repeat_string_size=+8000000 # return string size from function
-right_outer_join=no # right outer join
+right_outer_join=yes # right outer join
rowid=oid # Type for row id
select_constants=yes # Select constants
select_limit=with LIMIT # LIMIT number of rows
@@ -394,7 +395,7 @@ select_limit2=yes # SELECT with LIMIT #,#
select_string_size=16777207 # constant string size in SELECT
select_table_update=yes # Update with sub select
select_without_from=yes # SELECT without FROM
-server_version=PostgreSQL version 7.0.2 # server version
+server_version=PostgreSQL version 7.1.1 # server version
simple_joins=yes # ANSI SQL simple joins
storage_of_float=round # Storage of float values
subqueries=yes # subqueries
@@ -466,7 +467,7 @@ type_extra_timespan=yes # Type timespan
type_extra_uint=no # Type uint
type_extra_varchar2(1_arg)=no # Type varchar2(1 arg)
type_extra_year=no # Type year
-type_odbc_bigint=no # Type bigint
+type_odbc_bigint=yes # Type bigint
type_odbc_binary(1_arg)=no # Type binary(1 arg)
type_odbc_datetime=yes # Type datetime
type_odbc_tinyint=no # Type tinyint
@@ -519,4 +520,4 @@ union_incompat=yes # union (incompatible lists)
unique_in_create=yes # unique in create table
unique_null_in_create=yes # unique null in create
views=yes # views
-where_string_size=16777182 # constant string size in where
+where_string_size=16777181 # constant string size in where
diff --git a/sql-bench/server-cfg.sh b/sql-bench/server-cfg.sh
index 0ed6926a297..e43548d924e 100644
--- a/sql-bench/server-cfg.sh
+++ b/sql-bench/server-cfg.sh
@@ -122,53 +122,49 @@ sub new
$self->{'vacuum'} = 1; # When using with --fast
$self->{'drop_attr'} = "";
- $limits{'max_conditions'} = 9999; # (Actually not a limit)
- $limits{'max_columns'} = 2000; # Max number of columns in table
- # Windows can't handle that many files in one directory
- $limits{'max_tables'} = (($machine || '') =~ "^win") ? 5000 : 65000;
- $limits{'max_text_size'} = 65000; # Max size with default buffers.
- $limits{'query_size'} = 1000000; # Max size with default buffers.
- $limits{'max_index'} = 16; # Max number of keys
- $limits{'max_index_parts'} = 16; # Max segments/key
- $limits{'max_column_name'} = 64; # max table and column name
-
- $limits{'join_optimizer'} = 1; # Can optimize FROM tables
- $limits{'load_data_infile'} = 1; # Has load data infile
- $limits{'lock_tables'} = 1; # Has lock tables
- $limits{'functions'} = 1; # Has simple functions (+/-)
- $limits{'group_functions'} = 1; # Have group functions
- $limits{'group_func_sql_min_str'} = 1; # Can execute MIN() and MAX() on strings
- $limits{'group_distinct_functions'}= 1; # Have count(distinct)
- $limits{'select_without_from'}= 1; # Can do 'select 1';
- $limits{'multi_drop'} = 1; # Drop table can take many tables
- $limits{'subqueries'} = 0; # Doesn't support sub-queries.
- $limits{'left_outer_join'} = 1; # Supports left outer joins
- $limits{'table_wildcard'} = 1; # Has SELECT table_name.*
- $limits{'having_with_alias'} = 1; # Can use aliases in HAVING
- $limits{'having_with_group'} = 1; # Can use group functions in HAVING
- $limits{'like_with_column'} = 1; # Can use column1 LIKE column2
- $limits{'order_by_position'} = 1; # Can use 'ORDER BY 1'
- $limits{'group_by_position'} = 1; # Can use 'GROUP BY 1'
- $limits{'alter_table'} = 1; # Have ALTER TABLE
+ $limits{'NEG'} = 1; # Supports -id
$limits{'alter_add_multi_col'}= 1; #Have ALTER TABLE t add a int,add b int;
+ $limits{'alter_table'} = 1; # Have ALTER TABLE
$limits{'alter_table_dropcol'}= 1; # Have ALTER TABLE DROP column
- $limits{'insert_multi_value'} = 1; # Have INSERT ... values (1,2),(3,4)
-
- $limits{'group_func_extra_std'} = 1; # Have group function std().
-
- $limits{'func_odbc_mod'} = 1; # Have function mod.
+ $limits{'column_alias'} = 1; # Alias for fields in select statement.
$limits{'func_extra_%'} = 1; # Has % as alias for mod()
- $limits{'func_odbc_floor'} = 1; # Has func_odbc_floor function
$limits{'func_extra_if'} = 1; # Have function if.
- $limits{'column_alias'} = 1; # Alias for fields in select statement.
- $limits{'NEG'} = 1; # Supports -id
$limits{'func_extra_in_num'} = 1; # Has function in
- $limits{'limit'} = 1; # supports the limit attribute
- $limits{'unique_index'} = 1; # Unique index works or not
+ $limits{'func_odbc_floor'} = 1; # Has func_odbc_floor function
+ $limits{'func_odbc_mod'} = 1; # Have function mod.
+ $limits{'functions'} = 1; # Has simple functions (+/-)
+ $limits{'group_by_position'} = 1; # Can use 'GROUP BY 1'
+ $limits{'group_distinct_functions'}= 1; # Have count(distinct)
+ $limits{'group_func_extra_std'} = 1; # Have group function std().
+ $limits{'group_func_sql_min_str'} = 1; # Can execute MIN() and MAX() on strings
+ $limits{'group_functions'} = 1; # Have group functions
+ $limits{'having_with_alias'} = 1; # Can use aliases in HAVING
+ $limits{'having_with_group'} = 1; # Can use group functions in HAVING
+ $limits{'insert_multi_value'} = 1; # Have INSERT ... values (1,2),(3,4)
$limits{'insert_select'} = 1;
- $limits{'working_blobs'} = 1; # If big varchar/blobs works
+ $limits{'join_optimizer'} = 1; # Can optimize FROM tables
+ $limits{'left_outer_join'} = 1; # Supports left outer joins
+ $limits{'like_with_column'} = 1; # Can use column1 LIKE column2
+ $limits{'limit'} = 1; # supports the limit attribute
+ $limits{'load_data_infile'} = 1; # Has load data infile
+ $limits{'lock_tables'} = 1; # Has lock tables
+ $limits{'max_column_name'} = 64; # max table and column name
+ $limits{'max_columns'} = 2000; # Max number of columns in table
+ $limits{'max_conditions'} = 9999; # (Actually not a limit)
+ $limits{'max_index'} = 16; # Max number of keys
+ $limits{'max_index_parts'} = 16; # Max segments/key
+ $limits{'max_tables'} = (($machine || '') =~ "^win") ? 5000 : 65000;
+ $limits{'max_text_size'} = 1000000; # Good enough for tests
+ $limits{'multi_drop'} = 1; # Drop table can take many tables
+ $limits{'order_by_position'} = 1; # Can use 'ORDER BY 1'
$limits{'order_by_unused'} = 1;
+ $limits{'query_size'} = 1000000; # Max size with default buffers.
+ $limits{'select_without_from'}= 1; # Can do 'select 1';
+ $limits{'subqueries'} = 0; # Doesn't support sub-queries.
+ $limits{'table_wildcard'} = 1; # Has SELECT table_name.*
+ $limits{'unique_index'} = 1; # Unique index works or not
$limits{'working_all_fields'} = 1;
+ $limits{'working_blobs'} = 1; # If big varchar/blobs works
$smds{'time'} = 1;
$smds{'q1'} = 'b'; # with time not supp by mysql ('')
@@ -569,12 +565,12 @@ sub new
$self->{'drop_attr'} = "";
$self->{"vacuum"} = 1;
$limits{'join_optimizer'} = 1; # Can optimize FROM tables
- $limits{'load_data_infile'} = 0; # Is this true ?
+ $limits{'load_data_infile'} = 0;
- $limits{'NEG'} = 1; # Can't handle -id
- $limits{'alter_table'} = 1; # alter ??
+ $limits{'NEG'} = 1;
$limits{'alter_add_multi_col'}= 0; # alter_add_multi_col ?
- $limits{'alter_table_dropcol'}= 0; # alter_drop_col ?
+ $limits{'alter_table'} = 1;
+ $limits{'alter_table_dropcol'}= 0;
$limits{'column_alias'} = 1;
$limits{'func_extra_%'} = 1;
$limits{'func_extra_if'} = 0;
@@ -583,33 +579,33 @@ sub new
$limits{'func_odbc_mod'} = 1; # Has %
$limits{'functions'} = 1;
$limits{'group_by_position'} = 1;
+ $limits{'group_distinct_functions'}= 1; # Have count(distinct)
$limits{'group_func_extra_std'} = 0;
$limits{'group_func_sql_min_str'}= 1; # Can execute MIN() and MAX() on strings
$limits{'group_functions'} = 1;
- $limits{'group_distinct_functions'}= 1; # Have count(distinct)
$limits{'having_with_alias'} = 0;
$limits{'having_with_group'} = 1;
- $limits{'left_outer_join'} = 0;
+ $limits{'insert_select'} = 1;
+ $limits{'left_outer_join'} = 1;
$limits{'like_with_column'} = 1;
$limits{'lock_tables'} = 0; # in ATIS gives this a problem
+ $limits{'max_column_name'} = 128;
+ $limits{'max_columns'} = 1000; # 500 crashes pg 6.3
+ $limits{'max_conditions'} = 9999; # This makes Pg real slow
+ $limits{'max_index'} = 64; # Big enough
+ $limits{'max_index_parts'} = 16;
+ $limits{'max_tables'} = 5000; # 10000 crashes pg 7.0.2
+ $limits{'max_text_size'} = 65000; # Good enough for test
$limits{'multi_drop'} = 1;
$limits{'order_by_position'} = 1;
+ $limits{'order_by_unused'} = 1;
+ $limits{'query_size'} = 16777216;
$limits{'select_without_from'}= 1;
$limits{'subqueries'} = 1;
$limits{'table_wildcard'} = 1;
- $limits{'max_column_name'} = 32; # Is this true
- $limits{'max_columns'} = 1000; # 500 crashes pg 6.3
- $limits{'max_tables'} = 5000; # 10000 crashes pg 7.0.2
- $limits{'max_conditions'} = 30; # This makes Pg real slow
- $limits{'max_index'} = 64; # Is this true ?
- $limits{'max_index_parts'} = 16; # Is this true ?
- $limits{'max_text_size'} = 7000; # 8000 crashes pg 6.3
- $limits{'query_size'} = 16777216;
$limits{'unique_index'} = 1; # Unique index works or not
- $limits{'insert_select'} = 1;
- $limits{'working_blobs'} = 1; # If big varchar/blobs works
- $limits{'order_by_unused'} = 1;
$limits{'working_all_fields'} = 1;
+ $limits{'working_blobs'} = 1; # If big varchar/blobs works
# the different cases per query ...
$smds{'q1'} = 'b'; # with time
@@ -640,7 +636,7 @@ sub new
sub version
{
my ($version,$dir);
- foreach $dir ($ENV{'PGDATA'},"/usr/local/pgsql/data", "/my/local/pgsql/")
+ foreach $dir ($ENV{'PGDATA'},"/usr/local/pgsql/data", "/usr/local/pg/data")
{
if ($dir && -e "$dir/PG_VERSION")
{
diff --git a/sql-bench/test-connect.sh b/sql-bench/test-connect.sh
index cddb32e2775..862161e3a03 100644
--- a/sql-bench/test-connect.sh
+++ b/sql-bench/test-connect.sh
@@ -266,7 +266,7 @@ for ($i=0 ; $i < $opt_loop_count ; $i++)
}
$end_time=new Benchmark;
-print "Time to select_big ($opt_loop_count): " .
+print "Time to select_big_str ($opt_loop_count): " .
timestr(timediff($end_time, $loop_time),"all") . "\n\n";
$sth = $dbh->do("drop table bench1" . $server->{'drop_attr'})