Commit 38bd84b7 authored by serg@serg.mysql.com's avatar serg@serg.mysql.com
Browse files

Merge work:/home/bk/mysql-4.0

into serg.mysql.com:/usr/home/serg/Abk/mysql-4.0
parents 65e05c5d da96aaed
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -255,6 +255,7 @@ libmysqld/opt_sum.cc
libmysqld/password.c
libmysqld/procedure.cc
libmysqld/records.cc
libmysqld/repl_failsafe.cc
libmysqld/simple-test
libmysqld/slave.cc
libmysqld/sql_acl.cc
+5 −4
Original line number Diff line number Diff line
@@ -153,7 +153,7 @@ if ($opt_stage <= 1)
  {
    $opt_config_options.= " --with-innodb"
  }
  check_system("$opt_config_env ./configure --prefix=/usr/local/mysql \"--with-comment=Official MySQL$version_suffix binary\" --with-extra-charsets=complex \"--with-server-suffix=$version_suffix\" $opt_config_options","Thank you for choosing MySQL");
  check_system("$opt_config_env ./configure --prefix=/usr/local/mysql \"--with-comment=Official MySQL$version_suffix binary\" --with-extra-charsets=complex \"--with-server-suffix=$version_suffix\" --enable-thread-safe-client $opt_config_options","Thank you for choosing MySQL");
  if (-d "$pwd/$host/include-mysql")
  {
    safe_system("cp -r $pwd/$host/include-mysql/* $pwd/$host/$ver/include");
@@ -215,7 +215,7 @@ if ($opt_stage <= 5 && !$opt_no_test && !$opt_no_mysqltest)
{
  system("mkdir $bench_tmpdir") if (! -d $bench_tmpdir);
  safe_cd("${test_dir}/mysql-test");
  check_system("./mysql-test-run --tmpdir=$bench_tmpdir --master_port=$mysql_tcp_port --slave_port=$slave_port --manager-port=$manager_port --sleep=10", "tests were successful");
  check_system("./mysql-test-run --tmpdir=$bench_tmpdir --master_port=$mysql_tcp_port --slave_port=$slave_port --manager-port=$manager_port --no-manager --sleep=10", "tests were successful");
}

# Start the server if we are going to run any of the benchmarks
@@ -317,7 +317,7 @@ exit 0;
sub usage
{
print <<EOF;
$0  version 1.3
$0  version 1.4

$0 takes the following options:

@@ -549,7 +549,8 @@ sub kill_all
    chop($cand);
    ($pid_user, $pid) = split(' ', $cand);
    next if $pid == $$;
    next process if (! ($cand =~ $pattern) || $pid_user ne $user)
    next process if (! ($cand =~ $pattern) || $pid_user ne $user);
    print LOG "Killing $_\n";
    &killpid($pid);
  }
}
+21 −0
Original line number Diff line number Diff line
@@ -481,6 +481,27 @@ Functions i mysys: (For flags se my_sys.h)
 void end_key_cache _A((void));
	- End key-cacheing.

@node DBUG,,,
@chapter The DBUG tags to use:

Here is some of the tags we now use:
(We should probably add a couple of new ones)
 
"enter"	  Arguments to the function.
"exit"	  Results from the function.
"info"    is something that may be interesting.
"warning" is when something doesn't go the usual route or may be wrong.
"error"   when something went wrong.
"loop"	  write in a loop, that is probably only useful when debugging
	  the loop.  These should normally be deleted when on is
	  satisfied with the code and it has been in real use for a while.

Some specific to mysqld, because we want to watch these carefully:

"trans"	  Starting/stopping transactions.
"quit"	  'info' when mysqld is preparing to die.
"query"	  Print query

@node protocol,,,
@chapter MySQL client/server protocol

