Fixed bug in 'drop table'
Portability fixes sql-bench/bench-init.pl.sh: Change mode to -rw-rw-r-- sql-bench/compare-results.sh: Change mode to -rw-rw-r-- sql-bench/run-all-tests.sh: Change mode to -rw-rw-r-- sql-bench/test-ATIS.sh: Change mode to -rw-rw-r-- sql-bench/test-alter-table.sh: Change mode to -rw-rw-r-- sql-bench/test-big-tables.sh: Change mode to -rw-rw-r-- sql-bench/test-connect.sh: Change mode to -rw-rw-r-- sql-bench/test-create.sh: Change mode to -rw-rw-r-- sql-bench/test-select.sh: Change mode to -rw-rw-r-- sql-bench/test-wisconsin.sh: Change mode to -rw-rw-r-- Docs/manual.texi: Added documentation for perror myisam/mi_check.c: Portability fix mysql-test/chew_on_this/select.res: ***MISSING WEAVE*** scripts/mysqlhotcopy.sh: Added --noindices sql-bench/Results/ATIS-mysql-Linux_2.2.13_SMP_alpha: New benchmark results sql-bench/Results/RUN-mysql-Linux_2.2.13_SMP_alpha: New benchmark results sql-bench/Results/alter-table-mysql-Linux_2.2.13_SMP_alpha: New benchmark results sql-bench/Results/big-tables-mysql-Linux_2.2.13_SMP_alpha: New benchmark results sql-bench/Results/connect-mysql-Linux_2.2.13_SMP_alpha: New benchmark results sql-bench/Results/create-mysql-Linux_2.2.13_SMP_alpha: New benchmark results sql-bench/Results/insert-mysql-Linux_2.2.13_SMP_alpha: New benchmark results sql-bench/Results/select-mysql-Linux_2.2.13_SMP_alpha: New benchmark results sql-bench/Results/wisconsin-mysql-Linux_2.2.13_SMP_alpha: New benchmark results sql-bench/copy-db.sh: Changed multi_value_insert -> insert_multi_value sql-bench/crash-me.sh: Changed multi_value_insert -> insert_multi_value sql-bench/limits/Adabas.cfg: Changed multi_value_insert -> insert_multi_value sql-bench/limits/access.cfg: Changed multi_value_insert -> insert_multi_value sql-bench/limits/access_odbc.cfg: Changed multi_value_insert -> insert_multi_value sql-bench/limits/frontbase.cfg: Changed multi_value_insert -> insert_multi_value sql-bench/limits/interbase.cfg: Changed multi_value_insert -> insert_multi_value sql-bench/limits/mimer.cfg: Changed multi_value_insert -> insert_multi_value sql-bench/limits/ms-sql.cfg: Changed multi_value_insert -> insert_multi_value sql-bench/limits/msql.cfg: Changed multi_value_insert -> insert_multi_value sql-bench/limits/mysql-3.22.cfg: Changed multi_value_insert -> insert_multi_value sql-bench/limits/mysql-3.23.cfg: Changed multi_value_insert -> insert_multi_value sql-bench/limits/mysql.cfg: Changed multi_value_insert -> insert_multi_value sql-bench/limits/oracle.cfg: Changed multi_value_insert -> insert_multi_value sql-bench/limits/pg.cfg: Changed multi_value_insert -> insert_multi_value sql-bench/print-limit-table: Better groups sql-bench/server-cfg.sh: Changed multi_value_insert -> insert_multi_value sql-bench/test-insert.sh: Changed multi_value_insert -> insert_multi_value sql/ha_myisam.cc: Added warning of number of rows changed in optimize sql/mysqlbinlog.cc: Portability fix sql/mysqld.cc: Changed mysqld to take less stack and safer shutdown sql/share/swedish/errmsg.OLD: update sql/sql_base.cc: Fixed 'drop table' bug sql/sql_parse.cc: Fixed bug in 'TRUNCATE' sql/sql_show.cc: Don't lock keycache when you do 'show variables'
This commit is contained in:
parent
2c660371c9
commit
2c036ff7b9
@ -27761,6 +27761,7 @@ How big a @code{VARCHAR} column can be
|
||||
* mysqldump:: Dumping the structure and data from @strong{MySQL} databases and tables
|
||||
* mysqlimport:: Importing data from text files
|
||||
* mysqlshow:: Showing databases, tables and columns
|
||||
* perror:: Displaying error messages
|
||||
* myisampack:: The @strong{MySQL} compressed read-only table generator
|
||||
@end menu
|
||||
|
||||
@ -28559,7 +28560,7 @@ mysqldump --all-databases > all_databases.sql
|
||||
@cindex files, text
|
||||
@cindex text files, importing
|
||||
@cindex @code{mysqlimport}
|
||||
@node mysqlimport, mysqlshow, mysqldump, Tools
|
||||
@node mysqlimport, perror, mysqldump, Tools
|
||||
@section Importing Data from Text Files
|
||||
|
||||
@code{mysqlimport} provides a command-line interface to the @code{LOAD DATA
|
||||
@ -28696,12 +28697,34 @@ $ mysql -e 'SELECT * FROM imptest' test
|
||||
+------+---------------+
|
||||
@end example
|
||||
|
||||
@cindex error messages, displaying
|
||||
@cindex perror
|
||||
@node perror, mysqlshow, mysqlimport, Tools
|
||||
@section Converting an error code to the corresponding error message
|
||||
|
||||
@code{perror} can be used to print error message(s). @code{perror} can
|
||||
be invoked like this:
|
||||
|
||||
@example
|
||||
shell> perror [OPTIONS] [ERRORCODE [ERRORCODE...]]
|
||||
|
||||
For example:
|
||||
|
||||
shell> perror 64 79
|
||||
Error code 64: Machine is not on the network
|
||||
Error code 79: Can not access a needed shared library
|
||||
@end example
|
||||
|
||||
@code{perror} can be used to display a description for a system error
|
||||
code, or an MyISAM/ISAM table handler error code. The error messages
|
||||
are mostly system dependent.
|
||||
|
||||
@cindex databases, displaying
|
||||
@cindex displaying, database information
|
||||
@cindex tables, displaying
|
||||
@cindex columns, displaying
|
||||
@cindex showing, database information
|
||||
@node mysqlshow, myisampack, mysqlimport, Tools
|
||||
@node mysqlshow, myisampack, perror, Tools
|
||||
@section Showing Databases, Tables, and Columns
|
||||
|
||||
@code{mysqlshow} can be used to quickly look at which databases exist,
|
||||
@ -32091,6 +32114,14 @@ tmpdir=C:/temp
|
||||
|
||||
assuming that the @file{c:\\temp} directory exists. @xref{Option files}.
|
||||
|
||||
Check also the error code that you get with @code{perror}. One reason
|
||||
may also be a disk full error;
|
||||
|
||||
@example
|
||||
shell >perror 28
|
||||
Error code 28: No space left on device
|
||||
@end example
|
||||
|
||||
@cindex commands out of sync
|
||||
@node Commands out of sync, Ignoring user, Cannot create, Common errors
|
||||
@subsection @code{Commands out of sync} error in client
|
||||
@ -38932,10 +38963,12 @@ though, so Version 3.23 is not released as a stable version yet.
|
||||
Automatically remove Berkeley DB transaction logs that are no longer in
|
||||
use.
|
||||
@item
|
||||
Added a warning if number of rows changes on @code{REPAIR}/@code{OPTIMIZE}.
|
||||
@item
|
||||
Applied patches for OS2 by @code{Yuri Dario}.
|
||||
@item
|
||||
@code{FLUSH TABLES table_name} didn't always flush table properly to
|
||||
disk; One some cases the index tree wasn't completely written to disk.
|
||||
@code{FLUSH TABLES table_name} didn't always flush the index tree
|
||||
properly to disk.
|
||||
@item
|
||||
@code{--bootstrap} is now run in a separate thread. This fixes the problem
|
||||
that @code{mysql_install_db} core dumped on some Linux machines.
|
||||
|
@ -108,7 +108,7 @@ int chk_status(MI_CHECK *param, register MI_INFO *info)
|
||||
else if (mi_is_crashed(info))
|
||||
mi_check_print_warning(param,
|
||||
"Table is marked as crashed");
|
||||
if (share->state.open_count != (info->s->global_changed ? 1 : 0))
|
||||
if (share->state.open_count != (uint) (info->s->global_changed ? 1 : 0))
|
||||
{
|
||||
mi_check_print_warning(param,
|
||||
"%d clients is using or hasn't closed the table properly",
|
||||
|
@ -36,7 +36,8 @@ WARNING: THIS IS VERY MUCH A FIRST-CUT ALPHA. Comments/patches welcome.
|
||||
|
||||
# Documentation continued at end of file
|
||||
|
||||
my $VERSION = "1.8";
|
||||
my $VERSION = "1.9";
|
||||
my $opt_tmpdir= $main::env{TMPDIR};
|
||||
|
||||
my $OPTIONS = <<"_OPTIONS";
|
||||
|
||||
@ -50,7 +51,7 @@ Usage: $0 db_name [new_db_name | directory]
|
||||
|
||||
--allowold don't abort if target already exists (rename it _old)
|
||||
--keepold don't delete previous (now renamed) target when done
|
||||
--indices include index files in copy
|
||||
--noindices don't include full index files in copy
|
||||
--method=# method for copy (only "cp" currently supported)
|
||||
|
||||
-q, --quiet be silent except for errors
|
||||
@ -61,6 +62,7 @@ Usage: $0 db_name [new_db_name | directory]
|
||||
--suffix=# suffix for names of copied databases
|
||||
--checkpoint=# insert checkpoint entry into specified db.table
|
||||
--flushlog flush logs once all tables are locked
|
||||
--tmpdir=# temporary directory (instead of $opt_tmpdir)
|
||||
|
||||
Try 'perldoc $0 for more complete documentation'
|
||||
_OPTIONS
|
||||
@ -71,7 +73,7 @@ sub usage {
|
||||
|
||||
my %opt = (
|
||||
user => getpwuid($>),
|
||||
indices => 1, # for safety
|
||||
noindices => 0,
|
||||
allowold => 0, # for safety
|
||||
keepold => 0,
|
||||
method => "cp",
|
||||
@ -86,7 +88,7 @@ GetOptions( \%opt,
|
||||
"socket|S=s",
|
||||
"allowold!",
|
||||
"keepold!",
|
||||
"indices!",
|
||||
"noindices!",
|
||||
"method=s",
|
||||
"debug",
|
||||
"quiet|q",
|
||||
@ -95,6 +97,7 @@ GetOptions( \%opt,
|
||||
"suffix=s",
|
||||
"checkpoint=s",
|
||||
"flushlog",
|
||||
"tmpdir|t=s",
|
||||
"dryrun|n",
|
||||
) or usage("Invalid option");
|
||||
|
||||
@ -133,6 +136,7 @@ else {
|
||||
my $mysqld_help;
|
||||
my %mysqld_vars;
|
||||
my $start_time = time;
|
||||
my $opt_tmpdir= $opt{tempdir} ? $opt{tmpdir} : $main::env{TMPDIR};
|
||||
$0 = $1 if $0 =~ m:/([^/]+)$:;
|
||||
$opt{quiet} = 0 if $opt{debug};
|
||||
$opt{allowold} = 1 if $opt{keepold};
|
||||
@ -238,13 +242,16 @@ foreach my $rdb ( @db_desc ) {
|
||||
my @db_files = sort ( $negated
|
||||
? grep { $db_files{$_} !~ $t_regex } keys %db_files
|
||||
: grep { $db_files{$_} =~ $t_regex } keys %db_files );
|
||||
my @index_files=();
|
||||
|
||||
## remove indices unless we're told to keep them
|
||||
unless ($opt{indices}) {
|
||||
if ($opt{noindices}) {
|
||||
@index_files= grep { /\.(ISM|MYI)$/ } @db_files;
|
||||
@db_files = grep { not /\.(ISM|MYI)$/ } @db_files;
|
||||
}
|
||||
|
||||
$rdb->{files} = [ @db_files ];
|
||||
$rdb->{index} = [ @index_files ];
|
||||
my @hc_tables = map { "$db.$_" } @dbh_tables;
|
||||
$rdb->{tables} = [ @hc_tables ];
|
||||
|
||||
@ -369,27 +376,78 @@ else {
|
||||
|
||||
my @failed = ();
|
||||
|
||||
foreach my $rdb ( @db_desc ) {
|
||||
my @files = map { "$datadir/$rdb->{src}/$_" } @{$rdb->{files}};
|
||||
next unless @files;
|
||||
eval { copy_files($opt{method}, \@files, $rdb->{target} ); };
|
||||
foreach my $rdb ( @db_desc )
|
||||
{
|
||||
my @files = map { "$datadir/$rdb->{src}/$_" } @{$rdb->{files}};
|
||||
next unless @files;
|
||||
|
||||
eval { copy_files($opt{method}, \@files, $rdb->{target} ); };
|
||||
push @failed, "$rdb->{src} -> $rdb->{target} failed: $@"
|
||||
if ( $@ );
|
||||
|
||||
@files = map { "$datadir/$rdb->{src}/$_" } @{$rdb->{index}};
|
||||
if ($rdb->{index})
|
||||
{
|
||||
#
|
||||
# Copy only the header of the index file
|
||||
#
|
||||
|
||||
push @failed, "$rdb->{src} -> $rdb->{target} failed: $@"
|
||||
if ( $@ );
|
||||
my $tmpfile="$opt_tmpdir/mysqlhotcopy$$";
|
||||
foreach my $file ($rdb->{index})
|
||||
{
|
||||
my $from="$datadir/$rdb->{src}/$file";
|
||||
my $to="$rdb->{target}/$file";
|
||||
my $buff;
|
||||
open(INPUT, $from) || die "Can't open file $from: $!\n";
|
||||
my $length=read INPUT, $buff, 2048;
|
||||
die "Can't read index header from $from\n" if ($length <= 1024);
|
||||
close INPUT;
|
||||
|
||||
if ( $opt{checkpoint} ) {
|
||||
my $msg = ( $@ ) ? "Failed: $@" : "Succeeded";
|
||||
|
||||
eval {
|
||||
$dbh->do( qq{ insert into $opt{checkpoint} (src, dest, msg)
|
||||
VALUES ( '$rdb->{src}', '$rdb->{target}', '$msg' )
|
||||
} );
|
||||
};
|
||||
|
||||
if ( $@ ) {
|
||||
warn "Failed to update checkpoint table: $@\n";
|
||||
}
|
||||
if ( $opt{dryrun} )
|
||||
{
|
||||
print '$opt{method}-header $from $to\n';
|
||||
}
|
||||
elsif ($opt{method} eq 'cp')
|
||||
{
|
||||
!open(OUTPUT,$to) || die "Can\'t create file $to: $!\n";
|
||||
if (write(OUTPUT,$buff) != length($buff))
|
||||
{
|
||||
die "Error when writing data to $to: $!\n";
|
||||
}
|
||||
close OUTPUT || die "Error on close of $to: $!\n";
|
||||
}
|
||||
elsif ($opt{method} eq 'scp')
|
||||
{
|
||||
my $tmp=$tmpfile;
|
||||
open(OUTPUT,"$tmp") || die "Can\'t create file $tmp: $!\n";
|
||||
if (write(OUTPUT,$buff) != length($buff))
|
||||
{
|
||||
die "Error when writing data to $tmp: $!\n";
|
||||
}
|
||||
close OUTPUT || die "Error on close of $tmp: $!\n";
|
||||
safe_system('scp $tmp $to');
|
||||
}
|
||||
else
|
||||
{
|
||||
die "Can't use unsupported method '$opt{method}'\n";
|
||||
}
|
||||
}
|
||||
unlink "$opt_tmpdir/mysqlhotcopy$$";
|
||||
}
|
||||
|
||||
if ( $opt{checkpoint} ) {
|
||||
my $msg = ( $@ ) ? "Failed: $@" : "Succeeded";
|
||||
|
||||
eval {
|
||||
$dbh->do( qq{ insert into $opt{checkpoint} (src, dest, msg)
|
||||
VALUES ( '$rdb->{src}', '$rdb->{target}', '$msg' )
|
||||
} );
|
||||
};
|
||||
|
||||
if ( $@ ) {
|
||||
warn "Failed to update checkpoint table: $@\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( $opt{dryrun} ) {
|
||||
@ -469,25 +527,34 @@ sub copy_files {
|
||||
# add files to copy and the destination directory
|
||||
push @cmd, @$files, $target;
|
||||
}
|
||||
else {
|
||||
else
|
||||
{
|
||||
die "Can't use unsupported method '$method'\n";
|
||||
}
|
||||
|
||||
if ( $opt{dryrun} ) {
|
||||
print "@cmd\n";
|
||||
next;
|
||||
}
|
||||
|
||||
## for some reason system fails but backticks works ok for scp...
|
||||
print "Executing '@cmd'\n" if $opt{debug};
|
||||
my $cp_status = system @cmd;
|
||||
if ($cp_status != 0) {
|
||||
warn "Burp ('scuse me). Trying backtick execution...\n" if $opt{debug}; #'
|
||||
## try something else
|
||||
`@cmd` && die "Error: @cmd failed ($cp_status) while copying files.\n";
|
||||
}
|
||||
safe_system (@cmd);
|
||||
}
|
||||
|
||||
sub safe_system
|
||||
{
|
||||
my @cmd=shift;
|
||||
|
||||
if ( $opt{dryrun} )
|
||||
{
|
||||
print "@cmd\n";
|
||||
return;
|
||||
}
|
||||
|
||||
## for some reason system fails but backticks works ok for scp...
|
||||
print "Executing '@cmd'\n" if $opt{debug};
|
||||
my $cp_status = system @cmd;
|
||||
if ($cp_status != 0) {
|
||||
warn "Burp ('scuse me). Trying backtick execution...\n" if $opt{debug}; #'
|
||||
## try something else
|
||||
`@cmd` && die "Error: @cmd failed ($cp_status) while copying files.\n";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
sub retire_directory {
|
||||
my ( @dir ) = @_;
|
||||
|
||||
@ -611,9 +678,9 @@ port to use when connecting to local server
|
||||
|
||||
UNIX domain socket to use when connecting to local server
|
||||
|
||||
=item --indices
|
||||
=item --noindices
|
||||
|
||||
include index files in copy
|
||||
don't include index files in copy
|
||||
|
||||
=item --method=#
|
||||
|
||||
@ -677,9 +744,6 @@ Add support for other copy methods (eg tar to single file?).
|
||||
|
||||
Add support for forthcoming MySQL ``RAID'' table subdirectory layouts.
|
||||
|
||||
Add option to only copy the first 65KB of index files. That simplifies
|
||||
recovery (recovery with no index file at all is complicated).
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Tim Bunce
|
||||
@ -689,3 +753,5 @@ Martin Waite - added checkpoint, flushlog, regexp and dryrun options
|
||||
Ralph Corderoy - added synonyms for commands
|
||||
|
||||
Scott Wiersdorf - added table regex and scp support
|
||||
|
||||
Monty - working --noindex (copy only first 2048 bytes of index file)
|
||||
|
@ -1,4 +1,4 @@
|
||||
Testing server 'MySQL 3.23.28 gamma' at 2000-11-18 15:05:04
|
||||
Testing server 'MySQL 3.23.29 gamma' at 2000-11-28 17:24:55
|
||||
|
||||
ATIS table test
|
||||
|
||||
@ -6,14 +6,14 @@ 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.68 usr 0.60 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time to insert (9768): 4 wallclock secs ( 0.64 usr 0.64 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
|
||||
Retrieving data
|
||||
Time for select_simple_join (500): 2 wallclock secs ( 0.62 usr 0.39 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for select_join (200): 12 wallclock secs ( 4.31 usr 3.11 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for select_distinct (800): 11 wallclock secs ( 1.72 usr 0.95 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for select_group (2800): 10 wallclock secs ( 1.58 usr 0.66 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for select_simple_join (500): 1 wallclock secs ( 0.66 usr 0.38 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for select_join (200): 12 wallclock secs ( 4.45 usr 3.14 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for select_distinct (800): 11 wallclock secs ( 1.77 usr 0.97 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for select_group (2800): 10 wallclock secs ( 1.59 usr 0.65 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
|
||||
Removing tables
|
||||
Time to drop_table (28): 0 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Total time: 38 wallclock secs ( 8.93 usr 5.72 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Total time: 38 wallclock secs ( 9.13 usr 5.79 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
|
@ -1,92 +1,92 @@
|
||||
Benchmark DBD suite: 2.9
|
||||
Date of test: 2000-11-18 18:20:34
|
||||
Benchmark DBD suite: 2.10
|
||||
Date of test: 2000-11-28 17:24:55
|
||||
Running tests on: Linux 2.2.13-SMP alpha
|
||||
Arguments:
|
||||
Comments: Alpha DS20 2x500 MHz, 2G memory, key_buffer=16M; gcc 2.95.2 + ccc
|
||||
Limits from:
|
||||
Server version: MySQL 3.23.28 gamma
|
||||
Server version: MySQL 3.23.29 gamma
|
||||
|
||||
ATIS: Total time: 38 wallclock secs ( 8.93 usr 5.72 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
alter-table: Total time: 375 wallclock secs ( 0.30 usr 0.15 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
big-tables: Total time: 42 wallclock secs ( 9.09 usr 11.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
connect: Total time: 77 wallclock secs (34.21 usr 17.98 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
create: Total time: 134 wallclock secs (10.66 usr 4.31 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
insert: Total time: 1851 wallclock secs (450.58 usr 224.15 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
select: Total time: 1215 wallclock secs (57.43 usr 28.03 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
wisconsin: Total time: 19 wallclock secs ( 3.77 usr 2.78 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
ATIS: Total time: 38 wallclock secs ( 9.13 usr 5.79 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
alter-table: Total time: 391 wallclock secs ( 0.31 usr 0.17 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
big-tables: Total time: 41 wallclock secs ( 8.35 usr 10.24 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
connect: Total time: 76 wallclock secs (31.66 usr 19.05 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
create: Total time: 133 wallclock secs (10.24 usr 4.48 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
insert: Total time: 1821 wallclock secs (430.65 usr 226.65 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
select: Total time: 1170 wallclock secs (57.76 usr 27.85 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
wisconsin: Total time: 18 wallclock secs ( 3.70 usr 2.82 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 205.00 0.17 0.07 0.00 992
|
||||
alter_table_drop 161.00 0.07 0.03 0.00 496
|
||||
connect 14.00 8.15 2.36 0.00 10000
|
||||
connect+select_1_row 17.00 8.55 3.39 0.00 10000
|
||||
connect+select_simple 16.00 8.31 3.17 0.00 10000
|
||||
count 49.00 0.03 0.01 0.00 100
|
||||
count_distinct 86.00 0.71 0.21 0.00 2000
|
||||
count_distinct_big 140.00 7.24 8.69 0.00 120
|
||||
count_distinct_group 72.00 1.07 0.63 0.00 1000
|
||||
count_distinct_group_on_key 42.00 0.45 0.15 0.00 1000
|
||||
count_distinct_group_on_key_parts 72.00 1.08 0.62 0.00 1000
|
||||
count_group_on_key_parts 39.00 0.99 0.61 0.00 1000
|
||||
count_on_key 454.00 15.83 4.45 0.00 50100
|
||||
create+drop 13.00 2.86 0.85 0.00 10000
|
||||
create_MANY_tables 91.00 1.85 0.61 0.00 10000
|
||||
alter_table_add 213.00 0.17 0.07 0.00 992
|
||||
alter_table_drop 170.00 0.07 0.03 0.00 496
|
||||
connect 14.00 7.49 2.43 0.00 10000
|
||||
connect+select_1_row 17.00 7.59 3.33 0.00 10000
|
||||
connect+select_simple 15.00 7.61 3.24 0.00 10000
|
||||
count 48.00 0.03 0.01 0.00 100
|
||||
count_distinct 92.00 0.69 0.21 0.00 2000
|
||||
count_distinct_big 135.00 7.24 8.53 0.00 120
|
||||
count_distinct_group 64.00 1.06 0.66 0.00 1000
|
||||
count_distinct_group_on_key 42.00 0.43 0.14 0.00 1000
|
||||
count_distinct_group_on_key_parts 63.00 1.10 0.62 0.00 1000
|
||||
count_group_on_key_parts 40.00 1.00 0.61 0.00 1000
|
||||
count_on_key 428.00 15.76 4.53 0.00 50100
|
||||
create+drop 13.00 2.68 1.04 0.00 10000
|
||||
create_MANY_tables 90.00 1.79 0.64 0.00 10000
|
||||
create_index 4.00 0.00 0.00 0.00 8
|
||||
create_key+drop 17.00 4.39 1.33 0.00 10000
|
||||
create_key+drop 17.00 4.18 1.32 0.00 10000
|
||||
create_table 0.00 0.00 0.00 0.00 31
|
||||
delete_all 11.00 0.00 0.00 0.00 12
|
||||
delete_all_many_keys 49.00 0.01 0.01 0.00 1
|
||||
delete_all_many_keys 49.00 0.02 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 4.00 0.65 0.54 0.00 10000
|
||||
delete_big_many_keys 49.00 0.02 0.01 0.00 128
|
||||
delete_key 4.00 0.66 0.53 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.63 0.62 0.00 10000
|
||||
insert 137.00 26.71 20.07 0.00 350768
|
||||
insert_duplicates 39.00 5.58 6.03 0.00 100000
|
||||
insert_key 93.00 8.08 5.73 0.00 100000
|
||||
insert_many_fields 14.00 0.34 0.16 0.00 2000
|
||||
insert_select_1_key 4.00 0.00 0.00 0.00 1
|
||||
insert_select_2_keys 7.00 0.00 0.00 0.00 1
|
||||
min_max 21.00 0.02 0.00 0.00 60
|
||||
min_max_on_key 186.00 25.42 7.61 0.00 85000
|
||||
multiple_value_insert 7.00 2.19 0.05 0.00 100000
|
||||
order_by_big 54.00 22.86 21.67 0.00 10
|
||||
order_by_big_key 37.00 22.01 14.79 0.00 10
|
||||
order_by_big_key2 37.00 22.02 14.86 0.00 10
|
||||
order_by_big_key_desc 37.00 22.03 14.87 0.00 10
|
||||
order_by_big_key_diff 52.00 23.11 21.71 0.00 10
|
||||
order_by_key 3.00 1.17 0.64 0.00 500
|
||||
order_by_key2_diff 5.00 2.05 1.25 0.00 500
|
||||
order_by_range 5.00 1.17 0.65 0.00 500
|
||||
outer_join 61.00 0.01 0.00 0.00 10
|
||||
outer_join_found 55.00 0.00 0.00 0.00 10
|
||||
outer_join_not_found 35.00 0.01 0.00 0.00 500
|
||||
outer_join_on_key 40.00 0.00 0.00 0.00 10
|
||||
select_1_row 3.00 0.41 1.01 0.00 10000
|
||||
select_2_rows 3.00 0.38 0.89 0.00 10000
|
||||
select_big 57.00 30.30 20.70 0.00 10080
|
||||
select_column+column 3.00 0.27 0.75 0.00 10000
|
||||
select_diff_key 154.00 0.23 0.06 0.00 500
|
||||
select_distinct 11.00 1.72 0.95 0.00 800
|
||||
select_group 52.00 1.62 0.67 0.00 2911
|
||||
select_group_when_MANY_tables 6.00 0.92 0.90 0.00 10000
|
||||
select_join 12.00 4.31 3.11 0.00 200
|
||||
select_key 137.00 75.62 20.87 0.00 200000
|
||||
select_key2 144.00 76.78 20.52 0.00 200000
|
||||
select_key_prefix 144.00 76.89 20.33 0.00 200000
|
||||
select_many_fields 28.00 8.73 10.85 0.00 2000
|
||||
select_range 228.00 8.51 5.59 0.00 410
|
||||
select_range_key2 20.00 6.50 2.29 0.00 25010
|
||||
select_range_prefix 18.00 6.46 2.33 0.00 25010
|
||||
select_simple 2.00 0.29 0.75 0.00 10000
|
||||
select_simple_join 2.00 0.62 0.39 0.00 500
|
||||
update_big 25.00 0.00 0.00 0.00 10
|
||||
update_of_key 47.00 3.41 2.97 0.00 50256
|
||||
update_of_key_big 18.00 0.04 0.04 0.00 501
|
||||
update_with_key 134.00 21.08 18.70 0.00 300000
|
||||
wisc_benchmark 4.00 1.92 0.94 0.00 114
|
||||
TOTALS 3797.00 574.84 294.06 0.00 1946237
|
||||
drop_table_when_MANY_tables 7.00 0.62 0.61 0.00 10000
|
||||
insert 137.00 24.96 21.11 0.00 350768
|
||||
insert_duplicates 38.00 5.63 6.17 0.00 100000
|
||||
insert_key 94.00 7.67 5.66 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 6.00 0.00 0.00 0.00 1
|
||||
min_max 20.00 0.02 0.00 0.00 60
|
||||
min_max_on_key 175.00 25.68 7.59 0.00 85000
|
||||
multiple_value_insert 7.00 2.15 0.05 0.00 100000
|
||||
order_by_big 54.00 22.33 21.66 0.00 10
|
||||
order_by_big_key 36.00 21.23 14.75 0.00 10
|
||||
order_by_big_key2 37.00 21.94 15.04 0.00 10
|
||||
order_by_big_key_desc 37.00 21.53 14.74 0.00 10
|
||||
order_by_big_key_diff 51.00 22.21 21.67 0.00 10
|
||||
order_by_key 2.00 1.14 0.63 0.00 500
|
||||
order_by_key2_diff 5.00 1.99 1.23 0.00 500
|
||||
order_by_range 5.00 1.14 0.64 0.00 500
|
||||
outer_join 57.00 0.00 0.00 0.00 10
|
||||
outer_join_found 52.00 0.00 0.00 0.00 10
|
||||
outer_join_not_found 34.00 0.00 0.00 0.00 500
|
||||
outer_join_on_key 38.00 0.01 0.00 0.00 10
|
||||
select_1_row 2.00 0.35 0.95 0.00 10000
|
||||
select_2_rows 3.00 0.34 1.00 0.00 10000
|
||||
select_big 56.00 28.86 21.57 0.00 10080
|
||||
select_column+column 3.00 0.26 0.67 0.00 10000
|
||||
select_diff_key 148.00 0.21 0.05 0.00 500
|
||||
select_distinct 11.00 1.77 0.97 0.00 800
|
||||
select_group 49.00 1.63 0.66 0.00 2911
|
||||
select_group_when_MANY_tables 6.00 0.96 0.87 0.00 10000
|
||||
select_join 12.00 4.45 3.14 0.00 200
|
||||
select_key 137.00 73.10 21.05 0.00 200000
|
||||
select_key2 142.00 72.16 21.15 0.00 200000
|
||||
select_key_prefix 143.00 72.60 21.07 0.00 200000
|
||||
select_many_fields 26.00 7.99 10.11 0.00 2000
|
||||
select_range 229.00 8.56 5.62 0.00 410
|
||||
select_range_key2 19.00 6.47 2.33 0.00 25010
|
||||
select_range_prefix 20.00 6.51 2.25 0.00 25010
|
||||
select_simple 2.00 0.28 0.77 0.00 10000
|
||||
select_simple_join 1.00 0.66 0.38 0.00 500
|
||||
update_big 27.00 0.00 0.00 0.00 10
|
||||
update_of_key 48.00 3.45 3.04 0.00 50256
|
||||
update_of_key_big 18.00 0.04 0.03 0.00 501
|
||||
update_with_key 134.00 18.92 18.69 0.00 300000
|
||||
wisc_benchmark 4.00 1.88 0.93 0.00 114
|
||||
TOTALS 3733.00 551.64 296.93 0.00 1946237
|
||||
|
@ -1,16 +1,16 @@
|
||||
Testing server 'MySQL 3.23.28 gamma' at 2000-11-18 15:05:42
|
||||
Testing server 'MySQL 3.23.29 gamma' at 2000-11-28 17:25:34
|
||||
|
||||
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.04 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for insert (1000) 0 wallclock secs ( 0.06 usr 0.06 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
|
||||
Time for alter_table_add (992): 205 wallclock secs ( 0.17 usr 0.07 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for alter_table_add (992): 213 wallclock secs ( 0.17 usr 0.07 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): 161 wallclock secs ( 0.07 usr 0.03 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for alter_table_drop (496): 170 wallclock secs ( 0.07 usr 0.03 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
|
||||
Total time: 375 wallclock secs ( 0.30 usr 0.15 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Total time: 391 wallclock secs ( 0.31 usr 0.17 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
|
@ -1,19 +1,19 @@
|
||||
Testing server 'MySQL 3.23.28 gamma' at 2000-11-18 15:11:57
|
||||
Testing server 'MySQL 3.23.29 gamma' at 2000-11-28 17:32:05
|
||||
|
||||
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): 12 wallclock secs ( 4.18 usr 5.43 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time to select_many_fields(1000): 10 wallclock secs ( 3.93 usr 5.07 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.55 usr 5.42 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time to select_many_fields(1000): 16 wallclock secs ( 4.06 usr 5.04 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
|
||||
Testing insert VALUES()
|
||||
Time to insert_many_fields(1000): 5 wallclock secs ( 0.30 usr 0.08 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time to insert_many_fields(1000): 5 wallclock secs ( 0.33 usr 0.07 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.04 usr 0.08 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time to insert_many_fields(1000): 9 wallclock secs ( 0.02 usr 0.05 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
|
||||
Total time: 42 wallclock secs ( 9.09 usr 11.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Total time: 41 wallclock secs ( 8.35 usr 10.24 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
|
@ -1,30 +1,30 @@
|
||||
Testing server 'MySQL 3.23.28 gamma' at 2000-11-18 15:12:39
|
||||
Testing server 'MySQL 3.23.29 gamma' at 2000-11-28 17:32:46
|
||||
|
||||
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 ( 8.15 usr 2.36 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time to connect (10000): 14 wallclock secs ( 7.49 usr 2.43 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.31 usr 3.17 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for connect+select_simple (10000): 15 wallclock secs ( 7.61 usr 3.24 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
|
||||
Test simple select
|
||||
Time for select_simple (10000): 2 wallclock secs ( 0.29 usr 0.75 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for select_simple (10000): 2 wallclock secs ( 0.28 usr 0.77 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
|
||||
Testing connect/select 1 row from table/disconnect
|
||||
Time to connect+select_1_row (10000): 17 wallclock secs ( 8.55 usr 3.39 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time to connect+select_1_row (10000): 17 wallclock secs ( 7.59 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): 3 wallclock secs ( 0.41 usr 1.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time to select_1_row (10000): 2 wallclock secs ( 0.35 usr 0.95 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.38 usr 0.89 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time to select_2_rows (10000): 3 wallclock secs ( 0.34 usr 1.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
|
||||
Test select with aritmetic (+)
|
||||
Time for select_column+column (10000): 3 wallclock secs ( 0.27 usr 0.75 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for select_column+column (10000): 3 wallclock secs ( 0.26 usr 0.67 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.84 usr 5.67 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time to select_big (10000): 20 wallclock secs ( 7.74 usr 6.67 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
|
||||
Total time: 77 wallclock secs (34.21 usr 17.98 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Total time: 76 wallclock secs (31.66 usr 19.05 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
|
@ -1,18 +1,18 @@
|
||||
Testing server 'MySQL 3.23.28 gamma' at 2000-11-18 15:13:56
|
||||
Testing server 'MySQL 3.23.29 gamma' at 2000-11-28 17:34:02
|
||||
|
||||
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): 91 wallclock secs ( 1.85 usr 0.61 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for create_MANY_tables (10000): 90 wallclock secs ( 1.79 usr 0.64 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
|
||||
Accessing tables
|
||||
Time to select_group_when_MANY_tables (10000): 6 wallclock secs ( 0.92 usr 0.90 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time to select_group_when_MANY_tables (10000): 6 wallclock secs ( 0.96 usr 0.87 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
|
||||
Testing drop
|
||||
Time for drop_table_when_MANY_tables (10000): 7 wallclock secs ( 0.63 usr 0.62 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for drop_table_when_MANY_tables (10000): 7 wallclock secs ( 0.62 usr 0.61 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
|
||||
Testing create+drop
|
||||
Time for create+drop (10000): 13 wallclock secs ( 2.86 usr 0.85 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for create_key+drop (10000): 17 wallclock secs ( 4.39 usr 1.33 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Total time: 134 wallclock secs (10.66 usr 4.31 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for create+drop (10000): 13 wallclock secs ( 2.68 usr 1.04 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for create_key+drop (10000): 17 wallclock secs ( 4.18 usr 1.32 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Total time: 133 wallclock secs (10.24 usr 4.48 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
|
@ -1,4 +1,4 @@
|
||||
Testing server 'MySQL 3.23.28 gamma' at 2000-11-18 15:16:11
|
||||
Testing server 'MySQL 3.23.29 gamma' at 2000-11-28 17:36:15
|
||||
|
||||
Testing the speed of inserting data into 1 table and do some selects on it.
|
||||
The tests are done with a table that has 100000 rows.
|
||||
@ -8,78 +8,78 @@ Creating tables
|
||||
Inserting 100000 rows in order
|
||||
Inserting 100000 rows in reverse order
|
||||
Inserting 100000 rows in random order
|
||||
Time for insert (300000): 116 wallclock secs (23.42 usr 16.99 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for insert (300000): 115 wallclock secs (21.74 usr 18.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
|
||||
Testing insert of duplicates
|
||||
Time for insert_duplicates (100000): 39 wallclock secs ( 5.58 usr 6.03 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for insert_duplicates (100000): 38 wallclock secs ( 5.63 usr 6.17 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
|
||||
Retrieving data from the table
|
||||
Time for select_big (10:3000000): 37 wallclock secs (22.33 usr 14.93 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for order_by_big_key (10:3000000): 37 wallclock secs (22.01 usr 14.79 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for order_by_big_key_desc (10:3000000): 37 wallclock secs (22.03 usr 14.87 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for order_by_big_key2 (10:3000000): 37 wallclock secs (22.02 usr 14.86 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for order_by_big_key_diff (10:3000000): 52 wallclock secs (23.11 usr 21.71 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for order_by_big (10:3000000): 54 wallclock secs (22.86 usr 21.67 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for order_by_range (500:125750): 5 wallclock secs ( 1.17 usr 0.65 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for order_by_key (500:125750): 3 wallclock secs ( 1.17 usr 0.64 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for order_by_key2_diff (500:250500): 5 wallclock secs ( 2.05 usr 1.25 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for select_diff_key (500:1000): 154 wallclock secs ( 0.23 usr 0.06 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for select_range_prefix (5010:42084): 10 wallclock secs ( 2.79 usr 0.99 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for select_range_key2 (5010:42084): 11 wallclock secs ( 2.80 usr 1.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for select_key_prefix (200000): 144 wallclock secs (76.89 usr 20.33 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for select_key (200000): 137 wallclock secs (75.62 usr 20.87 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for select_key2 (200000): 144 wallclock secs (76.78 usr 20.52 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for select_big (10:3000000): 35 wallclock secs (20.98 usr 14.81 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for order_by_big_key (10:3000000): 36 wallclock secs (21.23 usr 14.75 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for order_by_big_key_desc (10:3000000): 37 wallclock secs (21.53 usr 14.74 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for order_by_big_key2 (10:3000000): 37 wallclock secs (21.94 usr 15.04 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for order_by_big_key_diff (10:3000000): 51 wallclock secs (22.21 usr 21.67 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for order_by_big (10:3000000): 54 wallclock secs (22.33 usr 21.66 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for order_by_range (500:125750): 5 wallclock secs ( 1.14 usr 0.64 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for order_by_key (500:125750): 2 wallclock secs ( 1.14 usr 0.63 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for order_by_key2_diff (500:250500): 5 wallclock secs ( 1.99 usr 1.23 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for select_diff_key (500:1000): 148 wallclock secs ( 0.21 usr 0.05 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for select_range_prefix (5010:42084): 11 wallclock secs ( 2.83 usr 0.97 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for select_range_key2 (5010:42084): 10 wallclock secs ( 2.80 usr 1.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for select_key_prefix (200000): 143 wallclock secs (72.60 usr 21.07 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for select_key (200000): 137 wallclock secs (73.10 usr 21.05 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for select_key2 (200000): 142 wallclock secs (72.16 usr 21.15 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
|
||||
Test of compares with simple ranges
|
||||
Time for select_range_prefix (20000:43500): 8 wallclock secs ( 3.67 usr 1.34 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for select_range_key2 (20000:43500): 9 wallclock secs ( 3.70 usr 1.29 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for select_group (111): 42 wallclock secs ( 0.04 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for min_max_on_key (15000): 9 wallclock secs ( 4.71 usr 1.26 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for min_max (60): 21 wallclock secs ( 0.02 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for count_on_key (100): 41 wallclock secs ( 0.04 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for count (100): 49 wallclock secs ( 0.03 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for count_distinct_big (20): 58 wallclock secs ( 0.00 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for select_range_prefix (20000:43500): 9 wallclock secs ( 3.68 usr 1.28 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for select_range_key2 (20000:43500): 9 wallclock secs ( 3.67 usr 1.33 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for select_group (111): 39 wallclock secs ( 0.04 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for min_max_on_key (15000): 9 wallclock secs ( 4.64 usr 1.33 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for min_max (60): 20 wallclock secs ( 0.02 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for count_on_key (100): 39 wallclock secs ( 0.04 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for count (100): 48 wallclock secs ( 0.03 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for count_distinct_big (20): 55 wallclock secs ( 0.01 usr 0.00 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.38 usr 2.96 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for update_of_key_big (501): 18 wallclock secs ( 0.04 usr 0.04 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for update_of_key (50000): 27 wallclock secs ( 3.43 usr 3.03 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for update_of_key_big (501): 18 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): 134 wallclock secs (21.08 usr 18.70 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for update_with_key (300000): 134 wallclock secs (18.92 usr 18.69 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
|
||||
Testing update of all rows
|
||||
Time for update_big (10): 25 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
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): 40 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.01 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for outer_join_found (10:10): 55 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): 35 wallclock secs ( 0.01 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for outer_join_on_key (10:10): 38 wallclock secs ( 0.01 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for outer_join (10:10): 57 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for outer_join_found (10:10): 52 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): 34 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): 4 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)
|
||||
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): 6 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for drop table(2): 1 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
|
||||
Testing delete
|
||||
Time for delete_key (10000): 4 wallclock secs ( 0.65 usr 0.54 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for delete_key (10000): 4 wallclock secs ( 0.66 usr 0.53 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for delete_all (12): 11 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): 93 wallclock secs ( 8.08 usr 5.73 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for insert_key (100000): 94 wallclock secs ( 7.67 usr 5.66 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
|
||||
Testing update of keys
|
||||
Time for update_of_key (256): 21 wallclock secs ( 0.03 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for update_of_key (256): 21 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)
|
||||
Time for delete_big_many_keys (128): 49 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): 49 wallclock secs ( 0.01 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for delete_all_many_keys (1): 49 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): 7 wallclock secs ( 2.19 usr 0.05 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for multiple_value_insert (100000): 7 wallclock secs ( 2.15 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: 1851 wallclock secs (450.58 usr 224.15 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Total time: 1821 wallclock secs (430.65 usr 226.65 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
|
@ -1,23 +1,23 @@
|
||||
Testing server 'MySQL 3.23.28 gamma' at 2000-11-18 17:02:47
|
||||
Testing server 'MySQL 3.23.29 gamma' at 2000-11-28 18:06:37
|
||||
|
||||
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): 3 wallclock secs ( 0.76 usr 0.64 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time to insert (10000): 4 wallclock secs ( 0.76 usr 0.58 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.13 usr 0.10 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for select_range (410:1057904): 228 wallclock secs ( 8.51 usr 5.59 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for min_max_on_key (70000): 177 wallclock secs (20.71 usr 6.35 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for count_on_key (50000): 413 wallclock secs (15.79 usr 4.45 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for select_big (70:17207): 1 wallclock secs ( 0.14 usr 0.09 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for select_range (410:1057904): 229 wallclock secs ( 8.56 usr 5.62 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for min_max_on_key (70000): 166 wallclock secs (21.04 usr 6.26 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for count_on_key (50000): 389 wallclock secs (15.72 usr 4.52 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
|
||||
Time for count_group_on_key_parts (1000:100000): 39 wallclock secs ( 0.99 usr 0.61 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for count_group_on_key_parts (1000:100000): 40 wallclock secs ( 1.00 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): 86 wallclock secs ( 0.71 usr 0.21 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for count_distinct_group_on_key (1000:6000): 42 wallclock secs ( 0.45 usr 0.15 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for count_distinct_group_on_key_parts (1000:100000): 72 wallclock secs ( 1.08 usr 0.62 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for count_distinct_group (1000:100000): 72 wallclock secs ( 1.07 usr 0.63 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for count_distinct_big (100:1000000): 82 wallclock secs ( 7.24 usr 8.68 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Total time: 1215 wallclock secs (57.43 usr 28.03 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for count_distinct (2000:2000): 92 wallclock secs ( 0.69 usr 0.21 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for count_distinct_group_on_key (1000:6000): 42 wallclock secs ( 0.43 usr 0.14 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for count_distinct_group_on_key_parts (1000:100000): 63 wallclock secs ( 1.10 usr 0.62 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for count_distinct_group (1000:100000): 64 wallclock secs ( 1.06 usr 0.66 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for count_distinct_big (100:1000000): 80 wallclock secs ( 7.23 usr 8.53 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Total time: 1170 wallclock secs (57.76 usr 27.85 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
|
@ -1,14 +1,14 @@
|
||||
Testing server 'MySQL 3.23.28 gamma' at 2000-11-18 16:16:05
|
||||
Testing server 'MySQL 3.23.29 gamma' at 2000-11-28 18:26:07
|
||||
|
||||
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): 15 wallclock secs ( 1.85 usr 1.84 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time to insert (31000): 14 wallclock secs ( 1.82 usr 1.89 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.92 usr 0.94 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Time for wisc_benchmark (114): 4 wallclock secs ( 1.88 usr 0.93 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
|
||||
Total time: 19 wallclock secs ( 3.77 usr 2.78 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
Total time: 18 wallclock secs ( 3.70 usr 2.82 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
|
||||
|
0
sql-bench/bench-init.pl.sh
Executable file → Normal file
0
sql-bench/bench-init.pl.sh
Executable file → Normal file
0
sql-bench/compare-results.sh
Executable file → Normal file
0
sql-bench/compare-results.sh
Executable file → Normal file
@ -127,7 +127,7 @@ foreach $table (@ARGV)
|
||||
|
||||
$columns=$sth->{NUM_OF_FIELDS};
|
||||
$columns_to_quote=get_columns_to_quote($sth);
|
||||
$multi_value_insert=$sth->{'multi_value_insert'};
|
||||
$insert_multi_value=$sth->{'insert_multi_value'};
|
||||
$query="insert into $table values"; $result="";
|
||||
|
||||
print "- copying $table\n" if ($opt_verbose);
|
||||
@ -146,7 +146,7 @@ foreach $table (@ARGV)
|
||||
}
|
||||
}
|
||||
substr($tmp,-1)=")"; # Remove last ','
|
||||
if ($multi_value_insert)
|
||||
if ($insert_multi_value)
|
||||
{
|
||||
$to_dbh->do($query . $tmp) || die "Can't insert row: $DBI::errstr";
|
||||
}
|
||||
|
@ -38,7 +38,7 @@
|
||||
# as such, and clarify ones such as "mediumint" with comments such as
|
||||
# "3-byte int" or "same as xxx".
|
||||
|
||||
$version="1.53";
|
||||
$version="1.54";
|
||||
|
||||
use DBI;
|
||||
use Getopt::Long;
|
||||
@ -275,7 +275,7 @@ check_and_report("Order by DESC is remembered",'order_by_remember_desc',
|
||||
["drop table crash_q $drop_attr"],[3,2,1],7,undef(),3);
|
||||
report("Compute",'compute',
|
||||
"select a from crash_me order by a compute sum(a) by a");
|
||||
report("Value lists in INSERT",'multi_value_insert',
|
||||
report("INSERT with Value lists",'insert_multi_value',
|
||||
"create table crash_q (s char(10))",
|
||||
"insert into crash_q values ('a'),('b')",
|
||||
"drop table crash_q $drop_attr");
|
||||
@ -372,11 +372,11 @@ if ($dbh->do("create table crash_q (a integer, b integer,c1 CHAR(10))") &&
|
||||
$dbh->do("drop table crash_q $drop_attr");
|
||||
$dbh->do("drop table crash_q1 $drop_attr");
|
||||
|
||||
check_and_report("case insensitive compare","case_insensitive_strings",
|
||||
check_and_report("Case insensitive compare","case_insensitive_strings",
|
||||
[],"select b from crash_me where b = 'A'",[],'a',1);
|
||||
check_and_report("ignore end space in compare","ignore_end_space",
|
||||
check_and_report("Ignore end space in compare","ignore_end_space",
|
||||
[],"select b from crash_me where b = 'a '",[],'a',1);
|
||||
check_and_report("group on column with null values",'group_by_null',
|
||||
check_and_report("Group on column with null values",'group_by_null',
|
||||
["create table crash_q (s char(10))",
|
||||
"insert into crash_q values(null)",
|
||||
"insert into crash_q values(null)"],
|
||||
@ -733,7 +733,7 @@ try_and_report("Type for row id", "rowid",
|
||||
["serial",
|
||||
"create table crash_q (a serial, primary key(a))","drop table crash_q $drop_attr"]);
|
||||
|
||||
try_and_report("Automatic rowid", "automatic_rowid",
|
||||
try_and_report("Automatic row id", "automatic_rowid",
|
||||
["_rowid",
|
||||
"create table crash_q (a int not null, primary key(a))",
|
||||
"insert into crash_q values (1)",
|
||||
@ -1318,7 +1318,7 @@ report("default value function for column",'create_default_func',
|
||||
"create table crash_q (q integer not null,q1 integer default (1+1)",
|
||||
"drop table crash_q $drop_attr");
|
||||
|
||||
report("temporary tables",'tempoary_table',
|
||||
report("temporary tables",'temporary_table',
|
||||
"create temporary table crash_q (q integer not null)",
|
||||
"drop table crash_q $drop_attr");
|
||||
|
||||
@ -1399,7 +1399,7 @@ if ($limits{'unique_in_create'} eq 'yes')
|
||||
"insert into crash_q (q) values(NULL)",
|
||||
"drop table crash_q $drop_attr");
|
||||
report("null combination in unique index",'nulls_in_unique',
|
||||
create_table("crash_q",["q integer,q1 integer"],["unique(q)"]),
|
||||
create_table("crash_q",["q integer,q1 integer"],["unique(q,q1)"]),
|
||||
"insert into crash_q (q,q1) values(1,NULL)",
|
||||
"insert into crash_q (q,q1) values(1,NULL)",
|
||||
"drop table crash_q $drop_attr");
|
||||
|
@ -302,7 +302,7 @@ multi_drop=no # many tables to drop table
|
||||
multi_strings=no # Multiple line strings
|
||||
multi_table_delete=no # DELETE FROM table1,table2...
|
||||
multi_table_update=no # Update with many tables
|
||||
multi_value_insert=no # Value lists in INSERT
|
||||
insert_multi_value=no # Value lists in INSERT
|
||||
natural_join=no # natural join
|
||||
natural_left_outer_join=no # natural left outer join
|
||||
no_primary_key=yes # Tables without primary key
|
||||
|
@ -343,7 +343,7 @@ multi_null_in_unique=yes # null in unique index
|
||||
multi_strings=no # Multiple line strings
|
||||
multi_table_delete=yes # DELETE FROM table1,table2...
|
||||
multi_table_update=yes # Update with many tables
|
||||
multi_value_insert=no # Value lists in INSERT
|
||||
insert_multi_value=no # Value lists in INSERT
|
||||
natural_join=no # natural join
|
||||
natural_join_incompat=no # natural join (incompatible lists)
|
||||
natural_left_outer_join=no # natural left outer join
|
||||
|
@ -309,7 +309,7 @@ multi_drop=yes # many tables to drop table
|
||||
multi_strings=no # Multiple line strings
|
||||
multi_table_delete=yes # DELETE FROM table1,table2...
|
||||
multi_table_update=yes # Update with many tables
|
||||
multi_value_insert=no # Value lists in INSERT
|
||||
insert_multi_value=no # Value lists in INSERT
|
||||
natural_join=no # natural join
|
||||
natural_left_outer_join=no # natural left outer join
|
||||
no_primary_key=yes # Tables without primary key
|
||||
|
@ -349,7 +349,7 @@ multi_drop=no # many tables to drop table
|
||||
multi_strings=yes # Multiple line strings
|
||||
multi_table_delete=no # DELETE FROM table1,table2...
|
||||
multi_table_update=no # Update with many tables
|
||||
multi_value_insert=yes # Value lists in INSERT
|
||||
insert_multi_value=yes # Value lists in INSERT
|
||||
natural_join=no # natural join
|
||||
natural_join_incompat=no # natural join (incompatible lists)
|
||||
natural_left_outer_join=yes # natural left outer join
|
||||
@ -388,14 +388,14 @@ select_limit2=no # SELECT with LIMIT #,#
|
||||
select_string_size=4199664 # constant string size in SELECT
|
||||
select_table_update=yes # Update with sub select
|
||||
select_without_from=no # SELECT without FROM
|
||||
server_version=2.1 # server version
|
||||
server_version=FrontBase 2.1 # server version
|
||||
simple_joins=yes # ANSI SQL simple joins
|
||||
storage_of_float=round # Storage of float values
|
||||
subqueries=yes # subqueries
|
||||
table_alias=yes # Table alias
|
||||
table_name_case=yes # case independent table names
|
||||
table_wildcard=yes # Select table_name.*
|
||||
tempoary_table=no # temporary tables
|
||||
temporary_table=no # temporary tables
|
||||
transactions=error # transactions
|
||||
truncate_table=no # truncate
|
||||
type_extra_abstime=no # Type abstime
|
||||
|
@ -315,7 +315,7 @@ multi_drop=no # many tables to drop table
|
||||
multi_strings=no # Multiple line strings
|
||||
multi_table_delete=no # DELETE FROM table1,table2...
|
||||
multi_table_update=no # Update with many tables
|
||||
multi_value_insert=no # Value lists in INSERT
|
||||
insert_multi_value=no # Value lists in INSERT
|
||||
natural_join=no # natural join
|
||||
natural_left_outer_join=no # natural left outer join
|
||||
no_primary_key=yes # Tables without primary key
|
||||
|
@ -334,7 +334,7 @@ multi_drop=no # many tables to drop table
|
||||
multi_strings=yes # Multiple line strings
|
||||
multi_table_delete=no # DELETE FROM table1,table2...
|
||||
multi_table_update=no # Update with many tables
|
||||
multi_value_insert=no # Value lists in INSERT
|
||||
insert_multi_value=no # Value lists in INSERT
|
||||
natural_join=yes # natural join
|
||||
natural_left_outer_join=yes # natural left outer join
|
||||
no_primary_key=yes # Tables without primary key
|
||||
|
@ -345,7 +345,7 @@ multi_drop=no # many tables to drop table
|
||||
multi_strings=no # Multiple line strings
|
||||
multi_table_delete=no # DELETE FROM table1,table2...
|
||||
multi_table_update=no # Update with many tables
|
||||
multi_value_insert=no # Value lists in INSERT
|
||||
insert_multi_value=no # Value lists in INSERT
|
||||
natural_join=no # natural join
|
||||
natural_join_incompat=no # natural join (incompatible lists)
|
||||
natural_left_outer_join=no # natural left outer join
|
||||
|
@ -97,7 +97,7 @@ multi_drop=no # many tables to drop table
|
||||
multi_strings=no # Multiple line strings
|
||||
multi_table_delete=no # DELETE FROM table1,table2...
|
||||
multi_table_update=no # Update with many tables
|
||||
multi_value_insert=no # Value lists in INSERT
|
||||
insert_multi_value=no # Value lists in INSERT
|
||||
natural_join=no # natural join
|
||||
natural_left_outer_join=no # natural left outer join
|
||||
no_primary_key=yes # Tables without primary key
|
||||
|
@ -310,7 +310,7 @@ multi_drop=yes # many tables to drop table
|
||||
multi_strings=yes # Multiple line strings
|
||||
multi_table_delete=no # DELETE FROM table1,table2...
|
||||
multi_table_update=no # Update with many tables
|
||||
multi_value_insert=yes # Value lists in INSERT
|
||||
insert_multi_value=yes # Value lists in INSERT
|
||||
natural_join=no # natural join
|
||||
natural_left_outer_join=yes # natural left outer join
|
||||
no_primary_key=yes # Tables without primary key
|
||||
|
@ -1,4 +1,4 @@
|
||||
#This file is automaticly generated by crash-me 1.51
|
||||
#This file is automaticly generated by crash-me 1.54
|
||||
|
||||
NEG=yes # update of column= -column
|
||||
Need_cast_for_null=no # Need to cast NULL for arithmetic
|
||||
@ -18,10 +18,10 @@ alter_drop_unique=with drop key # Alter table drop unique
|
||||
alter_modify_col=yes # Alter table modify column
|
||||
alter_rename_table=yes # Alter table rename table
|
||||
atomic_updates=no # atomic updates
|
||||
automatic_rowid=_rowid # Automatic rowid
|
||||
automatic_rowid=_rowid # Automatic row id
|
||||
binary_numbers=no # binary numbers (0b1001)
|
||||
binary_strings=no # binary strings (b'0110')
|
||||
case_insensitive_strings=yes # case insensitive compare
|
||||
case_insensitive_strings=yes # Case insensitive compare
|
||||
char_is_space_filled=no # char are space filled
|
||||
column_alias=yes # Column alias
|
||||
columns_in_group_by=+64 # number of columns in group by
|
||||
@ -36,7 +36,7 @@ constraint_check=no # Column constraints
|
||||
constraint_check_table=no # Table constraints
|
||||
constraint_null=yes # NULL constraint (SyBase style)
|
||||
crash_me_safe=yes # crash me safe
|
||||
crash_me_version=1.51 # crash me version
|
||||
crash_me_version=1.54 # crash me version
|
||||
create_default=yes # default value for column
|
||||
create_default_func=no # default value function for column
|
||||
create_if_not_exists=yes # create table if not exists
|
||||
@ -55,6 +55,8 @@ dont_require_cast_to_float=yes # No need to cast from integer to float
|
||||
double_quotes=yes # Double '' as ' in strings
|
||||
drop_if_exists=yes # drop table if exists
|
||||
drop_index=with 'ON' # drop index
|
||||
drop_requires_cascade=no # drop table require cascade/restrict
|
||||
drop_restrict=yes # drop table with cascade/restrict
|
||||
end_colon=yes # allows end ';'
|
||||
except=no # except
|
||||
except_all=no # except all
|
||||
@ -275,7 +277,7 @@ func_where_unique=no # Function UNIQUE
|
||||
functions=yes # Functions
|
||||
group_by=yes # Group by
|
||||
group_by_alias=yes # Group by alias
|
||||
group_by_null=yes # group on column with null values
|
||||
group_by_null=yes # Group on column with null values
|
||||
group_by_position=yes # Group by position
|
||||
group_distinct_functions=yes # Group functions with distinct
|
||||
group_func_extra_bit_and=yes # Group function BIT_AND
|
||||
@ -297,18 +299,20 @@ group_func_sql_min_str=yes # Group function MIN on strings
|
||||
group_func_sql_some=no # Group function SOME
|
||||
group_func_sql_sum=yes # Group function SUM
|
||||
group_functions=yes # Group functions
|
||||
group_on_unused=yes # Group on unused column
|
||||
has_true_false=no # TRUE and FALSE
|
||||
having=yes # Having
|
||||
having_with_alias=yes # Having on alias
|
||||
having_with_group=yes # Having with group function
|
||||
hex_numbers=yes # hex numbers (0x41)
|
||||
hex_strings=no # hex strings (x'1ace')
|
||||
ignore_end_space=yes # ignore end space in compare
|
||||
ignore_end_space=yes # Ignore end space in compare
|
||||
index_in_create=yes # index in create table
|
||||
index_namespace=yes # different namespace for index
|
||||
index_parts=yes # index on column part (extension)
|
||||
inner_join=yes # inner join
|
||||
insert_empty_string=yes # insert empty string
|
||||
insert_multi_value=yes # INSERT with Value lists
|
||||
insert_select=yes # insert INTO ... SELECT ...
|
||||
insert_with_set=yes # INSERT with set syntax
|
||||
intersect=no # intersect
|
||||
@ -351,7 +355,6 @@ multi_null_in_unique=yes # null in unique index
|
||||
multi_strings=yes # Multiple line strings
|
||||
multi_table_delete=no # DELETE FROM table1,table2...
|
||||
multi_table_update=no # Update with many tables
|
||||
multi_value_insert=yes # Value lists in INSERT
|
||||
natural_join=yes # natural join
|
||||
natural_join_incompat=yes # natural join (incompatible lists)
|
||||
natural_left_outer_join=yes # natural left outer join
|
||||
@ -360,6 +363,7 @@ null_concat_expr=yes # Is concat('a',NULL) = NULL
|
||||
null_in_index=yes # null in index
|
||||
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=yes # left outer join odbc style
|
||||
operating_system=Linux 2.2.13-SMP alpha # crash-me tested on
|
||||
order_by=yes # Order by
|
||||
@ -367,6 +371,7 @@ order_by_alias=yes # Order by alias
|
||||
order_by_function=yes # Order by function
|
||||
order_by_position=yes # Order by position
|
||||
order_by_remember_desc=no # Order by DESC is remembered
|
||||
order_on_unused=yes # Order by on unused column
|
||||
primary_key_in_create=yes # primary key in create table
|
||||
psm_functions=no # PSM functions (ANSI SQL)
|
||||
psm_modules=no # PSM modules (ANSI SQL)
|
||||
@ -389,14 +394,14 @@ select_limit2=yes # SELECT with LIMIT #,#
|
||||
select_string_size=1048565 # constant string size in SELECT
|
||||
select_table_update=no # Update with sub select
|
||||
select_without_from=yes # SELECT without FROM
|
||||
server_version=MySQL 3.23.28 gamma # server version
|
||||
server_version=MySQL 3.23.29 gamma # server version
|
||||
simple_joins=yes # ANSI SQL simple joins
|
||||
storage_of_float=round # Storage of float values
|
||||
subqueries=no # subqueries
|
||||
table_alias=yes # Table alias
|
||||
table_name_case=no # case independent table names
|
||||
table_wildcard=yes # Select table_name.*
|
||||
tempoary_table=yes # temporary tables
|
||||
temporary_table=yes # temporary tables
|
||||
transactions=no # transactions
|
||||
truncate_table=yes # truncate
|
||||
type_extra_abstime=no # Type abstime
|
||||
@ -515,4 +520,4 @@ unique_in_create=yes # unique in create table
|
||||
unique_null_in_create=yes # unique null in create
|
||||
user_comment=Alpha DS20 2x500 MHz, 2G memory, key_buffer=16M; ccc + cxx # comment
|
||||
views=no # views
|
||||
where_string_size=1048540 # constant string size in where
|
||||
where_string_size=1048539 # constant string size in where
|
||||
|
@ -1,4 +1,4 @@
|
||||
#This file is automaticly generated by crash-me 1.51
|
||||
#This file is automaticly generated by crash-me 1.54
|
||||
|
||||
NEG=yes # update of column= -column
|
||||
Need_cast_for_null=no # Need to cast NULL for arithmetic
|
||||
@ -18,10 +18,10 @@ alter_drop_unique=with drop key # Alter table drop unique
|
||||
alter_modify_col=yes # Alter table modify column
|
||||
alter_rename_table=yes # Alter table rename table
|
||||
atomic_updates=no # atomic updates
|
||||
automatic_rowid=_rowid # Automatic rowid
|
||||
automatic_rowid=_rowid # Automatic row id
|
||||
binary_numbers=no # binary numbers (0b1001)
|
||||
binary_strings=no # binary strings (b'0110')
|
||||
case_insensitive_strings=yes # case insensitive compare
|
||||
case_insensitive_strings=yes # Case insensitive compare
|
||||
char_is_space_filled=no # char are space filled
|
||||
column_alias=yes # Column alias
|
||||
columns_in_group_by=+64 # number of columns in group by
|
||||
@ -36,7 +36,7 @@ constraint_check=no # Column constraints
|
||||
constraint_check_table=no # Table constraints
|
||||
constraint_null=yes # NULL constraint (SyBase style)
|
||||
crash_me_safe=yes # crash me safe
|
||||
crash_me_version=1.51 # crash me version
|
||||
crash_me_version=1.54 # crash me version
|
||||
create_default=yes # default value for column
|
||||
create_default_func=no # default value function for column
|
||||
create_if_not_exists=yes # create table if not exists
|
||||
@ -55,6 +55,8 @@ dont_require_cast_to_float=yes # No need to cast from integer to float
|
||||
double_quotes=yes # Double '' as ' in strings
|
||||
drop_if_exists=yes # drop table if exists
|
||||
drop_index=with 'ON' # drop index
|
||||
drop_requires_cascade=no # drop table require cascade/restrict
|
||||
drop_restrict=yes # drop table with cascade/restrict
|
||||
end_colon=yes # allows end ';'
|
||||
except=no # except
|
||||
except_all=no # except all
|
||||
@ -275,7 +277,7 @@ func_where_unique=no # Function UNIQUE
|
||||
functions=yes # Functions
|
||||
group_by=yes # Group by
|
||||
group_by_alias=yes # Group by alias
|
||||
group_by_null=yes # group on column with null values
|
||||
group_by_null=yes # Group on column with null values
|
||||
group_by_position=yes # Group by position
|
||||
group_distinct_functions=yes # Group functions with distinct
|
||||
group_func_extra_bit_and=yes # Group function BIT_AND
|
||||
@ -297,18 +299,20 @@ group_func_sql_min_str=yes # Group function MIN on strings
|
||||
group_func_sql_some=no # Group function SOME
|
||||
group_func_sql_sum=yes # Group function SUM
|
||||
group_functions=yes # Group functions
|
||||
group_on_unused=yes # Group on unused column
|
||||
has_true_false=no # TRUE and FALSE
|
||||
having=yes # Having
|
||||
having_with_alias=yes # Having on alias
|
||||
having_with_group=yes # Having with group function
|
||||
hex_numbers=yes # hex numbers (0x41)
|
||||
hex_strings=no # hex strings (x'1ace')
|
||||
ignore_end_space=yes # ignore end space in compare
|
||||
ignore_end_space=yes # Ignore end space in compare
|
||||
index_in_create=yes # index in create table
|
||||
index_namespace=yes # different namespace for index
|
||||
index_parts=yes # index on column part (extension)
|
||||
inner_join=yes # inner join
|
||||
insert_empty_string=yes # insert empty string
|
||||
insert_multi_value=yes # INSERT with Value lists
|
||||
insert_select=yes # insert INTO ... SELECT ...
|
||||
insert_with_set=yes # INSERT with set syntax
|
||||
intersect=no # intersect
|
||||
@ -351,7 +355,6 @@ multi_null_in_unique=yes # null in unique index
|
||||
multi_strings=yes # Multiple line strings
|
||||
multi_table_delete=no # DELETE FROM table1,table2...
|
||||
multi_table_update=no # Update with many tables
|
||||
multi_value_insert=yes # Value lists in INSERT
|
||||
natural_join=yes # natural join
|
||||
natural_join_incompat=yes # natural join (incompatible lists)
|
||||
natural_left_outer_join=yes # natural left outer join
|
||||
@ -360,6 +363,7 @@ null_concat_expr=yes # Is concat('a',NULL) = NULL
|
||||
null_in_index=yes # null in index
|
||||
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=yes # left outer join odbc style
|
||||
operating_system=Linux 2.2.13-SMP alpha # crash-me tested on
|
||||
order_by=yes # Order by
|
||||
@ -367,6 +371,7 @@ order_by_alias=yes # Order by alias
|
||||
order_by_function=yes # Order by function
|
||||
order_by_position=yes # Order by position
|
||||
order_by_remember_desc=no # Order by DESC is remembered
|
||||
order_on_unused=yes # Order by on unused column
|
||||
primary_key_in_create=yes # primary key in create table
|
||||
psm_functions=no # PSM functions (ANSI SQL)
|
||||
psm_modules=no # PSM modules (ANSI SQL)
|
||||
@ -389,14 +394,14 @@ select_limit2=yes # SELECT with LIMIT #,#
|
||||
select_string_size=1048565 # constant string size in SELECT
|
||||
select_table_update=no # Update with sub select
|
||||
select_without_from=yes # SELECT without FROM
|
||||
server_version=MySQL 3.23.28 gamma # server version
|
||||
server_version=MySQL 3.23.29 gamma # server version
|
||||
simple_joins=yes # ANSI SQL simple joins
|
||||
storage_of_float=round # Storage of float values
|
||||
subqueries=no # subqueries
|
||||
table_alias=yes # Table alias
|
||||
table_name_case=no # case independent table names
|
||||
table_wildcard=yes # Select table_name.*
|
||||
tempoary_table=yes # temporary tables
|
||||
temporary_table=yes # temporary tables
|
||||
transactions=no # transactions
|
||||
truncate_table=yes # truncate
|
||||
type_extra_abstime=no # Type abstime
|
||||
@ -515,4 +520,4 @@ unique_in_create=yes # unique in create table
|
||||
unique_null_in_create=yes # unique null in create
|
||||
user_comment=Alpha DS20 2x500 MHz, 2G memory, key_buffer=16M; ccc + cxx # comment
|
||||
views=no # views
|
||||
where_string_size=1048540 # constant string size in where
|
||||
where_string_size=1048539 # constant string size in where
|
||||
|
@ -345,7 +345,7 @@ multi_null_in_unique=yes # null in unique index
|
||||
multi_strings=no # Multiple line strings
|
||||
multi_table_delete=no # DELETE FROM table1,table2...
|
||||
multi_table_update=no # Update with many tables
|
||||
multi_value_insert=no # Value lists in INSERT
|
||||
insert_multi_value=no # Value lists in INSERT
|
||||
natural_join=no # natural join
|
||||
natural_join_incompat=no # natural join (incompatible lists)
|
||||
natural_left_outer_join=no # natural left outer join
|
||||
|
@ -343,7 +343,7 @@ multi_null_in_unique=yes # null in unique index
|
||||
multi_strings=yes # Multiple line strings
|
||||
multi_table_delete=no # DELETE FROM table1,table2...
|
||||
multi_table_update=no # Update with many tables
|
||||
multi_value_insert=no # Value lists in INSERT
|
||||
insert_multi_value=no # Value lists in INSERT
|
||||
natural_join=yes # natural join
|
||||
natural_join_incompat=yes # natural join (incompatible lists)
|
||||
natural_left_outer_join=no # natural left outer join
|
||||
|
@ -163,10 +163,14 @@ print_match("String handling","string|select_constant|quote_with|double_quotes|e
|
||||
print_match("Quoting","quote");
|
||||
print_match("Name limits","name","alter");
|
||||
print_match("Index limits",'index|primary|unique');
|
||||
print_match("Type limits",'char|float|binary|text_size|date|end_space');
|
||||
print_match("Expression limits",'expression|conditions|select_limit');
|
||||
print_match("Type limits",'char|float|text_size|date|end_space','atomic');
|
||||
print_match("Expressions",'expression|conditions|select_limit|binary|hex|cast|logical|true_false');
|
||||
print_match("Comments",'comment');
|
||||
print_match("ALTER TABLE",'alter');
|
||||
print_match("CREATE and DROP",'create|drop|rowid|temporary|domains|truncate');
|
||||
print_match("SELECT",'alias|compute|select|table_wildcard');
|
||||
print_match("Sets",'intersect|minus|union|except');
|
||||
print_match("INSERT",'insert');
|
||||
print_options("Other features");
|
||||
print_match("Other limits",'\S');
|
||||
|
||||
|
0
sql-bench/run-all-tests.sh
Executable file → Normal file
0
sql-bench/run-all-tests.sh
Executable file → Normal file
@ -151,7 +151,7 @@ sub new
|
||||
$limits{'alter_table'} = 1; # Have ALTER TABLE
|
||||
$limits{'alter_add_multi_col'}= 1; #Have ALTER TABLE t add a int,add b int;
|
||||
$limits{'alter_table_dropcol'}= 1; # Have ALTER TABLE DROP column
|
||||
$limits{'multi_value_insert'} = 1; # Have INSERT ... values (1,2),(3,4)
|
||||
$limits{'insert_multi_value'} = 1; # Have INSERT ... values (1,2),(3,4)
|
||||
|
||||
$limits{'group_func_extra_std'} = 1; # Have group function std().
|
||||
|
||||
@ -2775,7 +2775,7 @@ sub new
|
||||
$limits{'alter_table'} = 1; # Have ALTER TABLE
|
||||
$limits{'alter_add_multi_col'}= 0; # Have ALTER TABLE t add a int,add b int;
|
||||
$limits{'alter_table_dropcol'}= 1; # Have ALTER TABLE DROP column
|
||||
$limits{'multi_value_insert'} = 0; # Does not have INSERT ... values (1,2),(3,4)
|
||||
$limits{'insert_multi_value'} = 0; # Does not have INSERT ... values (1,2),(3,4)
|
||||
|
||||
$limits{'group_func_extra_std'} = 0; # Does not have group function std().
|
||||
|
||||
@ -2975,7 +2975,7 @@ sub new
|
||||
$limits{'alter_table'} = 1; # Have ALTER TABLE
|
||||
$limits{'alter_add_multi_col'}= 1; # Have ALTER TABLE t add a int,add b int;
|
||||
$limits{'alter_table_dropcol'}= 1; # Have ALTER TABLE DROP column
|
||||
$limits{'multi_value_insert'} = 0; # Does not have INSERT ... values (1,2),(3,4)
|
||||
$limits{'insert_multi_value'} = 0; # Does not have INSERT ... values (1,2),(3,4)
|
||||
|
||||
$limits{'group_func_extra_std'} = 0; # Does not have group function std().
|
||||
|
||||
@ -3186,7 +3186,7 @@ sub new
|
||||
$limits{'alter_table'} = 1; # Have ALTER TABLE
|
||||
$limits{'alter_add_multi_col'}= 0; # Have ALTER TABLE t add a int,add b int;
|
||||
$limits{'alter_table_dropcol'}= 0; # Have ALTER TABLE DROP column
|
||||
$limits{'multi_value_insert'} = 1;
|
||||
$limits{'insert_multi_value'} = 1;
|
||||
|
||||
$limits{'group_func_extra_std'} = 0; # Does not have group function std().
|
||||
|
||||
@ -3227,7 +3227,7 @@ sub version
|
||||
# Pick up SQLGetInfo option SQL_DBMS_VER (18)
|
||||
#
|
||||
#$version = $dbh->func(18, GetInfo);
|
||||
$version="2.1";
|
||||
$version="FrontBase 2.1";
|
||||
$dbh->disconnect;
|
||||
return $version;
|
||||
}
|
||||
|
0
sql-bench/test-ATIS.sh
Executable file → Normal file
0
sql-bench/test-ATIS.sh
Executable file → Normal file
0
sql-bench/test-alter-table.sh
Executable file → Normal file
0
sql-bench/test-alter-table.sh
Executable file → Normal file
0
sql-bench/test-big-tables.sh
Executable file → Normal file
0
sql-bench/test-big-tables.sh
Executable file → Normal file
0
sql-bench/test-connect.sh
Executable file → Normal file
0
sql-bench/test-connect.sh
Executable file → Normal file
0
sql-bench/test-create.sh
Executable file → Normal file
0
sql-bench/test-create.sh
Executable file → Normal file
@ -130,7 +130,7 @@ else
|
||||
$query="insert into bench1 (id,id2,id3,dummy1) values ";
|
||||
}
|
||||
|
||||
if (($opt_fast || $opt_fast_insert) && $limits->{'multi_value_insert'})
|
||||
if (($opt_fast || $opt_fast_insert) && $limits->{'insert_multi_value'})
|
||||
{
|
||||
$query_size=$server->{'limits'}->{'query_size'};
|
||||
|
||||
@ -1177,7 +1177,7 @@ if ($server->small_rollback_segment())
|
||||
|
||||
$loop_time=new Benchmark;
|
||||
$fields=$#fields;
|
||||
if (($opt_fast || $opt_fast_insert) && $limits->{'multi_value_insert'})
|
||||
if (($opt_fast || $opt_fast_insert) && $limits->{'insert_multi_value'})
|
||||
{
|
||||
$query_size=$server->{'limits'}->{'query_size'};
|
||||
$query="insert into bench1 values ";
|
||||
@ -1331,7 +1331,7 @@ if ($opt_fast && defined($server->{vacuum}))
|
||||
# Test multi value inserts if the server supports it
|
||||
#
|
||||
|
||||
if ($limits->{'multi_value_insert'})
|
||||
if ($limits->{'insert_multi_value'})
|
||||
{
|
||||
$query_size=$limits->{'query_size'}; # Same limit for all databases
|
||||
|
||||
|
0
sql-bench/test-select.sh
Executable file → Normal file
0
sql-bench/test-select.sh
Executable file → Normal file
0
sql-bench/test-wisconsin.sh
Executable file → Normal file
0
sql-bench/test-wisconsin.sh
Executable file → Normal file
@ -483,6 +483,7 @@ int ha_myisam::repair(THD *thd, MI_CHECK ¶m, bool optimize)
|
||||
char fixed_name[FN_REFLEN];
|
||||
const char *old_proc_info=thd->proc_info;
|
||||
MYISAM_SHARE* share = file->s;
|
||||
ha_rows rows= file->state->records;
|
||||
DBUG_ENTER("ha_myisam::repair");
|
||||
|
||||
param.table_name = table->table_name;
|
||||
@ -559,6 +560,13 @@ int ha_myisam::repair(THD *thd, MI_CHECK ¶m, bool optimize)
|
||||
T_STATISTICS ? UPDATE_STAT : 0));
|
||||
info(HA_STATUS_NO_LOCK | HA_STATUS_TIME | HA_STATUS_VARIABLE |
|
||||
HA_STATUS_CONST);
|
||||
if (rows != file->state->records)
|
||||
{
|
||||
char llbuff[22],llbuff2[22];
|
||||
mi_check_print_warning(¶m,"Number of rows changed from %s to %s",
|
||||
llstr(rows,llbuff),
|
||||
llstr(file->state->records,llbuff2));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -388,7 +388,9 @@ int main(int argc, char** argv)
|
||||
|
||||
if(use_remote)
|
||||
{
|
||||
#ifndef __WIN__
|
||||
init_thr_alarm(10); // need to do this manually
|
||||
#endif
|
||||
mysql = safe_connect();
|
||||
}
|
||||
|
||||
|
@ -170,6 +170,7 @@ static struct rand_struct sql_rand;
|
||||
static int cleanup_done;
|
||||
static char **defaults_argv,time_zone[30];
|
||||
static const char *default_table_type_name;
|
||||
static char glob_hostname[FN_REFLEN];
|
||||
|
||||
#ifdef HAVE_OPENSSL
|
||||
static bool opt_use_ssl = FALSE;
|
||||
@ -356,6 +357,7 @@ static void close_connections(void)
|
||||
#if defined(AIX_3_2) || defined(HAVE_DEC_3_2_THREADS)
|
||||
if (ip_sock != INVALID_SOCKET)
|
||||
{
|
||||
DBUG_PRINT("error",("closing TCP/IP and socket files"));
|
||||
VOID(shutdown(ip_sock,2));
|
||||
VOID(closesocket(ip_sock));
|
||||
VOID(shutdown(unix_sock,2));
|
||||
@ -607,12 +609,15 @@ void clean_up(void)
|
||||
free_defaults(defaults_argv);
|
||||
my_free(mysql_tmpdir,MYF(0));
|
||||
x_free(opt_bin_logname);
|
||||
#ifndef __WIN__
|
||||
(void) my_delete(pidfile_name,MYF(0)); // This may not always exist
|
||||
my_end(opt_endinfo ? MY_CHECK_ERROR | MY_GIVE_INFO : 0);
|
||||
#endif
|
||||
my_thread_end();
|
||||
|
||||
/* Tell main we are ready */
|
||||
(void) pthread_mutex_lock(&LOCK_thread_count);
|
||||
ready_to_exit=1;
|
||||
/* do the broadcast inside the lock to ensure that my_end() is not called */
|
||||
(void) pthread_cond_broadcast(&COND_thread_count);
|
||||
(void) pthread_mutex_unlock(&LOCK_thread_count);
|
||||
} /* clean_up */
|
||||
@ -926,8 +931,8 @@ void end_thread(THD *thd, bool put_in_cache)
|
||||
DBUG_PRINT("info", ("sending a broadcast"))
|
||||
|
||||
/* Tell main we are ready */
|
||||
(void) pthread_cond_broadcast(&COND_thread_count);
|
||||
(void) pthread_mutex_unlock(&LOCK_thread_count);
|
||||
(void) pthread_cond_broadcast(&COND_thread_count);
|
||||
DBUG_PRINT("info", ("unlocked thread_count mutex"))
|
||||
#ifdef ONE_THREAD
|
||||
if (!(test_flags & TEST_NO_THREADS)) // For debugging under Linux
|
||||
@ -1308,7 +1313,6 @@ int main(int argc, char **argv)
|
||||
#endif
|
||||
{
|
||||
DEBUGGER_OFF;
|
||||
char hostname[FN_REFLEN];
|
||||
|
||||
my_umask=0660; // Default umask for new files
|
||||
my_umask_dir=0700; // Default umask for new directories
|
||||
@ -1332,9 +1336,9 @@ int main(int argc, char **argv)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
if (gethostname(hostname,sizeof(hostname)-4) < 0)
|
||||
strmov(hostname,"mysql");
|
||||
strmov(pidfile_name,hostname);
|
||||
if (gethostname(glob_hostname,sizeof(glob_hostname)-4) < 0)
|
||||
strmov(glob_hostname,"mysql");
|
||||
strmov(pidfile_name,glob_hostname);
|
||||
strmov(strcend(pidfile_name,'.'),".pid"); // Add extension
|
||||
#ifdef DEMO_VERSION
|
||||
strcat(server_version,"-demo");
|
||||
@ -1488,9 +1492,9 @@ int main(int argc, char **argv)
|
||||
|
||||
/* Setup log files */
|
||||
if (opt_log)
|
||||
open_log(&mysql_log, hostname, opt_logname, ".log", LOG_NORMAL);
|
||||
open_log(&mysql_log, glob_hostname, opt_logname, ".log", LOG_NORMAL);
|
||||
if (opt_update_log)
|
||||
open_log(&mysql_update_log, hostname, opt_update_logname, "",
|
||||
open_log(&mysql_update_log, glob_hostname, opt_update_logname, "",
|
||||
LOG_NEW);
|
||||
if (opt_bin_log)
|
||||
{
|
||||
@ -1499,12 +1503,12 @@ int main(int argc, char **argv)
|
||||
if (!opt_bin_logname)
|
||||
{
|
||||
char tmp[FN_REFLEN];
|
||||
strnmov(tmp,hostname,FN_REFLEN-5);
|
||||
strnmov(tmp,glob_hostname,FN_REFLEN-5);
|
||||
strmov(strcend(tmp,'.'),"-bin");
|
||||
opt_bin_logname=my_strdup(tmp,MYF(MY_WME));
|
||||
}
|
||||
mysql_bin_log.set_index_file_name(opt_binlog_index_name);
|
||||
open_log(&mysql_bin_log, hostname, opt_bin_logname, "-bin",
|
||||
open_log(&mysql_bin_log, glob_hostname, opt_bin_logname, "-bin",
|
||||
LOG_BIN);
|
||||
}
|
||||
else
|
||||
@ -1512,7 +1516,7 @@ int main(int argc, char **argv)
|
||||
}
|
||||
|
||||
if (opt_slow_log)
|
||||
open_log(&mysql_slow_log, hostname, opt_slow_logname, "-slow.log",
|
||||
open_log(&mysql_slow_log, glob_hostname, opt_slow_logname, "-slow.log",
|
||||
LOG_NORMAL);
|
||||
if (ha_init())
|
||||
{
|
||||
@ -1711,10 +1715,7 @@ int main(int argc, char **argv)
|
||||
pthread_cond_wait(&COND_thread_count,&LOCK_thread_count);
|
||||
}
|
||||
(void) pthread_mutex_unlock(&LOCK_thread_count);
|
||||
#ifndef __WIN__
|
||||
(void) my_delete(pidfile_name,MYF(0)); // Not neaded anymore
|
||||
#endif
|
||||
my_thread_end();
|
||||
my_end(opt_endinfo ? MY_CHECK_ERROR | MY_GIVE_INFO : 0);
|
||||
exit(0);
|
||||
return(0); /* purecov: deadcode */
|
||||
}
|
||||
@ -2089,8 +2090,8 @@ pthread_handler_decl(handle_connections_sockets,arg __attribute__((unused)))
|
||||
#ifdef __NT__
|
||||
pthread_mutex_lock(&LOCK_thread_count);
|
||||
handler_count--;
|
||||
pthread_cond_signal(&COND_handler_count);
|
||||
pthread_mutex_unlock(&LOCK_thread_count);
|
||||
pthread_cond_signal(&COND_handler_count);
|
||||
#endif
|
||||
DBUG_RETURN(0);
|
||||
}
|
||||
|
@ -197,5 +197,4 @@
|
||||
"Okänd system variabel '%-.64'",
|
||||
"Tabell '%-.64s' är crashad och bör repareras med REPAIR TABLE",
|
||||
"Tabell '%-.64s' är crashad och senast (automatiska?) reparation misslyckades",
|
||||
#ER_WARNING_NOT_COMPLETE_ROLLBACK
|
||||
"Warning: Några icke transaktionella tabeller kunde inte återställas vid ROLLBACK",
|
||||
|
@ -669,12 +669,11 @@ TABLE *open_table(THD *thd,const char *db,const char *table_name,
|
||||
DBUG_RETURN(0);
|
||||
key_length= (uint) (strmov(strmov(key,db)+1,table_name)-key)+1;
|
||||
int4store(key + key_length, thd->slave_proxy_id);
|
||||
key_length += 4;
|
||||
|
||||
for (table=thd->temporary_tables; table ; table=table->next)
|
||||
{
|
||||
if (table->key_length == key_length &&
|
||||
!memcmp(table->table_cache_key,key,key_length))
|
||||
if (table->key_length == key_length+4 &&
|
||||
!memcmp(table->table_cache_key,key,key_length+4))
|
||||
{
|
||||
if (table->query_id == thd->query_id)
|
||||
{
|
||||
|
@ -1404,8 +1404,11 @@ mysql_execute_command(void)
|
||||
#endif
|
||||
break;
|
||||
}
|
||||
case SQLCOM_DELETE:
|
||||
case SQLCOM_TRUNCATE:
|
||||
lex->where=0;
|
||||
lex->select_limit=HA_POS_ERROR;
|
||||
/* Fall through */
|
||||
case SQLCOM_DELETE:
|
||||
{
|
||||
if (check_access(thd,DELETE_ACL,tables->db,&tables->grant.privilege))
|
||||
goto error; /* purecov: inspected */
|
||||
@ -1589,7 +1592,10 @@ mysql_execute_command(void)
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
thd->options&= ~(ulong) (OPTION_STATUS_NO_TRANS_UPDATE);
|
||||
thd->server_status&= ~SERVER_STATUS_AUTOCOMMIT;
|
||||
}
|
||||
}
|
||||
send_ok(&thd->net);
|
||||
break;
|
||||
@ -1755,9 +1761,17 @@ mysql_execute_command(void)
|
||||
}
|
||||
break;
|
||||
case SQLCOM_BEGIN:
|
||||
thd->options|= OPTION_BEGIN;
|
||||
thd->server_status|= SERVER_STATUS_IN_TRANS;
|
||||
send_ok(&thd->net);
|
||||
if (end_active_trans(thd))
|
||||
{
|
||||
res= -1;
|
||||
}
|
||||
else
|
||||
{
|
||||
thd->options= ((thd->options & (ulong) (OPTION_STATUS_NO_TRANS_UPDATE)) |
|
||||
OPTION_BEGIN);
|
||||
thd->server_status|= SERVER_STATUS_IN_TRANS;
|
||||
send_ok(&thd->net);
|
||||
}
|
||||
break;
|
||||
case SQLCOM_COMMIT:
|
||||
/*
|
||||
|
@ -23,7 +23,8 @@
|
||||
#include "sql_select.h" // For select_describe
|
||||
#include "sql_acl.h"
|
||||
#include <my_dir.h>
|
||||
extern "C" pthread_mutex_t THR_LOCK_keycache;
|
||||
|
||||
/* extern "C" pthread_mutex_t THR_LOCK_keycache; */
|
||||
|
||||
static const char *grant_names[]={
|
||||
"select","insert","update","delete","create","drop","reload","shutdown",
|
||||
@ -988,7 +989,7 @@ int mysqld_show(THD *thd, const char *wild, show_var_st *variables)
|
||||
if (send_fields(thd,field_list,1))
|
||||
DBUG_RETURN(1); /* purecov: inspected */
|
||||
|
||||
pthread_mutex_lock(&THR_LOCK_keycache);
|
||||
/* pthread_mutex_lock(&THR_LOCK_keycache); */
|
||||
pthread_mutex_lock(&LOCK_status);
|
||||
for (i=0; variables[i].name; i++)
|
||||
{
|
||||
@ -1037,13 +1038,13 @@ int mysqld_show(THD *thd, const char *wild, show_var_st *variables)
|
||||
}
|
||||
}
|
||||
pthread_mutex_unlock(&LOCK_status);
|
||||
pthread_mutex_unlock(&THR_LOCK_keycache);
|
||||
/* pthread_mutex_unlock(&THR_LOCK_keycache); */
|
||||
send_eof(&thd->net);
|
||||
DBUG_RETURN(0);
|
||||
|
||||
err:
|
||||
pthread_mutex_unlock(&LOCK_status);
|
||||
pthread_mutex_unlock(&THR_LOCK_keycache);
|
||||
/* pthread_mutex_unlock(&THR_LOCK_keycache); */
|
||||
DBUG_RETURN(1);
|
||||
}
|
||||
|
||||
|
29
vio/docs/COPYING.dbug
Normal file
29
vio/docs/COPYING.dbug
Normal file
@ -0,0 +1,29 @@
|
||||
/******************************************************************************
|
||||
* *
|
||||
* N O T I C E *
|
||||
* *
|
||||
* Copyright Abandoned, 1987, Fred Fish *
|
||||
* *
|
||||
* *
|
||||
* This previously copyrighted work has been placed into the public *
|
||||
* domain by the author and may be freely used for any purpose, *
|
||||
* private or commercial. *
|
||||
* *
|
||||
* Because of the number of inquiries I was receiving about the use *
|
||||
* of this product in commercially developed works I have decided to *
|
||||
* simply make it public domain to further its unrestricted use. I *
|
||||
* specifically would be most happy to see this material become a *
|
||||
* part of the standard Unix distributions by AT&T and the Berkeley *
|
||||
* Computer Science Research Group, and a standard part of the GNU *
|
||||
* system from the Free Software Foundation. *
|
||||
* *
|
||||
* I would appreciate it, as a courtesy, if this notice is left in *
|
||||
* all copies and derivative works. Thank you. *
|
||||
* *
|
||||
* The author makes no warranty of any kind with respect to this *
|
||||
* product and explicitly disclaims any implied warranties of mer- *
|
||||
* chantability or fitness for any particular purpose. *
|
||||
* *
|
||||
******************************************************************************
|
||||
*/
|
||||
|
193
vio/docs/COPYING.mysql
Normal file
193
vio/docs/COPYING.mysql
Normal file
@ -0,0 +1,193 @@
|
||||
The *MySQL* server license for non Microsoft operating systems
|
||||
**************************************************************
|
||||
|
||||
*MySQL FREE PUBLIC LICENSE*
|
||||
|
||||
(Version 4, March 5, 1995)
|
||||
|
||||
Copyright (C) 1995, 1996 TcX AB & Monty Program KB & Detron HB
|
||||
|
||||
Stockholm SWEDEN, Helsingfors FINLAND and Uppsala SWEDEN
|
||||
|
||||
All rights reserved.
|
||||
|
||||
NOTE: This license is not the same as any of the GNU Licenses published
|
||||
by the Free Software Foundation. Its terms are substantially different
|
||||
from those of the GNU Licenses. If you are familiar with the GNU
|
||||
Licenses, please read this license with extra care.
|
||||
|
||||
This License applies to the computer program known as "MySQL". The
|
||||
"Program", below, refers to such program, and a "work based on the
|
||||
Program" means either the Program or any derivative work of the Program,
|
||||
as defined in the United States Copyright Act of 1976, such as a
|
||||
translation or a modification. The Program is a copyrighted work whose
|
||||
copyright is held by TcX Datakonsult AB and Monty Program KB and Detron
|
||||
HB.
|
||||
|
||||
This License does not apply when running "MySQL" on any Microsoft
|
||||
operating system. Microsoft operating systems include all versions of
|
||||
Microsoft Windows NT and Microsoft Windows.
|
||||
|
||||
BY MODIFYING OR DISTRIBUTING THE PROGRAM (OR ANY WORK BASED ON THE
|
||||
PROGRAM), YOU INDICATE YOUR ACCEPTANCE OF THIS LICENSE TO DO SO, AND ALL
|
||||
ITS TERMS AND CONDITIONS FOR COPYING, DISTRIBUTING OR MODIFYING THE
|
||||
PROGRAM OR WORKS BASED ON IT. NOTHING OTHER THAN THIS LICENSE GRANTS
|
||||
YOU PERMISSION TO MODIFY OR DISTRIBUTE THE PROGRAM OR ITS DERIVATIVE
|
||||
WORKS. THESE ACTIONS ARE PROHIBITED BY LAW. IF YOU DO NOT ACCEPT THESE
|
||||
TERMS AND CONDITIONS, DO NOT MODIFY OR DISTRIBUTE THE PROGRAM.
|
||||
|
||||
1. Licenses.
|
||||
|
||||
Licensor hereby grants you the following rights, provided that you
|
||||
comply with all of the restrictions set forth in this License and
|
||||
provided, further, that you distribute an unmodified copy of this
|
||||
License with the Program:
|
||||
|
||||
a. You may copy and distribute literal (i.e., verbatim) copies
|
||||
of the Program's source code as you receive it throughout the
|
||||
world, in any medium.
|
||||
|
||||
b. You may modify the Program, create works based on the Program
|
||||
and distribute copies of such throughout the world, in any
|
||||
medium.
|
||||
|
||||
2. Restrictions.
|
||||
|
||||
This license is subject to the following restrictions:
|
||||
a. Distribution of the Program or any work based on the Program
|
||||
by a commercial organization to any third party is prohibited
|
||||
if any payment is made in connection with such distribution,
|
||||
whether directly (as in payment for a copy of the Program) or
|
||||
indirectly (as in payment for some service related to the
|
||||
Program, or payment for some product or service that includes
|
||||
a copy of the Program "without charge"; these are only
|
||||
examples, and not an exhaustive enumeration of prohibited
|
||||
activities). However, the following methods of distribution
|
||||
involving payment shall not in and of themselves be a
|
||||
violation of this restriction:
|
||||
|
||||
A. Posting the Program on a public access information
|
||||
storage and retrieval service for which a fee is
|
||||
received for retrieving information (such as an on-line
|
||||
service), provided that the fee is not content-dependent
|
||||
(i.e., the fee would be the same for retrieving the same
|
||||
volume of information consisting of random data).
|
||||
|
||||
B. Distributing the Program on a CD-ROM, provided that the
|
||||
files containing the Program are reproduced entirely and
|
||||
verbatim on such CD-ROM, and provided further that all
|
||||
information on such CD-ROM be redistributable for
|
||||
non-commercial purposes without charge.
|
||||
|
||||
b. Activities other than copying, distribution and modification
|
||||
of the Program are not subject to this License and they are
|
||||
outside its scope. Functional use (running) of the Program
|
||||
is not restricted, and any output produced through the use of
|
||||
the Program is subject to this license only if its contents
|
||||
constitute a work based on the Program (independent of having
|
||||
been made by running the Program).
|
||||
|
||||
c. You must meet all of the following conditions with respect to
|
||||
the distribution of any work based on the Program:
|
||||
A. If you have modified the Program, you must cause your
|
||||
work to carry prominent notices stating that you have
|
||||
modified the Program's files and the date of any change;
|
||||
|
||||
B. You must cause any work that you distribute or publish,
|
||||
that in whole or in part contains or is derived from the
|
||||
Program or any part thereof, to be licensed as a whole
|
||||
and at no charge to all third parties under the terms of
|
||||
this License;
|
||||
|
||||
C. If the modified program normally reads commands
|
||||
interactively when run, you must cause it, at each time
|
||||
the modified program commences operation, to print or
|
||||
display an announcement including an appropriate
|
||||
copyright notice and a notice that there is no warranty
|
||||
(or else, saying that you provide a warranty). Such
|
||||
notice must also state that users may redistribute the
|
||||
Program only under the conditions of this License and
|
||||
tell the user how to view the copy of this License
|
||||
included with the Program. (Exception: if the Program
|
||||
itself is interactive but does not normally print such
|
||||
an announcement, your work based on the Program is not
|
||||
required to print an announcement.);
|
||||
|
||||
D. You must accompany any such work based on the Program
|
||||
with the complete corresponding machine-readable source
|
||||
code, delivered on a medium customarily used for
|
||||
software interchange. The source code for a work means
|
||||
the preferred form of the work for making modifications
|
||||
to it. For an executable work, complete source code
|
||||
means all the source code for all modules it contains,
|
||||
plus any associated interface definition files, plus the
|
||||
scripts used to control compilation and installation of
|
||||
the executable code. However, the source code
|
||||
distributed need not include anything that is normally
|
||||
distributed (in either source or binary form) with the
|
||||
major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless
|
||||
that component itself accompanies the executable code;
|
||||
|
||||
E. If you distribute any written or printed material at all
|
||||
with the Program or any work based on the Program, such
|
||||
material must include either a written copy of this
|
||||
License, or a prominent written indication that the
|
||||
Program or the work based on the Program is covered by
|
||||
this License and written instructions for printing
|
||||
and/or displaying the copy of the License on the
|
||||
distribution medium;
|
||||
|
||||
F. You may not impose any further restrictions on the
|
||||
recipient's exercise of the rights granted herein.
|
||||
|
||||
If distribution of executable or object code is made by
|
||||
offering the equivalent ability to copy from a
|
||||
designated place, then offering equivalent ability to
|
||||
copy the source code from the same place counts as
|
||||
distribution of the source code, even though third
|
||||
parties are not compelled to copy the source code along
|
||||
with the object code.
|
||||
|
||||
3. Reservation of Rights.
|
||||
|
||||
No rights are granted to the Program except as expressly set forth
|
||||
herein. You may not copy, modify, sublicense, or distribute the
|
||||
Program except as expressly provided under this License. Any
|
||||
attempt otherwise to copy, modify, sublicense or distribute the
|
||||
Program is void, and will automatically terminate your rights
|
||||
under this License. However, parties who have received copies, or
|
||||
rights, from you under this License will not have their licenses
|
||||
terminated so long as such parties remain in full compliance.
|
||||
|
||||
4. Other Restrictions.
|
||||
|
||||
If the distribution and/or use of the Program is restricted in
|
||||
certain countries for any reason, Licensor may add an explicit
|
||||
geographical distribution limitation excluding those countries, so
|
||||
that distribution is permitted only in or among countries not thus
|
||||
excluded. In such case, this License incorporates the limitation
|
||||
as if written in the body of this License.
|
||||
|
||||
5. Limitations.
|
||||
|
||||
THE PROGRAM IS PROVIDED TO YOU "AS IS," WITHOUT WARRANTY. THERE IS
|
||||
NO WARRANTY FOR THE PROGRAM, EITHER EXPRESSED OR IMPLIED,
|
||||
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT OF THIRD PARTY RIGHTS. THE ENTIRE RISK AS TO THE
|
||||
QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY
|
||||
SERVICING, REPAIR OR CORRECTION.
|
||||
|
||||
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
|
||||
WRITING WILL LICENSOR, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR
|
||||
DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
|
||||
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE
|
||||
THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA
|
||||
BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
|
||||
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF
|
||||
THE POSSIBILITY OF SUCH DAMAGES.
|
||||
|
127
vio/docs/COPYING.openssl
Normal file
127
vio/docs/COPYING.openssl
Normal file
@ -0,0 +1,127 @@
|
||||
|
||||
LICENSE ISSUES
|
||||
==============
|
||||
|
||||
The OpenSSL toolkit stays under a dual license, i.e. both the conditions of
|
||||
the OpenSSL License and the original SSLeay license apply to the toolkit.
|
||||
See below for the actual license texts. Actually both licenses are BSD-style
|
||||
Open Source licenses. In case of any license issues related to OpenSSL
|
||||
please contact openssl-core@openssl.org.
|
||||
|
||||
OpenSSL License
|
||||
---------------
|
||||
|
||||
/* ====================================================================
|
||||
* Copyright (c) 1998-1999 The OpenSSL Project. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* 3. All advertising materials mentioning features or use of this
|
||||
* software must display the following acknowledgment:
|
||||
* "This product includes software developed by the OpenSSL Project
|
||||
* for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
|
||||
*
|
||||
* 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
|
||||
* endorse or promote products derived from this software without
|
||||
* prior written permission. For written permission, please contact
|
||||
* openssl-core@openssl.org.
|
||||
*
|
||||
* 5. Products derived from this software may not be called "OpenSSL"
|
||||
* nor may "OpenSSL" appear in their names without prior written
|
||||
* permission of the OpenSSL Project.
|
||||
*
|
||||
* 6. Redistributions of any form whatsoever must retain the following
|
||||
* acknowledgment:
|
||||
* "This product includes software developed by the OpenSSL Project
|
||||
* for use in the OpenSSL Toolkit (http://www.openssl.org/)"
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
|
||||
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
|
||||
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
* ====================================================================
|
||||
*
|
||||
* This product includes cryptographic software written by Eric Young
|
||||
* (eay@cryptsoft.com). This product includes software written by Tim
|
||||
* Hudson (tjh@cryptsoft.com).
|
||||
*
|
||||
*/
|
||||
|
||||
Original SSLeay License
|
||||
-----------------------
|
||||
|
||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||
* All rights reserved.
|
||||
*
|
||||
* This package is an SSL implementation written
|
||||
* by Eric Young (eay@cryptsoft.com).
|
||||
* The implementation was written so as to conform with Netscapes SSL.
|
||||
*
|
||||
* This library is free for commercial and non-commercial use as long as
|
||||
* the following conditions are aheared to. The following conditions
|
||||
* apply to all code found in this distribution, be it the RC4, RSA,
|
||||
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
|
||||
* included with this distribution is covered by the same copyright terms
|
||||
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
|
||||
*
|
||||
* Copyright remains Eric Young's, and as such any Copyright notices in
|
||||
* the code are not to be removed.
|
||||
* If this package is used in a product, Eric Young should be given attribution
|
||||
* as the author of the parts of the library used.
|
||||
* This can be in the form of a textual message at program startup or
|
||||
* in documentation (online or textual) provided with the package.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* "This product includes cryptographic software written by
|
||||
* Eric Young (eay@cryptsoft.com)"
|
||||
* The word 'cryptographic' can be left out if the rouines from the library
|
||||
* being used are not cryptographic related :-).
|
||||
* 4. If you include any Windows specific code (or a derivative thereof) from
|
||||
* the apps directory (application code) you must include an acknowledgement:
|
||||
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* The licence and distribution terms for any publically available version or
|
||||
* derivative of this code cannot be changed. i.e. this code cannot simply be
|
||||
* copied and put under another distribution licence
|
||||
* [including the GNU Public Licence.]
|
||||
*/
|
||||
|
3
vio/docs/INSTALL
Normal file
3
vio/docs/INSTALL
Normal file
@ -0,0 +1,3 @@
|
||||
As the Vio is currently used only as part of MySQL, separate
|
||||
installation isn't currently supported.
|
||||
|
18
vio/docs/README
Normal file
18
vio/docs/README
Normal file
@ -0,0 +1,18 @@
|
||||
Virtual IO library.
|
||||
IO wrappers for sockets, fd-s, SSL.
|
||||
Languages:C++
|
||||
|
||||
This library is based on work of many others.
|
||||
They have different policies and I haven't thought up
|
||||
about resulting licence - GPL, L(essen)GPL, BSD-style, whatever.
|
||||
The licences are here for reference:
|
||||
COPYING.mysql: MySQL licence. Some socket functions.
|
||||
COPYING.dbug: Fred Fish's dbug library. I use it extensively ;=)
|
||||
COPYING.openssl:OpenSSL licence. SSL wrappers.
|
||||
|
||||
At the moment there is no real 'Makefile', just config.mk/targets.mk
|
||||
and Makefile.am to build it as a module in MySQL. Therefore, there
|
||||
is currently no possibility to build it as a separate library, but
|
||||
with MySQL-s root Makefile it should just a matter of leaving
|
||||
everything else out.
|
||||
|
3
vio/docs/TODO
Normal file
3
vio/docs/TODO
Normal file
@ -0,0 +1,3 @@
|
||||
* Consistent error handling. May be the initialization should
|
||||
be taken out of constructors and be put into virtual method open().
|
||||
* The open() method is named very misleadingly().
|
Loading…
x
Reference in New Issue
Block a user