Added isolation levels

Added SELECT .. FOR UPDATE and SELECT .. IN SHARE MODE


Docs/manual.texi:
  Updated information about SET TRANSACTION ISOLATION LEVEL
configure.in:
  Upgraded version number
isam/_dbug.c:
  Fixed wrong fprintf
isam/isamchk.c:
  Added new error message
myisam/mi_check.c:
  Added new error message
mysql-test/mysql-test-run.sh:
  Don't wait too long for server start
mysys/mf_keycache.c:
  Cleaned up some error messages
scripts/mysqlhotcopy.sh:
  Applied patch for --resetmaster --resetslave
sql-bench/bench-init.pl.sh:
  Fix for windows
sql/handler.cc:
  Added isolation levels and gemini spinlocks
sql/handler.h:
  Added isolation levels
sql/item_strfunc.cc:
  Cleanup of CONCAT_WS()
sql/lex.h:
  Added isolation levels
sql/mysql_priv.h:
  Added isolation levels
sql/mysqld.cc:
  Added isolation levels
sql/sql_class.cc:
  Added isolation levels
  Moved variable initialization to different code segments
sql/sql_class.h:
  Added isolation levels
sql/sql_lex.h:
  Added isolation levels
sql/sql_parse.cc:
  Added isolation levels
sql/sql_update.cc:
  cleanup
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
This commit is contained in:
unknown 2001-03-21 01:02:22 +02:00
commit 6257ee7613
22 changed files with 381 additions and 142 deletions

View file

@ -36,7 +36,7 @@ WARNING: THIS IS VERY MUCH A FIRST-CUT ALPHA. Comments/patches welcome.
# Documentation continued at end of file
my $VERSION = "1.10";
my $VERSION = "1.11";
my $opt_tmpdir = $ENV{TMPDIR} || "/tmp";
@ -65,6 +65,8 @@ 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
--resetmaster reset the binlog once all tables are locked
--resetslave reset the master.info once all tables are locked
--tmpdir=# temporary directory (instead of $opt_tmpdir)
Try 'perldoc $0 for more complete documentation'
@ -100,6 +102,8 @@ GetOptions( \%opt,
"suffix=s",
"checkpoint=s",
"flushlog",
"resetmaster",
"resetslave",
"tmpdir|t=s",
"dryrun|n",
) or usage("Invalid option");
@ -369,6 +373,8 @@ if ( $opt{dryrun} ) {
print "LOCK TABLES $hc_locks\n";
print "FLUSH TABLES /*!32323 $hc_tables */\n";
print "FLUSH LOGS\n" if ( $opt{flushlog} );
print "RESET MASTER\n" if ( $opt{resetmaster} );
print "RESET SLAVE\n" if ( $opt{resetslave} );
}
else {
my $start = time;
@ -381,6 +387,8 @@ else {
$dbh->do("FLUSH TABLES /*!32323 $hc_tables */");
printf "Flushed tables ($hc_tables) in %d seconds.\n", time-$start unless $opt{quiet};
$dbh->do( "FLUSH LOGS" ) if ( $opt{flushlog} );
$dbh->do( "RESET MASTER" ) if ( $opt{resetmaster} );
$dbh->do( "RESET SLAVE" ) if ( $opt{resetslave} );
}
my @failed = ();
@ -658,6 +666,18 @@ of keeping the backup directory after the copy successfully completes.
Rotate the log files by executing "FLUSH LOGS" after all tables are
locked, and before they are copied.
=item --resetmaster
Reset the bin-log by executing "RESET MASTER" after all tables are
locked, and before they are copied. Usefull if you are recovering a
slave in a replication setup.
=item --resetslave
Reset the master.info by executing "RESET SLAVE" after all tables are
locked, and before they are copied. Usefull if you are recovering a
server in a mutual replication setup.
=item --regexp pattern
Copy all databases with names matching the pattern
@ -742,6 +762,7 @@ Study the code inside this script and only rely on it if I<you> believe
that it does the right thing for you.
Patches adding bug fixes, documentation and new features are welcome.
Please send these to internals@mysql.com.
=head1 TO DO
@ -780,3 +801,6 @@ Monty - working --noindex (copy only first 2048 bytes of index file)
Fixes for --method=scp
Ask Bjoern Hansen - Cleanup code to fix a few bugs and enable -w again.
Emil S. Hansen - Added resetslave and resetmaster.