+33 −5
Original line number Diff line number Diff line
@@ -2433,7 +2433,7 @@ mysql> SHOW STATUS;
If a bug or problem occurs while running @strong{mysqld}, try to provide an
input script that will reproduce the anomaly.  This script should include any
necessary source files.  The more closely the script can reproduce your
situation, the better.  If you can make a repeatable test case, you should
situation, the better.  If you can make a reproduceable test case, you should
post this to @email{bugs@@lists.mysql.com} for a high priority treatment!
If you can't provide a script, you should at least include the output
@@ -3532,12 +3532,18 @@ an application when you delete records from a table that has a foreign key.
In practice this is as quick (in some cases quicker) and much more portable
than using foreign keys.
In MySQL 4.0 you can use multi-table delete to delete rows from many
tables with one command. @xref{DELETE}.
In the near future we will extend the @code{FOREIGN KEY} implementation so
that at least the information will be saved in the table specification file
and may be retrieved by @code{mysqldump} and ODBC. At a later stage we will
implement the foreign key constraints for application that can't easily be
coded to avoid them.
MySQL 3.23.44 and forwards, InnoDB tables supports checking of foreign
key constraints. @xref{InnoDB}.
@menu
* Broken Foreign KEY::          Reasons NOT to use foreign keys constraints
@end menu
@@ -4033,8 +4039,13 @@ If the date is totally wrong, MySQL will store the special
0000-00-00 date value in the column.
@item
If you set an @code{enum} to an unsupported value, it will be set to
If you set an @code{ENUM} column to an unsupported value, it will be set to
the error value 'empty string', with numeric value 0.
@item
If you set an @code{SET} column to an unsupported value, the value will
be ignored. @xref{Bugs}.
@end itemize
@item
@@ -4775,7 +4786,7 @@ Included in the MySQL distribution are two different testing suites,
@file{mysql-test-run} and 
@uref{http://www.mysql.com/information/crash-me.php,crash-me}, as well
as a benchmark suite.  The test system is actively updated with code to
test each new feature and almost all repeatable bugs that have come to
test each new feature and almost all reproduceable bugs that have come to
our attention.  We test MySQL with these on a lot of platforms before
every release.  These tests are more sophisticated than anything we have 
seen from PostgreSQL, and they ensures that the MySQL is kept to a high
@@ -4934,6 +4945,18 @@ Standard usage in PostgreSQL is closer to ANSI SQL in some cases.
@item
One can speed up PostgreSQL by coding things as stored procedures.
@item
For geographical data, R-TREES makes PostgreSQL better than MySQL.
@item
The PostgreSQL optimizer can do some optimization that the current MySQL
optimizer can't do.  Most notable is doing joins when you don't have the
proper keys in place and doing a join where you are using different keys
combined with OR.  The MySQL benchmark suite at
@uref{http://www.mysql.com/information/benchmarks.html} shows you what
kind of constructs you should watch out for when using different
databases.
@item
PostgreSQL has a bigger team of developers that contribute to the server.
@end itemize
@@ -29146,6 +29169,9 @@ specified at table creation time. For example, if a column is specified as
@code{SET("a","b","c","d")}, then @code{"a,d"}, @code{"d,a"}, and
@code{"d,a,a,d,d"} will all appear as @code{"a,d"} when retrieved.
If you set a @code{SET} column to an unsupported value, the value will
be ignored.
@code{SET} values are sorted numerically.  @code{NULL} values sort before
non-@code{NULL} @code{SET} values.
@@ -33790,8 +33816,10 @@ column in a table, the default value is the current date and time.
@xref{Date and time types}.
@item
For string types other than @code{ENUM}, the default value is the empty string.
For @code{ENUM}, the default is the first enumeration value.
For string types other than @code{ENUM}, the default value is the empty
string.  For @code{ENUM}, the default is the first enumeration value (if
you haven't explicitely specified another default value with the
@code{DEFAULT} directive).
@end itemize
Default values must be constants. This means, for example, that you cannot
+1 −1
Original line number Diff line number Diff line
@@ -1150,9 +1150,9 @@ static void dumpTable(uint numFields, char *table)
    }
    if (opt_lock)
      fputs("UNLOCK TABLES;\n", md_result_file);
    mysql_free_result(res);
    if (opt_autocommit)
      fprintf(md_result_file, "commit;\n");
    mysql_free_result(res);
  }
} /* dumpTable */

Loading