Loading Docs/manual.texi +9 −7 Original line number Diff line number Diff line Loading @@ -10414,8 +10414,9 @@ recommended for systems where only local requests are allowed. @xref{DNS}. Don't use new, possible wrong routines. Implies @code{--skip-delay-key-write}. This will also set default table type to @code{ISAM}. @xref{ISAM}. @item --skip-symlinks Don't delete or rename files that symlinks in the data directory points to. @item --skip-symlink Don't delete or rename files that a symlinked file in the data directory points to. @item --skip-safemalloc If @strong{MySQL} is configured with @code{--with-debug=full}, all programs Loading Loading @@ -12182,7 +12183,7 @@ user}. @item Don't support symlinks to tables (This can be disabled with the @code{--skip-symlinks} option. This is especially important if you run @code{--skip-symlink} option. This is especially important if you run @code{mysqld} as root as anyone that has write access to the mysqld data directories could then delete any file in the system! @xref{Symbolic links to tables}. Loading Loading @@ -19172,7 +19173,7 @@ detect duplicated @code{UNIQUE} keys. By using @code{DATA DIRECTORY="directory"} or @code{INDEX DIRECTORY="directory"} you can specify where the table handler should put it's table and index files. This only works for @code{MyISAM} tables in @code{MySQL} 4.0, when you are not using the @code{--skip-symlinks} in @code{MySQL} 4.0, when you are not using the @code{--skip-symlink} option. @xref{Symbolic links to tables}. @end itemize Loading Loading @@ -31127,12 +31128,12 @@ If you use @code{ALTER TABLE RENAME} to move a table to another database, then the table will be moved to the other database directory and the old symlinks and the files they pointed to will be deleted. @item If you are not using symlinks you should use the @code{--skip-symlinks} If you are not using symlinks you should use the @code{--skip-symlink} option to @code{mysqld} to ensure that no one can drop or rename a file outside of the @code{mysqld} data directory. @end itemize Things that are not yet fully supported: Things that are not yet supported: @cindex TODO, symlinks @itemize @bullet Loading Loading @@ -35016,7 +35017,8 @@ This can be used to get faster inserts! Deactivated indexes can be reactivated by using @code{myisamchk -r}. keys. @item -l or --no-symlinks Do not follow symbolic links. Normally @code{myisamchk} repairs the table a symlink points at. table a symlink points at. This option doesn't exist in MySQL 4.0, as MySQL 4.0 will not remove symlinks during repair. @item -r or --recover Can fix almost anything except unique keys that aren't unique (which is an extremely unlikely error with ISAM/MyISAM tables). sql-bench/Comments/postgres.benchmark +16 −3 Original line number Diff line number Diff line Loading @@ -5,9 +5,16 @@ # Don't run the --fast test on a PostgreSQL 7.1.1 database on # which you have any critical data; During one of our test runs # PostgreSQL got a corrupted database and all data was destroyed! # (When we tried to restart postmaster, It died with a # When we tried to restart postmaster, It died with a # 'no such file or directory' error and never recovered from that! # # Another time vacuum() filled our system disk with had 6G free # while vaccuming a table of 60 M. # # We have sent a mail about this to the PostgreSQL mailing list, so # the PostgreSQL developers should be aware of these problems and should # hopefully fix this soon. # # WARNING # The test was run on a Intel Xeon 2x 550 Mzh machine with 1G memory, Loading Loading @@ -73,8 +80,14 @@ make install run-all-tests --comment="Intel Xeon, 2x550 Mhz, 512M, pg started with -o -F" --user=postgres --server=pg --cmp=mysql # and a test where we do a vacuum() after each update. # (The time for vacuum() is counted in the book-keeping() column) # When running with --fast we run the following vacuum commands on # the database between each major update of the tables: # vacuum table # or # vacuum # The time for vacuum() is accounted for in the book-keeping() column, not # in the test that updates the database. run-all-tests --comment="Intel Xeon, 2x550 Mhz, 512M, pg started with -o -F" --user=postgres --server=pg --cmp=mysql --fast Loading sql-bench/Makefile.am +4 −3 Original line number Diff line number Diff line Loading @@ -21,15 +21,16 @@ benchdir_root= $(prefix) benchdir = $(benchdir_root)/sql-bench bench_SCRIPTS = test-ATIS test-connect test-create test-insert \ test-big-tables test-select test-wisconsin \ test-alter-table \ test-alter-table graph-compare-results \ bench-init.pl compare-results run-all-tests \ server-cfg crash-me copy-db server-cfg crash-me copy-db \ CLEANFILES = $(bench_SCRIPTS) EXTRA_SCRIPTS = test-ATIS.sh test-connect.sh test-create.sh \ test-insert.sh test-big-tables.sh test-select.sh \ test-alter-table.sh test-wisconsin.sh \ bench-init.pl.sh compare-results.sh server-cfg.sh \ run-all-tests.sh crash-me.sh copy-db.sh run-all-tests.sh crash-me.sh copy-db.sh \ graph-compare-results.sh EXTRA_DIST = $(EXTRA_SCRIPTS) dist-hook: Loading sql-bench/compare-results.sh +1 −5 Original line number Diff line number Diff line Loading @@ -25,7 +25,7 @@ use Getopt::Long; $opt_server="mysql"; $opt_dir="output"; $opt_machine=""; $opt_machine=$opt_cmp=""; $opt_relative=$opt_same_server=$opt_help=$opt_Information=$opt_skip_count=$opt_no_bars=$opt_verbose=0; GetOptions("Information","help","server=s","cmp=s","machine=s","relative","same-server","dir=s","skip-count","no-bars","html","verbose") || usage(); Loading Loading @@ -53,10 +53,6 @@ if ($#ARGV == -1) @ARGV=glob($files); $automatic_files=1; } else { $opt_cmp=""; } foreach (@ARGV) { Loading sql-bench/crash-me.sh +25 −14 Original line number Diff line number Diff line Loading @@ -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.56"; $version="1.57"; use DBI; use Getopt::Long; Loading Loading @@ -1539,12 +1539,24 @@ report("insert INTO ... SELECT ...","insert_select", "insert into crash_q (a) SELECT crash_me.a from crash_me", "drop table crash_q $drop_attr"); report_trans("transactions","transactions", [create_table("crash_q",["a integer not null"],[]), if (!defined($limits{"transactions"})) { my ($limit,$type); $limit="transactions"; print "$limit: "; foreach $type (('', 'type=bdb', 'type=innodb', 'type=gemini')) { undef($limits{$limit}); last if (!report_trans($limit, [create_table("crash_q",["a integer not null"],[], $type), "insert into crash_q values (1)"], "select * from crash_q", "drop table crash_q $drop_attr" ); )); } print "$limits{$limit}\n"; } report("atomic updates","atomic_updates", create_table("crash_q",["a integer not null"],["primary key (a)"]), Loading Loading @@ -2500,8 +2512,7 @@ sub report_result sub report_trans { my ($prompt,$limit,$queries,$check,$clear)=@_; print "$prompt: "; my ($limit,$queries,$check,$clear)=@_; if (!defined($limits{$limit})) { eval {undef($dbh->{AutoCommit})}; Loading @@ -2518,7 +2529,6 @@ sub report_trans safe_query($clear); } else { $dbh->{AutoCommit} = 1; safe_query($clear); save_config_data($limit,"error",$prompt); } } else { Loading @@ -2532,8 +2542,7 @@ sub report_trans } safe_query($clear); } print "$limits{$limit}\n"; return $limits{$limit} ne "no"; return $limits{$limit} ne "yes"; } Loading Loading @@ -2961,9 +2970,11 @@ sub sql_concat sub create_table { my($table_name,$fields,$index) = @_; my($table_name,$fields,$index,$extra) = @_; my($query,$nr,$parts,@queries,@index); $extra="" if (!defined($extra)); $query="create table $table_name ("; $nr=0; foreach $field (@$fields) Loading Loading @@ -3015,7 +3026,7 @@ sub create_table } } chop($query); $query.= ')'; $query.= ") $extra"; unshift(@queries,$query); return @queries; } Loading Loading
Docs/manual.texi +9 −7 Original line number Diff line number Diff line Loading @@ -10414,8 +10414,9 @@ recommended for systems where only local requests are allowed. @xref{DNS}. Don't use new, possible wrong routines. Implies @code{--skip-delay-key-write}. This will also set default table type to @code{ISAM}. @xref{ISAM}. @item --skip-symlinks Don't delete or rename files that symlinks in the data directory points to. @item --skip-symlink Don't delete or rename files that a symlinked file in the data directory points to. @item --skip-safemalloc If @strong{MySQL} is configured with @code{--with-debug=full}, all programs Loading Loading @@ -12182,7 +12183,7 @@ user}. @item Don't support symlinks to tables (This can be disabled with the @code{--skip-symlinks} option. This is especially important if you run @code{--skip-symlink} option. This is especially important if you run @code{mysqld} as root as anyone that has write access to the mysqld data directories could then delete any file in the system! @xref{Symbolic links to tables}. Loading Loading @@ -19172,7 +19173,7 @@ detect duplicated @code{UNIQUE} keys. By using @code{DATA DIRECTORY="directory"} or @code{INDEX DIRECTORY="directory"} you can specify where the table handler should put it's table and index files. This only works for @code{MyISAM} tables in @code{MySQL} 4.0, when you are not using the @code{--skip-symlinks} in @code{MySQL} 4.0, when you are not using the @code{--skip-symlink} option. @xref{Symbolic links to tables}. @end itemize Loading Loading @@ -31127,12 +31128,12 @@ If you use @code{ALTER TABLE RENAME} to move a table to another database, then the table will be moved to the other database directory and the old symlinks and the files they pointed to will be deleted. @item If you are not using symlinks you should use the @code{--skip-symlinks} If you are not using symlinks you should use the @code{--skip-symlink} option to @code{mysqld} to ensure that no one can drop or rename a file outside of the @code{mysqld} data directory. @end itemize Things that are not yet fully supported: Things that are not yet supported: @cindex TODO, symlinks @itemize @bullet Loading Loading @@ -35016,7 +35017,8 @@ This can be used to get faster inserts! Deactivated indexes can be reactivated by using @code{myisamchk -r}. keys. @item -l or --no-symlinks Do not follow symbolic links. Normally @code{myisamchk} repairs the table a symlink points at. table a symlink points at. This option doesn't exist in MySQL 4.0, as MySQL 4.0 will not remove symlinks during repair. @item -r or --recover Can fix almost anything except unique keys that aren't unique (which is an extremely unlikely error with ISAM/MyISAM tables).
sql-bench/Comments/postgres.benchmark +16 −3 Original line number Diff line number Diff line Loading @@ -5,9 +5,16 @@ # Don't run the --fast test on a PostgreSQL 7.1.1 database on # which you have any critical data; During one of our test runs # PostgreSQL got a corrupted database and all data was destroyed! # (When we tried to restart postmaster, It died with a # When we tried to restart postmaster, It died with a # 'no such file or directory' error and never recovered from that! # # Another time vacuum() filled our system disk with had 6G free # while vaccuming a table of 60 M. # # We have sent a mail about this to the PostgreSQL mailing list, so # the PostgreSQL developers should be aware of these problems and should # hopefully fix this soon. # # WARNING # The test was run on a Intel Xeon 2x 550 Mzh machine with 1G memory, Loading Loading @@ -73,8 +80,14 @@ make install run-all-tests --comment="Intel Xeon, 2x550 Mhz, 512M, pg started with -o -F" --user=postgres --server=pg --cmp=mysql # and a test where we do a vacuum() after each update. # (The time for vacuum() is counted in the book-keeping() column) # When running with --fast we run the following vacuum commands on # the database between each major update of the tables: # vacuum table # or # vacuum # The time for vacuum() is accounted for in the book-keeping() column, not # in the test that updates the database. run-all-tests --comment="Intel Xeon, 2x550 Mhz, 512M, pg started with -o -F" --user=postgres --server=pg --cmp=mysql --fast Loading
sql-bench/Makefile.am +4 −3 Original line number Diff line number Diff line Loading @@ -21,15 +21,16 @@ benchdir_root= $(prefix) benchdir = $(benchdir_root)/sql-bench bench_SCRIPTS = test-ATIS test-connect test-create test-insert \ test-big-tables test-select test-wisconsin \ test-alter-table \ test-alter-table graph-compare-results \ bench-init.pl compare-results run-all-tests \ server-cfg crash-me copy-db server-cfg crash-me copy-db \ CLEANFILES = $(bench_SCRIPTS) EXTRA_SCRIPTS = test-ATIS.sh test-connect.sh test-create.sh \ test-insert.sh test-big-tables.sh test-select.sh \ test-alter-table.sh test-wisconsin.sh \ bench-init.pl.sh compare-results.sh server-cfg.sh \ run-all-tests.sh crash-me.sh copy-db.sh run-all-tests.sh crash-me.sh copy-db.sh \ graph-compare-results.sh EXTRA_DIST = $(EXTRA_SCRIPTS) dist-hook: Loading
sql-bench/compare-results.sh +1 −5 Original line number Diff line number Diff line Loading @@ -25,7 +25,7 @@ use Getopt::Long; $opt_server="mysql"; $opt_dir="output"; $opt_machine=""; $opt_machine=$opt_cmp=""; $opt_relative=$opt_same_server=$opt_help=$opt_Information=$opt_skip_count=$opt_no_bars=$opt_verbose=0; GetOptions("Information","help","server=s","cmp=s","machine=s","relative","same-server","dir=s","skip-count","no-bars","html","verbose") || usage(); Loading Loading @@ -53,10 +53,6 @@ if ($#ARGV == -1) @ARGV=glob($files); $automatic_files=1; } else { $opt_cmp=""; } foreach (@ARGV) { Loading
sql-bench/crash-me.sh +25 −14 Original line number Diff line number Diff line Loading @@ -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.56"; $version="1.57"; use DBI; use Getopt::Long; Loading Loading @@ -1539,12 +1539,24 @@ report("insert INTO ... SELECT ...","insert_select", "insert into crash_q (a) SELECT crash_me.a from crash_me", "drop table crash_q $drop_attr"); report_trans("transactions","transactions", [create_table("crash_q",["a integer not null"],[]), if (!defined($limits{"transactions"})) { my ($limit,$type); $limit="transactions"; print "$limit: "; foreach $type (('', 'type=bdb', 'type=innodb', 'type=gemini')) { undef($limits{$limit}); last if (!report_trans($limit, [create_table("crash_q",["a integer not null"],[], $type), "insert into crash_q values (1)"], "select * from crash_q", "drop table crash_q $drop_attr" ); )); } print "$limits{$limit}\n"; } report("atomic updates","atomic_updates", create_table("crash_q",["a integer not null"],["primary key (a)"]), Loading Loading @@ -2500,8 +2512,7 @@ sub report_result sub report_trans { my ($prompt,$limit,$queries,$check,$clear)=@_; print "$prompt: "; my ($limit,$queries,$check,$clear)=@_; if (!defined($limits{$limit})) { eval {undef($dbh->{AutoCommit})}; Loading @@ -2518,7 +2529,6 @@ sub report_trans safe_query($clear); } else { $dbh->{AutoCommit} = 1; safe_query($clear); save_config_data($limit,"error",$prompt); } } else { Loading @@ -2532,8 +2542,7 @@ sub report_trans } safe_query($clear); } print "$limits{$limit}\n"; return $limits{$limit} ne "no"; return $limits{$limit} ne "yes"; } Loading Loading @@ -2961,9 +2970,11 @@ sub sql_concat sub create_table { my($table_name,$fields,$index) = @_; my($table_name,$fields,$index,$extra) = @_; my($query,$nr,$parts,@queries,@index); $extra="" if (!defined($extra)); $query="create table $table_name ("; $nr=0; foreach $field (@$fields) Loading Loading @@ -3015,7 +3026,7 @@ sub create_table } } chop($query); $query.= ')'; $query.= ") $extra"; unshift(@queries,$query); return @queries; } Loading