merge 5.1-> 5.2

This commit is contained in:
unknown 2009-12-08 23:47:54 +02:00
commit 08e4635fba
980 changed files with 60279 additions and 39958 deletions

View File

@ -1922,3 +1922,5 @@ libmysqld/examples/mysqltest.cc
extra/libevent/event-config.h extra/libevent/event-config.h
libmysqld/opt_table_elimination.cc libmysqld/opt_table_elimination.cc
libmysqld/ha_federatedx.cc libmysqld/ha_federatedx.cc
tmp
libmysqld/debug_sync.cc

View File

@ -4,7 +4,7 @@ path=`dirname $0`
. "$path/SETUP.sh" . "$path/SETUP.sh"
extra_flags="$pentium_cflags $fast_cflags" extra_flags="$pentium_cflags $fast_cflags"
extra_configs="$pentium_configs $static_link" extra_configs="$pentium_configs"
strip=yes strip=yes
. "$path/FINISH.sh" . "$path/FINISH.sh"

View File

@ -66,6 +66,12 @@ IF(EXTRA_DEBUG)
ADD_DEFINITIONS(-D EXTRA_DEBUG) ADD_DEFINITIONS(-D EXTRA_DEBUG)
ENDIF(EXTRA_DEBUG) ENDIF(EXTRA_DEBUG)
IF(ENABLED_DEBUG_SYNC)
ADD_DEFINITIONS(-D ENABLED_DEBUG_SYNC)
ENDIF(ENABLED_DEBUG_SYNC)
SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DENABLED_DEBUG_SYNC")
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DENABLED_DEBUG_SYNC")
# in some places we use DBUG_OFF # in some places we use DBUG_OFF
SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DDBUG_OFF") SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DDBUG_OFF")
SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -DDBUG_OFF") SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -DDBUG_OFF")
@ -211,12 +217,16 @@ ENDIF(WITHOUT_DYNAMIC_PLUGINS)
FILE(GLOB STORAGE_SUBDIRS storage/*) FILE(GLOB STORAGE_SUBDIRS storage/*)
FOREACH(SUBDIR ${STORAGE_SUBDIRS}) FOREACH(SUBDIR ${STORAGE_SUBDIRS})
FILE(RELATIVE_PATH DIRNAME ${PROJECT_SOURCE_DIR}/storage ${SUBDIR}) FILE(RELATIVE_PATH DIRNAME ${PROJECT_SOURCE_DIR}/storage ${SUBDIR})
STRING(TOUPPER ${DIRNAME} ENGINE)
STRING(TOLOWER ${DIRNAME} ENGINE_LOWER)
IF (EXISTS ${SUBDIR}/CMakeLists.txt) IF (EXISTS ${SUBDIR}/CMakeLists.txt)
# Check MYSQL_STORAGE_ENGINE macro is present # Check MYSQL_STORAGE_ENGINE macro is present
FILE(STRINGS ${SUBDIR}/CMakeLists.txt HAVE_STORAGE_ENGINE REGEX MYSQL_STORAGE_ENGINE) FILE(STRINGS ${SUBDIR}/CMakeLists.txt HAVE_STORAGE_ENGINE REGEX MYSQL_STORAGE_ENGINE)
IF(HAVE_STORAGE_ENGINE) IF(HAVE_STORAGE_ENGINE)
# Extract name of engine from HAVE_STORAGE_ENGINE
STRING(REGEX REPLACE ".*MYSQL_STORAGE_ENGINE\\((.*\)\\).*"
"\\1" ENGINE_NAME ${HAVE_STORAGE_ENGINE})
STRING(TOUPPER ${ENGINE_NAME} ENGINE)
STRING(TOLOWER ${ENGINE_NAME} ENGINE_LOWER)
SET(ENGINE_BUILD_TYPE "DYNAMIC") SET(ENGINE_BUILD_TYPE "DYNAMIC")
# Read plug.in to find out if a plugin is mandatory and whether it supports # Read plug.in to find out if a plugin is mandatory and whether it supports
# build as shared library (dynamic). # build as shared library (dynamic).
@ -254,6 +264,7 @@ FOREACH(SUBDIR ${STORAGE_SUBDIRS})
SET (MYSQLD_STATIC_ENGINE_LIBS ${MYSQLD_STATIC_ENGINE_LIBS} ${PLUGIN_NAME}) SET (MYSQLD_STATIC_ENGINE_LIBS ${MYSQLD_STATIC_ENGINE_LIBS} ${PLUGIN_NAME})
SET (STORAGE_ENGINE_DEFS "${STORAGE_ENGINE_DEFS} -DWITH_${ENGINE}_STORAGE_ENGINE") SET (STORAGE_ENGINE_DEFS "${STORAGE_ENGINE_DEFS} -DWITH_${ENGINE}_STORAGE_ENGINE")
SET (WITH_${ENGINE}_STORAGE_ENGINE TRUE) SET (WITH_${ENGINE}_STORAGE_ENGINE TRUE)
SET (${ENGINE}_DIR ${DIRNAME})
ENDIF (ENGINE_BUILD_TYPE STREQUAL "STATIC") ENDIF (ENGINE_BUILD_TYPE STREQUAL "STATIC")
ENDIF(EXISTS ${SUBDIR}/plug.in) ENDIF(EXISTS ${SUBDIR}/plug.in)

View File

@ -3,7 +3,7 @@ describe how to install MariaDB; However all documentation at www.mysql.com
also applies. also applies.
2.9. Installing MariaDB from tar.gz Packages on Other Unix-Like Systems 2.2. Installing MariaDB from Generic Binaries on Unix/Linux
This section covers the installation of MariaDB binary distributions This section covers the installation of MariaDB binary distributions
that are provided for various platforms in the form of compressed that are provided for various platforms in the form of compressed
@ -22,11 +22,13 @@ also applies.
* A reasonable tar to unpack the distribution. GNU tar is known * A reasonable tar to unpack the distribution. GNU tar is known
to work. Some operating systems come with a preinstalled to work. Some operating systems come with a preinstalled
version of tar that is known to have problems. For example, version of tar that is known to have problems. For example,
the tar provided with early versions of Mac OS X, SunOS 4.x the tar provided with early versions of Mac OS X, SunOS 4.x,
and Solaris 8 and earlier are known to have problems with long Solaris 8, Solaris 9, Solaris 10 and OpenSolaris, and HP-UX
file names. On Mac OS X, you can use the preinstalled gnutar are known to have problems with long file names. On Mac OS X,
program. On other systems with a deficient tar, you should you can use the preinstalled gnutar program. On Solaris 10 and
install GNU tar first. OpenSolaris you can use the preinstalled gtar. On other
systems with a deficient tar, you should install GNU tar
first.
If you run into problems and need to file a bug report, If you run into problems and need to file a bug report,
please report them to: http://bugs.launchpad.net/maria please report them to: http://bugs.launchpad.net/maria
@ -52,7 +54,7 @@ shell> bin/mysqld_safe --user=mysql &
Note Note
This procedure does not set up any passwords for MariaDB accounts. This procedure does not set up any passwords for MariaDB accounts.
After following the procedure, proceed to Section 2.11, After following the procedure, proceed to Section 2.13,
"Post-Installation Setup and Testing." "Post-Installation Setup and Testing."
A more detailed version of the preceding description for A more detailed version of the preceding description for
@ -147,7 +149,7 @@ shell> chown -R mysql data
machine, you can copy support-files/mysql.server to the machine, you can copy support-files/mysql.server to the
location where your system has its startup files. More location where your system has its startup files. More
information can be found in the support-files/mysql.server information can be found in the support-files/mysql.server
script itself and in Section 2.11.2.2, "Starting and Stopping script itself and in Section 2.13.1.2, "Starting and Stopping
MariaDB Automatically." MariaDB Automatically."
10. You can set up new accounts using the bin/mysql_setpermission 10. You can set up new accounts using the bin/mysql_setpermission
script if you install the DBI and DBD::mysql Perl modules. See script if you install the DBI and DBD::mysql Perl modules. See
@ -186,5 +188,5 @@ Note
The accounts that are listed in the MariaDB grant tables initially The accounts that are listed in the MariaDB grant tables initially
have no passwords. After starting the server, you should set up have no passwords. After starting the server, you should set up
passwords for them using the instructions in Section 2.11, passwords for them using the instructions in Section 2.13,
"Post-Installation Setup and Testing." "Post-Installation Setup and Testing."

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
2.10.6. Installing MySQL from Source on Windows 2.5.10. Installing MySQL from Source on Windows
These instructions describe how to build binaries from source for These instructions describe how to build binaries from source for
MySQL 5.1 on Windows. Instructions are provided for building MySQL 5.1 on Windows. Instructions are provided for building
@ -15,7 +15,7 @@ Note
to use precompiled binary distributions of MySQL that are built to use precompiled binary distributions of MySQL that are built
specifically for optimal performance on Windows by Sun specifically for optimal performance on Windows by Sun
Microsystems, Inc. Instructions for installing binary Microsystems, Inc. Instructions for installing binary
distributions are available in Section 2.3, "Installing MySQL on distributions are available in Section 2.5, "Installing MySQL on
Windows." Windows."
To build MySQL on Windows from source, you must satisfy the To build MySQL on Windows from source, you must satisfy the
@ -68,7 +68,7 @@ Note
* 3GB to 5GB of disk space. * 3GB to 5GB of disk space.
The exact system requirements can be found here: The exact system requirements for Visual Studio can be found here:
http://msdn.microsoft.com/vstudio/Previous/2003/sysreqs/default.as http://msdn.microsoft.com/vstudio/Previous/2003/sysreqs/default.as
px and px and
http://msdn.microsoft.com/vstudio/products/sysreqs/default.aspx http://msdn.microsoft.com/vstudio/products/sysreqs/default.aspx
@ -81,7 +81,7 @@ Note
* Package a source distribution yourself from the latest Bazaar * Package a source distribution yourself from the latest Bazaar
developer source tree. For instructions on pulling the latest developer source tree. For instructions on pulling the latest
source files, see Section 2.10.3, "Installing from the source files, see Section 2.3.3, "Installing from the
Development Source Tree." Development Source Tree."
If you find something not working as expected, or you have If you find something not working as expected, or you have
@ -89,7 +89,7 @@ Note
Windows, please send a message to the win32 mailing list. See Windows, please send a message to the win32 mailing list. See
Section 1.5.1, "MySQL Mailing Lists." Section 1.5.1, "MySQL Mailing Lists."
2.10.6.1. Building MySQL from Source Using CMake and Visual Studio 2.5.10.1. Building MySQL from Source Using CMake and Visual Studio
You can build MySQL on Windows by using a combination of cmake and You can build MySQL on Windows by using a combination of cmake and
Microsoft Visual Studio .NET 2003 (7.1), Microsoft Visual Studio Microsoft Visual Studio .NET 2003 (7.1), Microsoft Visual Studio
@ -99,7 +99,7 @@ Note
Note Note
To compile from the source code on Windows you must use the To compile from the source code on Windows you must use the
standard source distribution (for example, mysql-5.0.45.tar.gz). standard source distribution (for example, mysql-5.1.41.tar.gz).
You build from the same distribution as used to build MySQL on You build from the same distribution as used to build MySQL on
Unix, Linux and other platforms. Do not use the Windows Source Unix, Linux and other platforms. Do not use the Windows Source
distributions as they do not contain the necessary configuration distributions as they do not contain the necessary configuration
@ -264,5 +264,5 @@ C:\workdir> copy libmysql\libmysql.def C:\mysql\include
C:\workdir> xcopy sql-bench\*.* C:\mysql\bench /E C:\workdir> xcopy sql-bench\*.* C:\mysql\bench /E
After installation, set up and start the server in the same way as After installation, set up and start the server in the same way as
for binary Windows distributions. See Section 2.3, "Installing for binary Windows distributions. See Section 2.5, "Installing
MySQL on Windows." MySQL on Windows."

View File

@ -1,4 +1,4 @@
# Copyright 2000-2008 MySQL AB, 2008 Sun Microsystems, Inc. # Copyright 2000-2008 MySQL AB, 2009 Sun Microsystems, Inc.
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
@ -26,7 +26,7 @@ EXTRA_DIST = INSTALL-SOURCE INSTALL-WIN-SOURCE \
SUBDIRS = . include @docs_dirs@ @zlib_dir@ \ SUBDIRS = . include @docs_dirs@ @zlib_dir@ \
@readline_topdir@ sql-common scripts \ @readline_topdir@ sql-common scripts \
@pstack_dir@ \ @pstack_dir@ \
@sql_union_dirs@ unittest storage plugin \ @sql_union_dirs@ storage \
@sql_server@ @man_dirs@ tests \ @sql_server@ @man_dirs@ tests \
netware @libmysqld_dirs@ \ netware @libmysqld_dirs@ \
mysql-test support-files sql-bench @tools_dirs@ \ mysql-test support-files sql-bench @tools_dirs@ \
@ -208,6 +208,10 @@ test-bt-fast:
-cd mysql-test ; MTR_BUILD_THREAD=auto \ -cd mysql-test ; MTR_BUILD_THREAD=auto \
@PERL@ ./mysql-test-run.pl $(MTR_EXTRA_OPTIONS) --force --comment=stress --suite=stress @PERL@ ./mysql-test-run.pl $(MTR_EXTRA_OPTIONS) --force --comment=stress --suite=stress
test-bt-fast2:
-cd mysql-test ; MTR_BUILD_THREAD=auto \
@PERL@ ./mysql-test-run.pl $(MTR_EXTRA_OPTIONS) --force --comment=ps --ps-protocol --report-features
test-bt-debug: test-bt-debug:
-cd mysql-test ; MTR_BUILD_THREAD=auto \ -cd mysql-test ; MTR_BUILD_THREAD=auto \
@PERL@ ./mysql-test-run.pl $(MTR_EXTRA_OPTIONS) --comment=debug --force --timer \ @PERL@ ./mysql-test-run.pl $(MTR_EXTRA_OPTIONS) --comment=debug --force --timer \

71
README
View File

@ -1,60 +1,57 @@
This is a release of MariaDB, a branch of MySQL. This is a release of MariaDB.
MariaDB is a drop-in replacement of MySQL, with more features, less MariaDB is designed as a drop-in replacement of MySQL(R) with more
bugs and better performance. features, new storage engines, fewer bugs, and better performance.
MariaDB is brought to you by many of the original developers of MySQL, MariaDB is brought to you by many of the original developers of MySQL
that now work for Monty Program Ab, and by many people in the who now work for Monty Program Ab, and by many people in the
community. community.
MySQL, which is the base of MariaDB, is brought to you by Sun. MySQL, which is the base of MariaDB, is a product and trademark of Sun
Microsystems, Inc. For a list of developers and other contributors,
see the Credits appendix. You can also do 'SHOW authors' to get a
list of active contributors.
License information can be found in these files: A description of the MariaDB project and a manual can be found at:
- For GPL (free) distributions, see the COPYING file and
the EXCEPTIONS-CLIENT file.
A description of the MariaDB project can be found at:
http://askmonty.org/wiki/index.php/MariaDB http://askmonty.org/wiki/index.php/MariaDB
GPLv2 Disclaimer
For the avoidance of doubt, except that if any license choice
other than GPL or LGPL is available it will apply instead, Sun
elects to use only the General Public License version 2 (GPLv2)
at this time for any software where a choice of GPL license versions
is made available with the language indicating that GPLv2 or any
later version may be used, or where a choice of which version of
the GPL is applied is otherwise unspecified.
The differences between MariaDB and MySQL can be found at:
http://askmonty.org/wiki/index.php/MariaDB_versus_MySQL http://askmonty.org/wiki/index.php/MariaDB_versus_MySQL
http://askmonty.org/wiki/index.php/Manual:Contents
Documentation about MySQL can be found at: As MariaDB is a full replacement of MySQL, the MySQL manual at
http://dev.mysql.com/doc http://dev.mysql.com/doc is generally applicable.
For further information about MySQL documentation, see: More help is available from the Maria Discuss mailing list
- The current MySQL documentation: https://launchpad.net/~maria-discuss
and the #maria IRC channel on Freenode.
Some manual sections of special interest: ***************************************************************************
NOTE:
MariaDB is specifically available only under version 2 of the GNU
General Public License (GPLv2). (I.e. Without the "any later version"
clause.) This is inherited from MySQL. Please see the README file in
the MySQL distribution for more information.
- For a list of developers and other contributors, see the Credits License information can be found in the COPYING file and the
appendix. EXCEPTIONS-CLIENT file.
A local copy of the MySQL Reference Manual can be found in the Docs ***************************************************************************
directory in GNU Info format. You can also browse the manual online or
download it in any of several formats from
http://dev.mysql.com/doc
************************************************************
IMPORTANT: IMPORTANT:
Bug or error reports regarding MariaDB should be sent to Bug and/or error reports regarding MariaDB should be submitted at
https://bugs.launchpad.net/maria https://bugs.launchpad.net/maria
Bugs in the MySQL code can also be sent to http://bugs.mysql.com
Bugs in the MySQL code can also be submitted at http://bugs.mysql.com
*************************************************************************** ***************************************************************************
***************************************************************************
%%The following software may be included in this product: %%The following software may be included in this product:
Fred Fish's Dbug Library Fred Fish's Dbug Library

View File

@ -83,7 +83,7 @@ extern "C" {
#include <term.h> #include <term.h>
#endif #endif
#endif #endif
#endif #endif /* defined(HAVE_CURSES_H) && defined(HAVE_TERM_H) */
#undef bcmp // Fix problem with new readline #undef bcmp // Fix problem with new readline
#if defined(__WIN__) #if defined(__WIN__)
@ -92,7 +92,6 @@ extern "C" {
#include <readline/readline.h> #include <readline/readline.h>
#define HAVE_READLINE #define HAVE_READLINE
#endif #endif
//int vidattr(long unsigned int attrs); // Was missing in sun curses
} }
#if !defined(HAVE_VIDATTR) #if !defined(HAVE_VIDATTR)
@ -1024,7 +1023,7 @@ static const char *load_default_groups[]= { "mysql","client",0 };
static int embedded_server_arg_count= 0; static int embedded_server_arg_count= 0;
static char *embedded_server_args[MAX_SERVER_ARGS]; static char *embedded_server_args[MAX_SERVER_ARGS];
static const char *embedded_server_groups[]= static const char *embedded_server_groups[]=
{ "server", "embedded", "mysql_SERVER", 0 }; { "server", "embedded", "mysql_SERVER", "mariadb_SERVER", 0 };
#ifdef HAVE_READLINE #ifdef HAVE_READLINE
/* /*
@ -1281,21 +1280,35 @@ sig_handler handle_sigint(int sig)
MYSQL *kill_mysql= NULL; MYSQL *kill_mysql= NULL;
/* terminate if no query being executed, or we already tried interrupting */ /* terminate if no query being executed, or we already tried interrupting */
if (!executing_query || interrupted_query) /* terminate if no query being executed, or we already tried interrupting */
if (!executing_query || (interrupted_query == 2))
{
tee_fprintf(stdout, "Ctrl-C -- exit!\n");
goto err; goto err;
}
kill_mysql= mysql_init(kill_mysql); kill_mysql= mysql_init(kill_mysql);
if (!mysql_real_connect(kill_mysql,current_host, current_user, opt_password, if (!mysql_real_connect(kill_mysql,current_host, current_user, opt_password,
"", opt_mysql_port, opt_mysql_unix_port,0)) "", opt_mysql_port, opt_mysql_unix_port,0))
{
tee_fprintf(stdout, "Ctrl-C -- sorry, cannot connect to server to kill query, giving up ...\n");
goto err; goto err;
}
interrupted_query++;
/* mysqld < 5 does not understand KILL QUERY, skip to KILL CONNECTION */
if ((interrupted_query == 1) && (mysql_get_server_version(&mysql) < 50000))
interrupted_query= 2;
/* kill_buffer is always big enough because max length of %lu is 15 */ /* kill_buffer is always big enough because max length of %lu is 15 */
sprintf(kill_buffer, "KILL /*!50000 QUERY */ %lu", mysql_thread_id(&mysql)); sprintf(kill_buffer, "KILL %s%lu",
mysql_real_query(kill_mysql, kill_buffer, strlen(kill_buffer)); (interrupted_query == 1) ? "QUERY " : "",
mysql_thread_id(&mysql));
tee_fprintf(stdout, "Ctrl-C -- sending \"%s\" to server ...\n", kill_buffer);
mysql_real_query(kill_mysql, kill_buffer, (uint) strlen(kill_buffer));
mysql_close(kill_mysql); mysql_close(kill_mysql);
tee_fprintf(stdout, "Query aborted by Ctrl+C\n"); tee_fprintf(stdout, "Ctrl-C -- query aborted.\n");
interrupted_query= 1;
return; return;
@ -2873,7 +2886,7 @@ com_help(String *buffer __attribute__((unused)),
"For developer information, including the MySQL Reference Manual, " "For developer information, including the MySQL Reference Manual, "
"visit:\n" "visit:\n"
" http://dev.mysql.com/\n" " http://dev.mysql.com/\n"
"To buy MySQL Network Support, training, or other products, visit:\n" "To buy MySQL Enterprise support, training, or other products, visit:\n"
" https://shop.mysql.com/\n", INFO_INFO); " https://shop.mysql.com/\n", INFO_INFO);
put_info("List of all MySQL commands:", INFO_INFO); put_info("List of all MySQL commands:", INFO_INFO);
if (!named_cmds) if (!named_cmds)

View File

@ -54,6 +54,8 @@ static char **defaults_argv;
static my_bool not_used; /* Can't use GET_BOOL without a value pointer */ static my_bool not_used; /* Can't use GET_BOOL without a value pointer */
static my_bool opt_write_binlog;
#include <help_start.h> #include <help_start.h>
static struct my_option my_long_options[]= static struct my_option my_long_options[]=
@ -124,6 +126,11 @@ static struct my_option my_long_options[]=
{"verbose", 'v', "Display more output about the process", {"verbose", 'v', "Display more output about the process",
(uchar**) &opt_verbose, (uchar**) &opt_verbose, 0, (uchar**) &opt_verbose, (uchar**) &opt_verbose, 0,
GET_BOOL, NO_ARG, 1, 0, 0, 0, 0, 0}, GET_BOOL, NO_ARG, 1, 0, 0, 0, 0, 0},
{"write-binlog", OPT_WRITE_BINLOG,
"All commands including mysqlcheck are binlogged. Enabled by default;"
"use --skip-write-binlog when commands should not be sent to replication slaves.",
(uchar**) &opt_write_binlog, (uchar**) &opt_write_binlog, 0, GET_BOOL, NO_ARG,
1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0} {0, 0, 0, 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}
}; };
@ -448,6 +455,8 @@ static int run_query(const char *query, DYNAMIC_STRING *ds_res,
int ret; int ret;
File fd; File fd;
char query_file_path[FN_REFLEN]; char query_file_path[FN_REFLEN];
const uchar sql_log_bin[]= "SET SQL_LOG_BIN=0;";
DBUG_ENTER("run_query"); DBUG_ENTER("run_query");
DBUG_PRINT("enter", ("query: %s", query)); DBUG_PRINT("enter", ("query: %s", query));
if ((fd= create_temp_file(query_file_path, opt_tmpdir, if ((fd= create_temp_file(query_file_path, opt_tmpdir,
@ -455,6 +464,22 @@ static int run_query(const char *query, DYNAMIC_STRING *ds_res,
MYF(MY_WME))) < 0) MYF(MY_WME))) < 0)
die("Failed to create temporary file for defaults"); die("Failed to create temporary file for defaults");
/*
Master and slave should be upgraded separately. All statements executed
by mysql_upgrade will not be binlogged.
'SET SQL_LOG_BIN=0' is executed before any other statements.
*/
if (!opt_write_binlog)
{
if (my_write(fd, sql_log_bin, sizeof(sql_log_bin)-1,
MYF(MY_FNABP | MY_WME)))
{
my_close(fd, MYF(0));
my_delete(query_file_path, MYF(0));
die("Failed to write to '%s'", query_file_path);
}
}
if (my_write(fd, (uchar*) query, strlen(query), if (my_write(fd, (uchar*) query, strlen(query),
MYF(MY_FNABP | MY_WME))) MYF(MY_FNABP | MY_WME)))
{ {
@ -552,7 +577,6 @@ static int upgrade_already_done(void)
FILE *in; FILE *in;
char upgrade_info_file[FN_REFLEN]= {0}; char upgrade_info_file[FN_REFLEN]= {0};
char buf[sizeof(MYSQL_SERVER_VERSION)+1]; char buf[sizeof(MYSQL_SERVER_VERSION)+1];
char *res;
if (get_upgrade_info_file_name(upgrade_info_file)) if (get_upgrade_info_file_name(upgrade_info_file))
return 0; /* Could not get filename => not sure */ return 0; /* Could not get filename => not sure */
@ -647,6 +671,7 @@ static int run_mysqlcheck_upgrade(void)
"--check-upgrade", "--check-upgrade",
"--all-databases", "--all-databases",
"--auto-repair", "--auto-repair",
opt_write_binlog ? "--write-binlog" : "--skip-write-binlog",
NULL); NULL);
} }
@ -661,6 +686,7 @@ static int run_mysqlcheck_fixnames(void)
"--all-databases", "--all-databases",
"--fix-db-names", "--fix-db-names",
"--fix-table-names", "--fix-table-names",
opt_write_binlog ? "--write-binlog" : "--skip-write-binlog",
NULL); NULL);
} }

View File

@ -87,6 +87,9 @@ static const char* host = 0;
static int port= 0; static int port= 0;
static uint my_end_arg; static uint my_end_arg;
static const char* sock= 0; static const char* sock= 0;
#ifdef HAVE_SMEM
static char *shared_memory_base_name= 0;
#endif
static const char* user = 0; static const char* user = 0;
static char* pass = 0; static char* pass = 0;
static char *charset= 0; static char *charset= 0;
@ -773,7 +776,10 @@ Exit_status process_event(PRINT_EVENT_INFO *print_event_info, Log_event *ev,
case QUERY_EVENT: case QUERY_EVENT:
{ {
Query_log_event *qe= (Query_log_event*)ev; Query_log_event *qe= (Query_log_event*)ev;
if (shall_skip_database(qe->db)) if (strncmp(qe->query, "BEGIN", 5) &&
strncmp(qe->query, "COMMIT", 6) &&
strncmp(qe->query, "ROLLBACK", 8) &&
shall_skip_database(qe->db))
goto end; goto end;
print_use_stmt(print_event_info, qe->db, qe->db_len); print_use_stmt(print_event_info, qe->db, qe->db_len);
if (opt_base64_output_mode == BASE64_OUTPUT_ALWAYS) if (opt_base64_output_mode == BASE64_OUTPUT_ALWAYS)
@ -1048,13 +1054,13 @@ static struct my_option my_long_options[] =
/* 'unspec' is not mentioned because it is just a placeholder. */ /* 'unspec' is not mentioned because it is just a placeholder. */
"Determine when the output statements should be base64-encoded BINLOG " "Determine when the output statements should be base64-encoded BINLOG "
"statements: 'never' disables it and works only for binlogs without " "statements: 'never' disables it and works only for binlogs without "
"row-based events; 'auto' is the default and prints base64 only when " "row-based events; 'decode-rows' decodes row events into commented SQL "
"necessary (i.e., for row-based events and format description events); " "statements if the --verbose option is also given; 'auto' prints base64 "
"'decode-rows' suppresses BINLOG statements for row events, but does " "only when necessary (i.e., for row-based events and format description "
"not exit as an error if a row event is found, unlike 'never'; " "events); 'always' prints base64 whenever possible. 'always' is for "
"'always' prints base64 whenever possible. 'always' is for debugging " "debugging only and should not be used in a production system. If this "
"only and should not be used in a production system. The default is " "argument is not given, the default is 'auto'; if it is given with no "
"'auto'. --base64-output is a short form for --base64-output=always." "argument, 'always' is used."
,(uchar**) &opt_base64_output_mode_str, ,(uchar**) &opt_base64_output_mode_str,
(uchar**) &opt_base64_output_mode_str, (uchar**) &opt_base64_output_mode_str,
0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0}, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
@ -1133,6 +1139,12 @@ static struct my_option my_long_options[] =
{"set-charset", OPT_SET_CHARSET, {"set-charset", OPT_SET_CHARSET,
"Add 'SET NAMES character_set' to the output.", (uchar**) &charset, "Add 'SET NAMES character_set' to the output.", (uchar**) &charset,
(uchar**) &charset, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, (uchar**) &charset, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
#ifdef HAVE_SMEM
{"shared-memory-base-name", OPT_SHARED_MEMORY_BASE_NAME,
"Base name of shared memory.", (uchar**) &shared_memory_base_name,
(uchar**) &shared_memory_base_name,
0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
#endif
{"short-form", 's', "Just show regular queries: no extra info and no " {"short-form", 's', "Just show regular queries: no extra info and no "
"row-based events. This is for testing only, and should not be used in " "row-based events. This is for testing only, and should not be used in "
"production systems. If you want to suppress base64-output, consider " "production systems. If you want to suppress base64-output, consider "
@ -1486,6 +1498,11 @@ static Exit_status safe_connect()
if (opt_protocol) if (opt_protocol)
mysql_options(mysql, MYSQL_OPT_PROTOCOL, (char*) &opt_protocol); mysql_options(mysql, MYSQL_OPT_PROTOCOL, (char*) &opt_protocol);
#ifdef HAVE_SMEM
if (shared_memory_base_name)
mysql_options(mysql, MYSQL_SHARED_MEMORY_BASE_NAME,
shared_memory_base_name);
#endif
if (!mysql_real_connect(mysql, host, user, pass, 0, port, sock, 0)) if (!mysql_real_connect(mysql, host, user, pass, 0, port, sock, 0))
{ {
error("Failed on connect: %s", mysql_error(mysql)); error("Failed on connect: %s", mysql_error(mysql));

View File

@ -652,6 +652,17 @@ static int use_db(char *database)
return 0; return 0;
} /* use_db */ } /* use_db */
static int disable_binlog()
{
const char *stmt= "SET SQL_LOG_BIN=0";
if (mysql_query(sock, stmt))
{
fprintf(stderr, "Failed to %s\n", stmt);
fprintf(stderr, "Error: %s\n", mysql_error(sock));
return 1;
}
return 0;
}
static int handle_request_for_tables(char *tables, uint length) static int handle_request_for_tables(char *tables, uint length)
{ {
@ -844,6 +855,14 @@ int main(int argc, char **argv)
if (dbConnect(current_host, current_user, opt_password)) if (dbConnect(current_host, current_user, opt_password))
exit(EX_MYSQLERR); exit(EX_MYSQLERR);
if (!opt_write_binlog)
{
if (disable_binlog()) {
first_error= 1;
goto end;
}
}
if (opt_auto_repair && if (opt_auto_repair &&
my_init_dynamic_array(&tables4repair, sizeof(char)*(NAME_LEN*2+2),16,64)) my_init_dynamic_array(&tables4repair, sizeof(char)*(NAME_LEN*2+2),16,64))
{ {

View File

@ -1,4 +1,4 @@
/* Copyright (C) 2000-2006 MySQL AB /* Copyright (C) 2000-2006 MySQL AB, 2009 Sun Microsystems, Inc.
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
@ -583,7 +583,7 @@ error:
counter--; counter--;
pthread_cond_signal(&count_threshhold); pthread_cond_signal(&count_threshhold);
pthread_mutex_unlock(&counter_mutex); pthread_mutex_unlock(&counter_mutex);
my_thread_end(); mysql_thread_end();
return 0; return 0;
} }

View File

@ -1,4 +1,4 @@
/* Copyright (C) 2005 MySQL AB /* Copyright (C) 2005 MySQL AB, 2009 Sun Microsystems, Inc.
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
@ -423,6 +423,7 @@ void concurrency_loop(MYSQL *mysql, uint current, option_string *eptr)
stats *sptr; stats *sptr;
conclusions conclusion; conclusions conclusion;
unsigned long long client_limit; unsigned long long client_limit;
int sysret;
head_sptr= (stats *)my_malloc(sizeof(stats) * iterations, head_sptr= (stats *)my_malloc(sizeof(stats) * iterations,
MYF(MY_ZEROFILL|MY_FAE|MY_WME)); MYF(MY_ZEROFILL|MY_FAE|MY_WME));
@ -472,7 +473,10 @@ void concurrency_loop(MYSQL *mysql, uint current, option_string *eptr)
run_query(mysql, "SET AUTOCOMMIT=0", strlen("SET AUTOCOMMIT=0")); run_query(mysql, "SET AUTOCOMMIT=0", strlen("SET AUTOCOMMIT=0"));
if (pre_system) if (pre_system)
if (system(pre_system)) { /* Ignore for now */ } if ((sysret= system(pre_system)) != 0)
fprintf(stderr,
"Warning: Execution of pre_system option returned %d.\n",
sysret);
/* /*
Pre statements are always run after all other logic so they can Pre statements are always run after all other logic so they can
@ -487,8 +491,10 @@ void concurrency_loop(MYSQL *mysql, uint current, option_string *eptr)
run_statements(mysql, post_statements); run_statements(mysql, post_statements);
if (post_system) if (post_system)
if (system(post_system)) { /* Ignore for now */ } if ((sysret= system(post_system)) != 0)
fprintf(stderr,
"Warning: Execution of post_system option returned %d.\n",
sysret);
/* We are finished with this run */ /* We are finished with this run */
if (auto_generate_sql_autoincrement || auto_generate_sql_guid_primary) if (auto_generate_sql_autoincrement || auto_generate_sql_guid_primary)
drop_primary_key_list(); drop_primary_key_list();
@ -597,8 +603,8 @@ static struct my_option my_long_options[] =
(uchar**) &detach_rate, (uchar**) &detach_rate, 0, GET_UINT, REQUIRED_ARG, (uchar**) &detach_rate, (uchar**) &detach_rate, 0, GET_UINT, REQUIRED_ARG,
0, 0, 0, 0, 0, 0}, 0, 0, 0, 0, 0, 0},
{"engine", 'e', "Comma separated list of storage engines to use for creating the table." {"engine", 'e', "Comma separated list of storage engines to use for creating the table."
"The test is run for each engine. You can also specify an option for an engine" " The test is run for each engine. You can also specify an option for an engine"
"after a `:', like memory:max_row=2300", " after a `:', like memory:max_row=2300",
(uchar**) &default_engine, (uchar**) &default_engine, 0, (uchar**) &default_engine, (uchar**) &default_engine, 0,
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
{"host", 'h', "Connect to host.", (uchar**) &host, (uchar**) &host, 0, GET_STR, {"host", 'h', "Connect to host.", (uchar**) &host, (uchar**) &host, 0, GET_STR,
@ -1942,7 +1948,7 @@ end:
if (!opt_only_print) if (!opt_only_print)
mysql_close(mysql); mysql_close(mysql);
my_thread_end(); mysql_thread_end();
pthread_mutex_lock(&counter_mutex); pthread_mutex_lock(&counter_mutex);
thread_counter--; thread_counter--;

View File

@ -82,6 +82,9 @@ enum {
static int record= 0, opt_sleep= -1; static int record= 0, opt_sleep= -1;
static char *opt_db= 0, *opt_pass= 0; static char *opt_db= 0, *opt_pass= 0;
const char *opt_user= 0, *opt_host= 0, *unix_sock= 0, *opt_basedir= "./"; const char *opt_user= 0, *opt_host= 0, *unix_sock= 0, *opt_basedir= "./";
#ifdef HAVE_SMEM
static char *shared_memory_base_name=0;
#endif
const char *opt_logdir= ""; const char *opt_logdir= "";
const char *opt_include= 0, *opt_charsets_dir; const char *opt_include= 0, *opt_charsets_dir;
static int opt_port= 0; static int opt_port= 0;
@ -429,6 +432,7 @@ static struct st_expected_errors saved_expected_errors;
struct st_command struct st_command
{ {
char *query, *query_buf,*first_argument,*last_argument,*end; char *query, *query_buf,*first_argument,*last_argument,*end;
DYNAMIC_STRING content;
int first_word_len, query_len; int first_word_len, query_len;
my_bool abort_on_error; my_bool abort_on_error;
struct st_expected_errors expected_errors; struct st_expected_errors expected_errors;
@ -1152,6 +1156,8 @@ void free_used_memory()
{ {
struct st_command **q= dynamic_element(&q_lines, i, struct st_command**); struct st_command **q= dynamic_element(&q_lines, i, struct st_command**);
my_free((*q)->query_buf,MYF(MY_ALLOW_ZERO_PTR)); my_free((*q)->query_buf,MYF(MY_ALLOW_ZERO_PTR));
if ((*q)->content.str)
dynstr_free(&(*q)->content);
my_free((*q),MYF(0)); my_free((*q),MYF(0));
} }
for (i= 0; i < 10; i++) for (i= 0; i < 10; i++)
@ -1177,6 +1183,7 @@ void free_used_memory()
mysql_server_end(); mysql_server_end();
/* Don't use DBUG after mysql_server_end() */ /* Don't use DBUG after mysql_server_end() */
DBUG_VIOLATION_HELPER_LEAVE;
return; return;
} }
@ -1543,7 +1550,7 @@ void show_diff(DYNAMIC_STRING* ds,
else else
diff_name = 0; diff_name = 0;
#else #else
diff_name = "diff"; // Otherwise always assume it's called diff diff_name = "diff"; /* Otherwise always assume it's called diff */
#endif #endif
if (diff_name) if (diff_name)
@ -3321,21 +3328,30 @@ void do_write_file_command(struct st_command *command, my_bool append)
sizeof(write_file_args)/sizeof(struct command_arg), sizeof(write_file_args)/sizeof(struct command_arg),
' '); ' ');
/* If no delimiter was provided, use EOF */
if (ds_delimiter.length == 0)
dynstr_set(&ds_delimiter, "EOF");
if (!append && access(ds_filename.str, F_OK) == 0) if (!append && access(ds_filename.str, F_OK) == 0)
{ {
/* The file should not be overwritten */ /* The file should not be overwritten */
die("File already exist: '%s'", ds_filename.str); die("File already exist: '%s'", ds_filename.str);
} }
init_dynamic_string(&ds_content, "", 1024, 1024); ds_content= command->content;
read_until_delimiter(&ds_content, &ds_delimiter); /* If it hasn't been done already by a loop iteration, fill it in */
DBUG_PRINT("info", ("Writing to file: %s", ds_filename.str)); if (! ds_content.str)
str_to_file2(ds_filename.str, ds_content.str, ds_content.length, append); {
dynstr_free(&ds_content); /* If no delimiter was provided, use EOF */
if (ds_delimiter.length == 0)
dynstr_set(&ds_delimiter, "EOF");
init_dynamic_string(&ds_content, "", 1024, 1024);
read_until_delimiter(&ds_content, &ds_delimiter);
command->content= ds_content;
}
/* This function could be called even if "false", so check before printing */
if (cur_block->ok)
{
DBUG_PRINT("info", ("Writing to file: %s", ds_filename.str));
str_to_file2(ds_filename.str, ds_content.str, ds_content.length, append);
}
dynstr_free(&ds_filename); dynstr_free(&ds_filename);
dynstr_free(&ds_delimiter); dynstr_free(&ds_delimiter);
DBUG_VOID_RETURN; DBUG_VOID_RETURN;
@ -3478,12 +3494,17 @@ void do_diff_files(struct st_command *command)
die("command \"diff_files\" failed, file '%s' does not exist", die("command \"diff_files\" failed, file '%s' does not exist",
ds_filename2.str); ds_filename2.str);
if ((error= compare_files(ds_filename.str, ds_filename2.str))) if ((error= compare_files(ds_filename.str, ds_filename2.str)) &&
match_expected_error(command, error, NULL) < 0)
{ {
/* Compare of the two files failed, append them to output /* Compare of the two files failed, append them to output
so the failure can be analyzed so the failure can be analyzed, but only if it was not
expected to fail.
*/ */
show_diff(&ds_res, ds_filename.str, ds_filename2.str); show_diff(&ds_res, ds_filename.str, ds_filename2.str);
log_file.write(&ds_res);
log_file.flush();
dynstr_set(&ds_res, 0);
} }
dynstr_free(&ds_filename); dynstr_free(&ds_filename);
@ -4910,6 +4931,8 @@ do_handle_error:
<opts> - options to use for the connection <opts> - options to use for the connection
* SSL - use SSL if available * SSL - use SSL if available
* COMPRESS - use compression if available * COMPRESS - use compression if available
* SHM - use shared memory if available
* PIPE - use named pipe if available
*/ */
@ -4918,6 +4941,7 @@ void do_connect(struct st_command *command)
int con_port= opt_port; int con_port= opt_port;
char *con_options; char *con_options;
my_bool con_ssl= 0, con_compress= 0; my_bool con_ssl= 0, con_compress= 0;
my_bool con_pipe= 0, con_shm= 0;
struct st_connection* con_slot; struct st_connection* con_slot;
static DYNAMIC_STRING ds_connection_name; static DYNAMIC_STRING ds_connection_name;
@ -4928,6 +4952,9 @@ void do_connect(struct st_command *command)
static DYNAMIC_STRING ds_port; static DYNAMIC_STRING ds_port;
static DYNAMIC_STRING ds_sock; static DYNAMIC_STRING ds_sock;
static DYNAMIC_STRING ds_options; static DYNAMIC_STRING ds_options;
#ifdef HAVE_SMEM
static DYNAMIC_STRING ds_shm;
#endif
const struct command_arg connect_args[] = { const struct command_arg connect_args[] = {
{ "connection name", ARG_STRING, TRUE, &ds_connection_name, "Name of the connection" }, { "connection name", ARG_STRING, TRUE, &ds_connection_name, "Name of the connection" },
{ "host", ARG_STRING, TRUE, &ds_host, "Host to connect to" }, { "host", ARG_STRING, TRUE, &ds_host, "Host to connect to" },
@ -4955,6 +4982,11 @@ void do_connect(struct st_command *command)
die("Illegal argument for port: '%s'", ds_port.str); die("Illegal argument for port: '%s'", ds_port.str);
} }
#ifdef HAVE_SMEM
/* Shared memory */
init_dynamic_string(&ds_shm, ds_sock.str, 0, 0);
#endif
/* Sock */ /* Sock */
if (ds_sock.length) if (ds_sock.length)
{ {
@ -4993,6 +5025,10 @@ void do_connect(struct st_command *command)
con_ssl= 1; con_ssl= 1;
else if (!strncmp(con_options, "COMPRESS", 8)) else if (!strncmp(con_options, "COMPRESS", 8))
con_compress= 1; con_compress= 1;
else if (!strncmp(con_options, "PIPE", 4))
con_pipe= 1;
else if (!strncmp(con_options, "SHM", 3))
con_shm= 1;
else else
die("Illegal option to connect: %.*s", die("Illegal option to connect: %.*s",
(int) (end - con_options), con_options); (int) (end - con_options), con_options);
@ -5043,6 +5079,31 @@ void do_connect(struct st_command *command)
} }
#endif #endif
#ifdef __WIN__
if (con_pipe)
{
uint protocol= MYSQL_PROTOCOL_PIPE;
mysql_options(&con_slot->mysql, MYSQL_OPT_PROTOCOL, &protocol);
}
#endif
#ifdef HAVE_SMEM
if (con_shm)
{
uint protocol= MYSQL_PROTOCOL_MEMORY;
if (!ds_shm.length)
die("Missing shared memory base name");
mysql_options(&con_slot->mysql, MYSQL_SHARED_MEMORY_BASE_NAME, ds_shm.str);
mysql_options(&con_slot->mysql, MYSQL_OPT_PROTOCOL, &protocol);
}
else if(shared_memory_base_name)
{
mysql_options(&con_slot->mysql, MYSQL_SHARED_MEMORY_BASE_NAME,
shared_memory_base_name);
}
#endif
/* Use default db name */ /* Use default db name */
if (ds_database.length == 0) if (ds_database.length == 0)
dynstr_set(&ds_database, opt_db); dynstr_set(&ds_database, opt_db);
@ -5075,6 +5136,9 @@ void do_connect(struct st_command *command)
dynstr_free(&ds_port); dynstr_free(&ds_port);
dynstr_free(&ds_sock); dynstr_free(&ds_sock);
dynstr_free(&ds_options); dynstr_free(&ds_options);
#ifdef HAVE_SMEM
dynstr_free(&ds_shm);
#endif
DBUG_VOID_RETURN; DBUG_VOID_RETURN;
} }
@ -5746,6 +5810,12 @@ static struct my_option my_long_options[] =
0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, 0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
{"server-file", 'F', "Read embedded server arguments from file.", {"server-file", 'F', "Read embedded server arguments from file.",
0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, 0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
#ifdef HAVE_SMEM
{"shared-memory-base-name", OPT_SHARED_MEMORY_BASE_NAME,
"Base name of shared memory.", (uchar**) &shared_memory_base_name,
(uchar**) &shared_memory_base_name, 0, GET_STR, REQUIRED_ARG, 0, 0, 0,
0, 0, 0},
#endif
{"silent", 's', "Suppress all normal output. Synonym for --quiet.", {"silent", 's', "Suppress all normal output. Synonym for --quiet.",
(uchar**) &silent, (uchar**) &silent, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0}, (uchar**) &silent, (uchar**) &silent, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
{"skip-safemalloc", OPT_SKIP_SAFEMALLOC, {"skip-safemalloc", OPT_SKIP_SAFEMALLOC,
@ -6809,8 +6879,10 @@ void run_query_stmt(MYSQL *mysql, struct st_command *command,
MYSQL_STMT *stmt; MYSQL_STMT *stmt;
DYNAMIC_STRING ds_prepare_warnings; DYNAMIC_STRING ds_prepare_warnings;
DYNAMIC_STRING ds_execute_warnings; DYNAMIC_STRING ds_execute_warnings;
ulonglong affected_rows;
DBUG_ENTER("run_query_stmt"); DBUG_ENTER("run_query_stmt");
DBUG_PRINT("query", ("'%-.60s'", query)); DBUG_PRINT("query", ("'%-.60s'", query));
LINT_INIT(affected_rows);
/* /*
Init a new stmt if it's not already one created for this connection Init a new stmt if it's not already one created for this connection
@ -6950,32 +7022,43 @@ void run_query_stmt(MYSQL *mysql, struct st_command *command,
*/ */
} }
if (!disable_warnings) /*
Need to grab affected rows information before getting
warnings here
*/
{ {
/* Get the warnings from execute */ ulonglong affected_rows;
LINT_INIT(affected_rows);
/* Append warnings to ds - if there are any */ if (!disable_info)
if (append_warnings(&ds_execute_warnings, mysql) || affected_rows= mysql_affected_rows(mysql);
ds_execute_warnings.length ||
ds_prepare_warnings.length || if (!disable_warnings)
ds_warnings->length)
{ {
dynstr_append_mem(ds, "Warnings:\n", 10); /* Get the warnings from execute */
if (ds_warnings->length)
dynstr_append_mem(ds, ds_warnings->str, /* Append warnings to ds - if there are any */
ds_warnings->length); if (append_warnings(&ds_execute_warnings, mysql) ||
if (ds_prepare_warnings.length) ds_execute_warnings.length ||
dynstr_append_mem(ds, ds_prepare_warnings.str, ds_prepare_warnings.length ||
ds_prepare_warnings.length); ds_warnings->length)
if (ds_execute_warnings.length) {
dynstr_append_mem(ds, ds_execute_warnings.str, dynstr_append_mem(ds, "Warnings:\n", 10);
ds_execute_warnings.length); if (ds_warnings->length)
dynstr_append_mem(ds, ds_warnings->str,
ds_warnings->length);
if (ds_prepare_warnings.length)
dynstr_append_mem(ds, ds_prepare_warnings.str,
ds_prepare_warnings.length);
if (ds_execute_warnings.length)
dynstr_append_mem(ds, ds_execute_warnings.str,
ds_execute_warnings.length);
}
} }
if (!disable_info)
append_info(ds, affected_rows, mysql_info(mysql));
} }
if (!disable_info)
append_info(ds, mysql_affected_rows(mysql), mysql_info(mysql));
} }
end: end:
@ -7224,6 +7307,10 @@ void run_query(struct st_connection *cn, struct st_command *command, int flags)
run_query_normal(cn, command, flags, query, query_len, run_query_normal(cn, command, flags, query, query_len,
ds, &ds_warnings); ds, &ds_warnings);
dynstr_free(&ds_warnings);
if (command->type == Q_EVAL)
dynstr_free(&eval_query);
if (display_result_sorted) if (display_result_sorted)
{ {
/* Sort the result set and append it to result */ /* Sort the result set and append it to result */
@ -7254,11 +7341,8 @@ void run_query(struct st_connection *cn, struct st_command *command, int flags)
check_require(ds, command->require_file); check_require(ds, command->require_file);
} }
dynstr_free(&ds_warnings);
if (ds == &ds_result) if (ds == &ds_result)
dynstr_free(&ds_result); dynstr_free(&ds_result);
if (command->type == Q_EVAL)
dynstr_free(&eval_query);
DBUG_VOID_RETURN; DBUG_VOID_RETURN;
} }
@ -7704,6 +7788,11 @@ int main(int argc, char **argv)
} }
#endif #endif
#ifdef HAVE_SMEM
if (shared_memory_base_name)
mysql_options(&con->mysql,MYSQL_SHARED_MEMORY_BASE_NAME,shared_memory_base_name);
#endif
if (!(con->name = my_strdup("default", MYF(MY_WME)))) if (!(con->name = my_strdup("default", MYF(MY_WME))))
die("Out of memory"); die("Out of memory");
@ -7742,7 +7831,32 @@ int main(int argc, char **argv)
command->type= Q_COMMENT; command->type= Q_COMMENT;
} }
if (cur_block->ok) my_bool ok_to_do= cur_block->ok;
/*
Some commands need to be "done" the first time if they may get
re-iterated over in a true context. This can only happen if there's
a while loop at some level above the current block.
*/
if (!ok_to_do)
{
if (command->type == Q_SOURCE ||
command->type == Q_ERROR ||
command->type == Q_WRITE_FILE ||
command->type == Q_APPEND_FILE ||
command->type == Q_PERL)
{
for (struct st_block *stb= cur_block-1; stb >= block_stack; stb--)
{
if (stb->cmd == cmd_while)
{
ok_to_do= 1;
break;
}
}
}
}
if (ok_to_do)
{ {
command->last_argument= command->first_argument; command->last_argument= command->first_argument;
processed = 1; processed = 1;
@ -8053,6 +8167,8 @@ int main(int argc, char **argv)
if (parsing_disabled) if (parsing_disabled)
die("Test ended with parsing disabled"); die("Test ended with parsing disabled");
my_bool empty_result= FALSE;
/* /*
The whole test has been executed _sucessfully_. The whole test has been executed _sucessfully_.
Time to compare result or save it to record file. Time to compare result or save it to record file.
@ -8093,11 +8209,20 @@ int main(int argc, char **argv)
} }
else else
{ {
die("The test didn't produce any output"); /* Empty output is an error *unless* we also have an empty result file */
if (! result_file_name || record ||
compare_files (log_file.file_name(), result_file_name))
{
die("The test didn't produce any output");
}
else
{
empty_result= TRUE; /* Meaning empty was expected */
}
} }
if (!command_executed && result_file_name) if (!command_executed && result_file_name && !empty_result)
die("No queries executed but result file found!"); die("No queries executed but non-empty result file found!");
verbose_msg("Test has succeeded!"); verbose_msg("Test has succeeded!");
timer_output(); timer_output();
@ -8184,6 +8309,8 @@ void do_get_replace_column(struct st_command *command)
} }
my_free(start, MYF(0)); my_free(start, MYF(0));
command->last_argument= command->end; command->last_argument= command->end;
DBUG_VOID_RETURN;
} }

View File

@ -7,6 +7,13 @@
# include <config.h> # include <config.h>
#endif #endif
#ifdef NOT_YET /* causes problem on MacOSX */
/* to get wcwidth() defined */
#define _XOPEN_SOURCE 600
#define _XOPEN_SOURCE_EXTENDED
#define _XOPEN_
#endif
/* /*
Ultrix botches type-ahead when switching from canonical to Ultrix botches type-ahead when switching from canonical to
non-canonical mode, at least through version 4.3 non-canonical mode, at least through version 4.3

View File

@ -461,12 +461,12 @@ rl_redisplay ()
register char *line; register char *line;
int inv_botlin, lb_linenum, o_cpos; int inv_botlin, lb_linenum, o_cpos;
int newlines, lpos, temp, modmark; int newlines, lpos, temp, modmark;
char *prompt_this_line; const char *prompt_this_line;
#if defined (HANDLE_MULTIBYTE) #if defined (HANDLE_MULTIBYTE)
int num, n0; int num, n0= 0;
wchar_t wc; wchar_t wc;
size_t wc_bytes; size_t wc_bytes;
int wc_width; int wc_width= 0;
mbstate_t ps; mbstate_t ps;
int _rl_wrapped_multicolumn = 0; int _rl_wrapped_multicolumn = 0;
#endif #endif
@ -824,7 +824,7 @@ rl_redisplay ()
cpos_buffer_position = out; cpos_buffer_position = out;
lb_linenum = newlines; lb_linenum = newlines;
} }
for (i = in; i < in+wc_bytes; i++) for (i = in; i < in+(int)wc_bytes; i++)
line[out++] = rl_line_buffer[i]; line[out++] = rl_line_buffer[i];
for (i = 0; i < wc_width; i++) for (i = 0; i < wc_width; i++)
CHECK_LPOS(); CHECK_LPOS();

View File

@ -211,14 +211,14 @@ history_get (offset)
HIST_ENTRY * HIST_ENTRY *
alloc_history_entry (string, ts) alloc_history_entry (string, ts)
char *string; const char *string;
char *ts; char *ts;
{ {
HIST_ENTRY *temp; HIST_ENTRY *temp;
temp = (HIST_ENTRY *)xmalloc (sizeof (HIST_ENTRY)); temp = (HIST_ENTRY *)xmalloc (sizeof (HIST_ENTRY));
temp->line = string ? savestring (string) : string; temp->line = string ? savestring ((char*) string) : (char*) string;
temp->data = (char *)NULL; temp->data = (char *)NULL;
temp->timestamp = ts; temp->timestamp = ts;

View File

@ -109,8 +109,8 @@ extern int _rl_is_mbchar_matched PARAMS((char *, int, int, char *, int));
extern wchar_t _rl_char_value PARAMS((char *, int)); extern wchar_t _rl_char_value PARAMS((char *, int));
extern int _rl_walphabetic PARAMS((wchar_t)); extern int _rl_walphabetic PARAMS((wchar_t));
#define _rl_to_wupper(wc) (iswlower (wc) ? towupper (wc) : (wc)) #define _rl_to_wupper(wc) (iswlower (wc) ? (wchar_t) towupper (wc) : (wc))
#define _rl_to_wlower(wc) (iswupper (wc) ? towlower (wc) : (wc)) #define _rl_to_wlower(wc) (iswupper (wc) ? (wchar_t) towlower (wc) : (wc))
#define MB_NEXTCHAR(b,s,c,f) \ #define MB_NEXTCHAR(b,s,c,f) \
((MB_CUR_MAX > 1 && rl_byte_oriented == 0) \ ((MB_CUR_MAX > 1 && rl_byte_oriented == 0) \

View File

@ -614,7 +614,7 @@ rl_arrow_keys (count, c)
#ifdef HANDLE_MULTIBYTE #ifdef HANDLE_MULTIBYTE
static char pending_bytes[MB_LEN_MAX]; static char pending_bytes[MB_LEN_MAX];
static int pending_bytes_length = 0; static int pending_bytes_length = 0;
static mbstate_t ps = {0}; static mbstate_t ps;
#endif #endif
/* Insert the character C at the current location, moving point forward. /* Insert the character C at the current location, moving point forward.

View File

@ -42,7 +42,7 @@
static void static void
memory_error_and_abort (fname) memory_error_and_abort (fname)
char *fname; const char *fname;
{ {
fprintf (stderr, "%s: out of virtual memory\n", fname); fprintf (stderr, "%s: out of virtual memory\n", fname);
exit (2); exit (2);

View File

@ -1652,13 +1652,14 @@ then
DEBUG_OPTIMIZE_CXX="-O" DEBUG_OPTIMIZE_CXX="-O"
OPTIMIZE_CXXFLAGS="$MAX_CXX_OPTIMIZE" OPTIMIZE_CXXFLAGS="$MAX_CXX_OPTIMIZE"
else else
DEBUG_CXXFLAGS="-g"
DEBUG_OPTIMIZE_CXX="" DEBUG_OPTIMIZE_CXX=""
case $SYSTEM_TYPE in case $SYSTEM_TYPE in
*solaris*) *solaris*)
DEBUG_CXXFLAGS="-g0"
OPTIMIZE_CXXFLAGS="-O1" OPTIMIZE_CXXFLAGS="-O1"
;; ;;
*) *)
DEBUG_CXXFLAGS="-g"
OPTIMIZE_CXXFLAGS="-O" OPTIMIZE_CXXFLAGS="-O"
;; ;;
esac esac
@ -1715,6 +1716,23 @@ else
CXXFLAGS="$OPTIMIZE_CXXFLAGS $CXXFLAGS" CXXFLAGS="$OPTIMIZE_CXXFLAGS $CXXFLAGS"
fi fi
# Debug Sync Facility. NOTE: depends on 'with_debug'. Must be behind it.
AC_MSG_CHECKING(if Debug Sync Facility should be enabled.)
AC_ARG_ENABLE(debug_sync,
AS_HELP_STRING([--enable-debug-sync],
[Build a version with Debug Sync Facility]),
[ enable_debug_sync=$enableval ],
[ enable_debug_sync=$with_debug ])
if test "$enable_debug_sync" != "no"
then
AC_DEFINE([ENABLED_DEBUG_SYNC], [1],
[If Debug Sync Facility should be enabled])
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
fi
# If we should allow error injection tests # If we should allow error injection tests
AC_ARG_WITH(error-inject, AC_ARG_WITH(error-inject,
AC_HELP_STRING([--with-error-inject],[Enable error injection in MySQL Server]), AC_HELP_STRING([--with-error-inject],[Enable error injection in MySQL Server]),
@ -2786,7 +2804,7 @@ server_scripts=
dnl This probably should be cleaned up more - for now the threaded dnl This probably should be cleaned up more - for now the threaded
dnl client is just using plain-old libs. dnl client is just using plain-old libs.
sql_client_dirs="strings regex mysys libmysql" sql_client_dirs="strings mysys dbug extra regex libmysql unittest"
AM_CONDITIONAL(THREAD_SAFE_CLIENT, test "$THREAD_SAFE_CLIENT" != "no") AM_CONDITIONAL(THREAD_SAFE_CLIENT, test "$THREAD_SAFE_CLIENT" != "no")
@ -2814,12 +2832,20 @@ fi
AC_SUBST(netware_dir) AC_SUBST(netware_dir)
AM_CONDITIONAL(HAVE_NETWARE, test "$netware_dir" = "netware") AM_CONDITIONAL(HAVE_NETWARE, test "$netware_dir" = "netware")
if test "$with_server" = "yes" -o "$THREAD_SAFE_CLIENT" != "no" if test "$with_server" != "no" -o "$THREAD_SAFE_CLIENT" != "no"
then then
AC_DEFINE([THREAD], [1], AC_DEFINE([THREAD], [1],
[Define if you want to have threaded code. This may be undef on client code]) [Define if you want to have threaded code. This may be undef on client code])
# Avoid _PROGRAMS names
THREAD_LOBJECTS="thr_alarm.o thr_lock.o thr_mutex.o thr_rwlock.o my_pthread.o my_thr_init.o mf_keycache.o mf_keycaches.o waiting_threads.o"
AC_SUBST(THREAD_LOBJECTS)
fi
AM_CONDITIONAL(NEED_THREAD, test "$with_server" != "no" -o "$THREAD_SAFE_CLIENT" != "no")
if test "$with_server" != "no"
then
server_scripts="mysqld_safe mysql_install_db" server_scripts="mysqld_safe mysql_install_db"
sql_server_dirs="strings mysys dbug extra regex" sql_server_dirs="strings mysys dbug extra regex storage plugin"
sql_server="vio sql" sql_server="vio sql"
fi fi
@ -2845,9 +2871,10 @@ AC_SUBST(mysql_plugin_defs)
# Now that sql_client_dirs and sql_server_dirs are stable, determine the union. # Now that sql_client_dirs and sql_server_dirs are stable, determine the union.
# Start with the (longer) server list, add each client item not yet present. # We support client-only builds by "--without-server", but not vice versa,
sql_union_dirs=" $sql_server_dirs " # so we start with the client list, then add each server item not yet present.
for DIR in $sql_client_dirs sql_union_dirs=" $sql_client_dirs "
for DIR in $sql_server_dirs
do do
if echo " $sql_union_dirs " | grep " $DIR " >/dev/null if echo " $sql_union_dirs " | grep " $DIR " >/dev/null
then then

View File

@ -441,7 +441,7 @@ public:
const Ciphers& GetCiphers() const; const Ciphers& GetCiphers() const;
const DH_Parms& GetDH_Parms() const; const DH_Parms& GetDH_Parms() const;
const Stats& GetStats() const; const Stats& GetStats() const;
VerifyCallback getVerifyCallback() const; VerifyCallback getVerifyCallback() const;
pem_password_cb GetPasswordCb() const; pem_password_cb GetPasswordCb() const;
void* GetUserData() const; void* GetUserData() const;
bool GetSessionCacheOff() const; bool GetSessionCacheOff() const;

View File

@ -27,7 +27,6 @@
#include <time.h> #include <time.h>
#if defined(_WIN32) #if defined(_WIN32)
#define _WIN32_WINNT 0x0400
#include <windows.h> #include <windows.h>
#include <wincrypt.h> #include <wincrypt.h>
#else #else

View File

@ -76,6 +76,8 @@ my_bool ft_boolean_check_syntax_string(const uchar *);
extern const HA_KEYSEG ft_keysegs[FT_SEGS]; extern const HA_KEYSEG ft_keysegs[FT_SEGS];
typedef union {int32 i; float f;} FT_WEIGTH;
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif

View File

@ -49,6 +49,24 @@ typedef struct unicase_info_st
extern MY_UNICASE_INFO *my_unicase_default[256]; extern MY_UNICASE_INFO *my_unicase_default[256];
extern MY_UNICASE_INFO *my_unicase_turkish[256]; extern MY_UNICASE_INFO *my_unicase_turkish[256];
#define MY_UCA_MAX_CONTRACTION 4
#define MY_UCA_MAX_WEIGHT_SIZE 8
typedef struct my_contraction_t
{
my_wc_t ch[MY_UCA_MAX_CONTRACTION]; /* Character sequence */
uint16 weight[MY_UCA_MAX_WEIGHT_SIZE];/* Its weight string, 0-terminated */
} MY_CONTRACTION;
typedef struct my_contraction_list_t
{
size_t nitems; /* Number of items in the list */
MY_CONTRACTION *item; /* List of contractions */
char *flags; /* Character flags, e.g. "is contraction head") */
} MY_CONTRACTIONS;
typedef struct uni_ctype_st typedef struct uni_ctype_st
{ {
uchar pctype; uchar pctype;
@ -262,7 +280,7 @@ typedef struct charset_info_st
uchar *to_lower; uchar *to_lower;
uchar *to_upper; uchar *to_upper;
uchar *sort_order; uchar *sort_order;
uint16 *contractions; MY_CONTRACTIONS *contractions;
uint16 **sort_order_big; uint16 **sort_order_big;
uint16 *tab_to_uni; uint16 *tab_to_uni;
MY_UNI_IDX *tab_from_uni; MY_UNI_IDX *tab_from_uni;
@ -475,6 +493,13 @@ my_bool my_charset_is_ascii_based(CHARSET_INFO *cs);
my_bool my_charset_is_8bit_pure_ascii(CHARSET_INFO *cs); my_bool my_charset_is_8bit_pure_ascii(CHARSET_INFO *cs);
uint my_charset_repertoire(CHARSET_INFO *cs); uint my_charset_repertoire(CHARSET_INFO *cs);
my_bool my_uca_have_contractions(CHARSET_INFO *cs);
my_bool my_uca_can_be_contraction_head(CHARSET_INFO *cs, my_wc_t wc);
my_bool my_uca_can_be_contraction_tail(CHARSET_INFO *cs, my_wc_t wc);
uint16 *my_uca_contraction2_weight(CHARSET_INFO *cs, my_wc_t wc1, my_wc_t wc2);
#define _MY_U 01 /* Upper case */ #define _MY_U 01 /* Upper case */
#define _MY_L 02 /* Lower case */ #define _MY_L 02 /* Lower case */

View File

@ -1,4 +1,4 @@
/* Copyright (C) 2000 MySQL AB /* Copyright (C) 2000 MySQL AB & 2009 Monty Program Ab
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
@ -16,7 +16,30 @@
#ifndef _dbug_h #ifndef _dbug_h
#define _dbug_h #define _dbug_h
#ifdef __cplusplus #if defined(__cplusplus) && !defined(DBUG_OFF)
class Dbug_violation_helper
{
public:
inline Dbug_violation_helper() :
_entered(TRUE)
{ }
inline ~Dbug_violation_helper()
{
assert(!_entered);
}
inline void leave()
{
_entered= FALSE;
}
private:
bool _entered;
};
#endif /* C++ */
#ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
#if !defined(DBUG_OFF) && !defined(_lint) #if !defined(DBUG_OFF) && !defined(_lint)
@ -30,34 +53,51 @@ struct _db_stack_frame_ {
struct _db_code_state_; struct _db_code_state_;
extern my_bool _dbug_on_; extern my_bool _dbug_on_;
extern my_bool _db_keyword_(struct _db_code_state_ *, const char *, int); extern my_bool _db_keyword_(struct _db_code_state_ *cs, const char *keyword,
int strict_flag);
extern int _db_strict_keyword_(const char *keyword);
extern int _db_explain_(struct _db_code_state_ *cs, char *buf, size_t len); extern int _db_explain_(struct _db_code_state_ *cs, char *buf, size_t len);
extern int _db_explain_init_(char *buf, size_t len); extern int _db_explain_init_(char *buf, size_t len);
extern int _db_is_pushed_(void); extern int _db_is_pushed_(void);
extern void _db_setjmp_(void); extern void _db_setjmp_(void);
extern void _db_longjmp_(void); extern void _db_longjmp_(void);
extern void _db_process_(const char *name); extern void _db_process_(const char *name);
extern void _db_push_(const char *control); extern void _db_push_(const char *control);
extern void _db_pop_(void); extern void _db_pop_(void);
extern void _db_set_(const char *control); extern void _db_set_(const char *control);
extern void _db_set_init_(const char *control); extern void _db_set_init_(const char *control);
extern void _db_enter_(const char *_func_, const char *_file_, uint _line_, extern void _db_enter_(const char *_func_, const char *_file_, uint _line_,
struct _db_stack_frame_ *_stack_frame_); struct _db_stack_frame_ *_stack_frame_);
extern void _db_return_(uint _line_, struct _db_stack_frame_ *_stack_frame_); extern void _db_return_(uint _line_, struct _db_stack_frame_ *_stack_frame_);
extern void _db_pargs_(uint _line_,const char *keyword); extern void _db_pargs_(uint _line_,const char *keyword);
extern void _db_doprnt_ _VARARGS((const char *format,...)) extern void _db_doprnt_ _VARARGS((const char *format,...))
ATTRIBUTE_FORMAT(printf, 1, 2); ATTRIBUTE_FORMAT(printf, 1, 2);
extern void _db_dump_(uint _line_,const char *keyword, extern void _db_dump_(uint _line_,const char *keyword,
const unsigned char *memory, size_t length); const unsigned char *memory, size_t length);
extern void _db_end_(void); extern void _db_end_(void);
extern void _db_lock_file_(void); extern void _db_lock_file_(void);
extern void _db_unlock_file_(void); extern void _db_unlock_file_(void);
extern FILE *_db_fp_(void); extern FILE *_db_fp_(void);
extern void _db_flush_(); extern void _db_flush_();
#ifdef __cplusplus
#define DBUG_ENTER(a) struct _db_stack_frame_ _db_stack_frame_; \
Dbug_violation_helper dbug_violation_helper; \
_db_enter_ (a,__FILE__,__LINE__,&_db_stack_frame_)
#define DBUG_VIOLATION_HELPER_LEAVE dbug_violation_helper.leave()
#else /* C */
#define DBUG_ENTER(a) struct _db_stack_frame_ _db_stack_frame_; \ #define DBUG_ENTER(a) struct _db_stack_frame_ _db_stack_frame_; \
_db_enter_ (a,__FILE__,__LINE__,&_db_stack_frame_) _db_enter_ (a,__FILE__,__LINE__,&_db_stack_frame_)
#define DBUG_LEAVE _db_return_ (__LINE__, &_db_stack_frame_) #define DBUG_VIOLATION_HELPER_LEAVE do { } while(0)
#endif /* C++ */
#define DBUG_LEAVE \
DBUG_VIOLATION_HELPER_LEAVE; \
_db_return_ (__LINE__, &_db_stack_frame_)
#define DBUG_RETURN(a1) do {DBUG_LEAVE; return(a1);} while(0) #define DBUG_RETURN(a1) do {DBUG_LEAVE; return(a1);} while(0)
#define DBUG_VOID_RETURN do {DBUG_LEAVE; return;} while(0) #define DBUG_VOID_RETURN do {DBUG_LEAVE; return;} while(0)
#define DBUG_EXECUTE(keyword,a1) \ #define DBUG_EXECUTE(keyword,a1) \
@ -88,28 +128,16 @@ extern void _db_flush_();
#define DEBUGGER_OFF do { _dbug_on_= 0; } while(0) #define DEBUGGER_OFF do { _dbug_on_= 0; } while(0)
#define DEBUGGER_ON do { _dbug_on_= 1; } while(0) #define DEBUGGER_ON do { _dbug_on_= 1; } while(0)
#define IF_DBUG(A) A #define IF_DBUG(A) A
#ifndef __WIN__
#define DBUG_ABORT() (_db_flush_(), abort()) #define DBUG_ABORT() (_db_flush_(), abort())
#else
/*
Avoid popup with abort/retry/ignore buttons. When BUG#31745 is fixed we can
call abort() instead of _exit(3) (now it would cause a "test signal" popup).
*/
#include <crtdbg.h>
#define DBUG_ABORT() (_db_flush_(),\
(void)_CrtSetReportMode(_CRT_ERROR, _CRTDBG_MODE_FILE),\
(void)_CrtSetReportFile(_CRT_ERROR, _CRTDBG_FILE_STDERR),\
_exit(3))
#endif
#else /* No debugger */ #else /* No debugger */
#define DBUG_ENTER(a1) #define DBUG_ENTER(a1)
#define DBUG_VIOLATION_HELPER_LEAVE do { } while(0)
#define DBUG_LEAVE #define DBUG_LEAVE
#define DBUG_RETURN(a1) do { return(a1); } while(0) #define DBUG_RETURN(a1) do { return(a1); } while(0)
#define DBUG_VOID_RETURN do { return; } while(0) #define DBUG_VOID_RETURN do { return; } while(0)
#define DBUG_EXECUTE(keyword,a1) do { } while(0) #define DBUG_EXECUTE(keyword,a1) do { } while(0)
#define DBUG_EXECUTE_IF(keyword,a1) do { } while(0) #define DBUG_EXECUTE_IF(keyword,a1) do { } while(0)
#define DBUG_EVALUATE(keyword,a1,a2) (a2) #define DBUG_EVALUATE(keyword,a1,a2) (a2)
#define DBUG_EVALUATE_IF(keyword,a1,a2) (a2) #define DBUG_EVALUATE_IF(keyword,a1,a2) (a2)
#define DBUG_PRINT(keyword,arglist) do { } while(0) #define DBUG_PRINT(keyword,arglist) do { } while(0)

View File

@ -69,6 +69,7 @@ extern int NEAR my_errno; /* Last error in mysys */
#define MY_HOLD_ON_ERROR 256 /* my_realloc() ; Return old ptr on error */ #define MY_HOLD_ON_ERROR 256 /* my_realloc() ; Return old ptr on error */
#define MY_DONT_OVERWRITE_FILE 2048 /* my_copy: Don't overwrite file */ #define MY_DONT_OVERWRITE_FILE 2048 /* my_copy: Don't overwrite file */
#define MY_THREADSAFE 2048 /* my_seek(): lock fd mutex */ #define MY_THREADSAFE 2048 /* my_seek(): lock fd mutex */
#define MY_SYNC 4096 /* my_copy(): sync dst file */
#define MY_CHECK_ERROR 1 /* Params to my_end; Check open-close */ #define MY_CHECK_ERROR 1 /* Params to my_end; Check open-close */
#define MY_GIVE_INFO 2 /* Give time info about process*/ #define MY_GIVE_INFO 2 /* Give time info about process*/
@ -175,6 +176,16 @@ extern char *my_strndup(const char *from, size_t length,
#define TRASH(A,B) /* nothing */ #define TRASH(A,B) /* nothing */
#endif #endif
#if defined(ENABLED_DEBUG_SYNC)
extern void (*debug_sync_C_callback_ptr)(const char *, size_t);
#define DEBUG_SYNC_C(_sync_point_name_) do { \
if (debug_sync_C_callback_ptr != NULL) \
(*debug_sync_C_callback_ptr)(STRING_WITH_LEN(_sync_point_name_)); } \
while(0)
#else
#define DEBUG_SYNC_C(_sync_point_name_)
#endif /* defined(ENABLED_DEBUG_SYNC) */
#ifdef HAVE_LARGE_PAGES #ifdef HAVE_LARGE_PAGES
extern uint my_get_large_page_size(void); extern uint my_get_large_page_size(void);
extern uchar * my_large_malloc(size_t size, myf my_flags); extern uchar * my_large_malloc(size_t size, myf my_flags);
@ -727,7 +738,6 @@ extern int wild_compare(const char *str,const char *wildstr,
extern WF_PACK *wf_comp(char * str); extern WF_PACK *wf_comp(char * str);
extern int wf_test(struct wild_file_pack *wf_pack,const char *name); extern int wf_test(struct wild_file_pack *wf_pack,const char *name);
extern void wf_end(struct wild_file_pack *buffer); extern void wf_end(struct wild_file_pack *buffer);
extern size_t strip_sp(char * str);
extern my_bool array_append_string_unique(const char *str, extern my_bool array_append_string_unique(const char *str,
const char **array, size_t size); const char **array, size_t size);
extern void get_date(char * to,int timeflag,time_t use_time); extern void get_date(char * to,int timeflag,time_t use_time);

View File

@ -51,7 +51,7 @@ typedef struct st_tree {
TREE_ELEMENT *root,null_element; TREE_ELEMENT *root,null_element;
TREE_ELEMENT **parents[MAX_TREE_HEIGHT]; TREE_ELEMENT **parents[MAX_TREE_HEIGHT];
uint offset_to_key,elements_in_tree,size_of_element; uint offset_to_key,elements_in_tree,size_of_element;
ulong memory_limit, allocated; size_t memory_limit, allocated;
qsort_cmp2 compare; qsort_cmp2 compare;
void *custom_arg; void *custom_arg;
MEM_ROOT mem_root; MEM_ROOT mem_root;
@ -61,7 +61,7 @@ typedef struct st_tree {
} TREE; } TREE;
/* Functions on whole tree */ /* Functions on whole tree */
void init_tree(TREE *tree, ulong default_alloc_size, ulong memory_limit, void init_tree(TREE *tree, size_t default_alloc_size, size_t memory_limit,
int size, qsort_cmp2 compare, my_bool with_delete, int size, qsort_cmp2 compare, my_bool with_delete,
tree_element_free free_element, void *custom_arg); tree_element_free free_element, void *custom_arg);
void delete_tree(TREE*); void delete_tree(TREE*);

View File

@ -154,6 +154,10 @@ typedef struct st_handler_check_param
char temp_filename[FN_REFLEN]; char temp_filename[FN_REFLEN];
IO_CACHE read_cache; IO_CACHE read_cache;
enum_handler_stats_method stats_method; enum_handler_stats_method stats_method;
#ifdef THREAD
pthread_mutex_t print_msg_mutex;
my_bool need_print_msg_lock;
#endif
} HA_CHECK; } HA_CHECK;

View File

@ -558,6 +558,16 @@ unsigned long STDCALL mysql_real_escape_string(MYSQL *mysql,
char *to,const char *from, char *to,const char *from,
unsigned long length); unsigned long length);
void STDCALL mysql_debug(const char *debug); void STDCALL mysql_debug(const char *debug);
char * STDCALL mysql_odbc_escape_string(MYSQL *mysql,
char *to,
unsigned long to_length,
const char *from,
unsigned long from_length,
void *param,
char *
(*extend_buffer)
(void *, char *to,
unsigned long *length));
void STDCALL myodbc_remove_escape(MYSQL *mysql,char *name); void STDCALL myodbc_remove_escape(MYSQL *mysql,char *name);
unsigned int STDCALL mysql_thread_safe(void); unsigned int STDCALL mysql_thread_safe(void);
my_bool STDCALL mysql_embedded(void); my_bool STDCALL mysql_embedded(void);

View File

@ -518,6 +518,16 @@ unsigned long mysql_real_escape_string(MYSQL *mysql,
char *to,const char *from, char *to,const char *from,
unsigned long length); unsigned long length);
void mysql_debug(const char *debug); void mysql_debug(const char *debug);
char * mysql_odbc_escape_string(MYSQL *mysql,
char *to,
unsigned long to_length,
const char *from,
unsigned long from_length,
void *param,
char *
(*extend_buffer)
(void *, char *to,
unsigned long *length));
void myodbc_remove_escape(MYSQL *mysql,char *name); void myodbc_remove_escape(MYSQL *mysql,char *name);
unsigned int mysql_thread_safe(void); unsigned int mysql_thread_safe(void);
my_bool mysql_embedded(void); my_bool mysql_embedded(void);

View File

@ -564,19 +564,22 @@ typedef struct st_mysql_ftparser_boolean_info
nothing. See enum_ftparser_mode above. nothing. See enum_ftparser_mode above.
*/ */
/* TODO: Change the following int to size_t at next ABI update */
typedef int mysql_ft_size_t;
typedef struct st_mysql_ftparser_param typedef struct st_mysql_ftparser_param
{ {
int (*mysql_parse)(struct st_mysql_ftparser_param *, int (*mysql_parse)(struct st_mysql_ftparser_param *,
char *doc, int doc_len); const unsigned char *doc, mysql_ft_size_t doc_len);
int (*mysql_add_word)(struct st_mysql_ftparser_param *, int (*mysql_add_word)(struct st_mysql_ftparser_param *,
char *word, int word_len, const unsigned char *word, mysql_ft_size_t word_len,
MYSQL_FTPARSER_BOOLEAN_INFO *boolean_info); MYSQL_FTPARSER_BOOLEAN_INFO *boolean_info);
void *ftparser_state; void *ftparser_state;
void *mysql_ftparam; void *mysql_ftparam;
struct charset_info_st *cs; struct charset_info_st *cs;
char *doc; const unsigned char *doc;
int length; mysql_ft_size_t length;
int flags; unsigned int flags;
enum enum_ftparser_mode mode; enum enum_ftparser_mode mode;
} MYSQL_FTPARSER_PARAM; } MYSQL_FTPARSER_PARAM;

View File

@ -70,19 +70,20 @@ typedef struct st_mysql_ftparser_boolean_info
char prev; char prev;
char *quot; char *quot;
} MYSQL_FTPARSER_BOOLEAN_INFO; } MYSQL_FTPARSER_BOOLEAN_INFO;
typedef int mysql_ft_size_t;
typedef struct st_mysql_ftparser_param typedef struct st_mysql_ftparser_param
{ {
int (*mysql_parse)(struct st_mysql_ftparser_param *, int (*mysql_parse)(struct st_mysql_ftparser_param *,
char *doc, int doc_len); const unsigned char *doc, mysql_ft_size_t doc_len);
int (*mysql_add_word)(struct st_mysql_ftparser_param *, int (*mysql_add_word)(struct st_mysql_ftparser_param *,
char *word, int word_len, const unsigned char *word, mysql_ft_size_t word_len,
MYSQL_FTPARSER_BOOLEAN_INFO *boolean_info); MYSQL_FTPARSER_BOOLEAN_INFO *boolean_info);
void *ftparser_state; void *ftparser_state;
void *mysql_ftparam; void *mysql_ftparam;
struct charset_info_st *cs; struct charset_info_st *cs;
char *doc; const unsigned char *doc;
int length; mysql_ft_size_t length;
int flags; unsigned int flags;
enum enum_ftparser_mode mode; enum enum_ftparser_mode mode;
} MYSQL_FTPARSER_PARAM; } MYSQL_FTPARSER_PARAM;
struct st_mysql_ftparser struct st_mysql_ftparser

View File

@ -63,8 +63,9 @@ extern const char * NEAR globerrs[]; /* my_error_messages is here */
#define EE_FILENOTFOUND 29 #define EE_FILENOTFOUND 29
#define EE_FILE_NOT_CLOSED 30 #define EE_FILE_NOT_CLOSED 30
#define EE_CANT_CHMOD 31 #define EE_CANT_CHMOD 31
#define EE_CANT_COPY_OWNERSHIP 32 #define EE_CANT_SEEK 32
#define EE_ERROR_LAST 32 /* Copy last error nr */ #define EE_CANT_COPY_OWNERSHIP 33
#define EE_ERROR_LAST 33 /* Copy last error nr */
/* Add error numbers before EE_ERROR_LAST and change it accordingly. */ /* Add error numbers before EE_ERROR_LAST and change it accordingly. */
/* exit codes for all MySQL programs */ /* exit codes for all MySQL programs */

View File

@ -44,7 +44,7 @@ enum enum_vio_type
Vio* vio_new(my_socket sd, enum enum_vio_type type, uint flags); Vio* vio_new(my_socket sd, enum enum_vio_type type, uint flags);
#ifdef __WIN__ #ifdef __WIN__
Vio* vio_new_win32pipe(HANDLE hPipe); Vio* vio_new_win32pipe(HANDLE hPipe);
Vio* vio_new_win32shared_memory(NET *net,HANDLE handle_file_map, Vio* vio_new_win32shared_memory(HANDLE handle_file_map,
HANDLE handle_map, HANDLE handle_map,
HANDLE event_server_wrote, HANDLE event_server_wrote,
HANDLE event_server_read, HANDLE event_server_read,
@ -222,7 +222,11 @@ struct st_vio
HANDLE event_conn_closed; HANDLE event_conn_closed;
size_t shared_memory_remain; size_t shared_memory_remain;
char *shared_memory_pos; char *shared_memory_pos;
NET *net;
#endif /* HAVE_SMEM */ #endif /* HAVE_SMEM */
#ifdef _WIN32
OVERLAPPED pipe_overlapped;
DWORD read_timeout_millis;
DWORD write_timeout_millis;
#endif
}; };
#endif /* vio_violite_h_ */ #endif /* vio_violite_h_ */

View File

@ -1642,6 +1642,20 @@ mysql_real_escape_string(MYSQL *mysql, char *to,const char *from,
return (uint) escape_string_for_mysql(mysql->charset, to, 0, from, length); return (uint) escape_string_for_mysql(mysql->charset, to, 0, from, length);
} }
char * STDCALL
mysql_odbc_escape_string(MYSQL *mysql __attribute__((unused)),
char *to __attribute__((unused)),
ulong to_length __attribute__((unused)),
const char *from __attribute__((unused)),
ulong from_length __attribute__((unused)),
void *param __attribute__((unused)),
char * (*extend_buffer)(void *, char *, ulong *)
__attribute__((unused)))
{
return NULL;
}
void STDCALL void STDCALL
myodbc_remove_escape(MYSQL *mysql,char *name) myodbc_remove_escape(MYSQL *mysql,char *name)
{ {
@ -2284,7 +2298,7 @@ mysql_stmt_param_metadata(MYSQL_STMT *stmt)
/* Store type of parameter in network buffer. */ /* Store type of parameter in network buffer. */
static void store_param_type(char **pos, MYSQL_BIND *param) static void store_param_type(uchar **pos, MYSQL_BIND *param)
{ {
uint typecode= param->buffer_type | (param->is_unsigned ? 32768 : 0); uint typecode= param->buffer_type | (param->is_unsigned ? 32768 : 0);
int2store(*pos, typecode); int2store(*pos, typecode);
@ -2564,7 +2578,7 @@ int cli_stmt_execute(MYSQL_STMT *stmt)
that is sent to the server. that is sent to the server.
*/ */
for (param= stmt->params; param < param_end ; param++) for (param= stmt->params; param < param_end ; param++)
store_param_type((char**) &net->write_pos, param); store_param_type(&net->write_pos, param);
} }
for (param= stmt->params; param < param_end; param++) for (param= stmt->params; param < param_end; param++)

View File

@ -78,6 +78,7 @@ EXPORTS
mysql_next_result mysql_next_result
mysql_num_fields mysql_num_fields
mysql_num_rows mysql_num_rows
mysql_odbc_escape_string
mysql_options mysql_options
mysql_stmt_param_count mysql_stmt_param_count
mysql_stmt_param_metadata mysql_stmt_param_metadata

View File

@ -90,8 +90,10 @@ ENDFOREACH(rpath)
FOREACH (ENGINE_LIB ${MYSQLD_STATIC_ENGINE_LIBS}) FOREACH (ENGINE_LIB ${MYSQLD_STATIC_ENGINE_LIBS})
INCLUDE(${CMAKE_SOURCE_DIR}/storage/${plugin_dir_${ENGINE_LIB}}/CMakeLists.txt) INCLUDE(${CMAKE_SOURCE_DIR}/storage/${plugin_dir_${ENGINE_LIB}}/CMakeLists.txt)
STRING(TOUPPER ${ENGINE_LIB} ENGINE_LIB_UPPER) STRING(TOUPPER ${ENGINE_LIB} ENGINE_LIB_UPPER)
SET(ENGINE_DIR ${${ENGINE_LIB_UPPER}_DIR})
INCLUDE(${CMAKE_SOURCE_DIR}/storage/${ENGINE_DIR}/CMakeLists.txt)
FOREACH(rpath ${${ENGINE_LIB_UPPER}_SOURCES}) FOREACH(rpath ${${ENGINE_LIB_UPPER}_SOURCES})
SET(LIB_SOURCES ${LIB_SOURCES} ${CMAKE_SOURCE_DIR}/storage/${plugin_dir_${ENGINE_LIB}}/${rpath}) SET(LIB_SOURCES ${LIB_SOURCES} ${CMAKE_SOURCE_DIR}/storage/${ENGINE_DIR}/${rpath})
ENDFOREACH(rpath) ENDFOREACH(rpath)
ENDFOREACH(ENGINE_LIB) ENDFOREACH(ENGINE_LIB)
@ -127,6 +129,7 @@ SET(LIBMYSQLD_SOURCES emb_qcache.cc libmysqld.c lib_sql.cc
../sql/sql_list.cc ../sql/sql_load.cc ../sql/sql_locale.cc ../sql/sql_list.cc ../sql/sql_load.cc ../sql/sql_locale.cc
../sql/sql_binlog.cc ../sql/sql_manager.cc ../sql/sql_map.cc ../sql/sql_binlog.cc ../sql/sql_manager.cc ../sql/sql_map.cc
../sql/sql_parse.cc ../sql/sql_partition.cc ../sql/sql_plugin.cc ../sql/sql_parse.cc ../sql/sql_partition.cc ../sql/sql_plugin.cc
../sql/debug_sync.cc
../sql/sql_prepare.cc ../sql/sql_rename.cc ../sql/sql_repl.cc ../sql/sql_prepare.cc ../sql/sql_rename.cc ../sql/sql_repl.cc
../sql/sql_select.cc ../sql/sql_servers.cc ../sql/sql_select.cc ../sql/sql_servers.cc
../sql/sql_show.cc ../sql/sql_state.c ../sql/sql_string.cc ../sql/sql_show.cc ../sql/sql_state.c ../sql/sql_string.cc
@ -152,6 +155,14 @@ ADD_LIBRARY(mysqlserver STATIC ${LIBMYSQLD_SOURCES})
ADD_DEPENDENCIES(mysqlserver GenServerSource GenError) ADD_DEPENDENCIES(mysqlserver GenServerSource GenError)
TARGET_LINK_LIBRARIES(mysqlserver) TARGET_LINK_LIBRARIES(mysqlserver)
# Add any additional libraries requested by engine(s)
FOREACH (ENGINE_LIB ${MYSQLD_STATIC_ENGINE_LIBS})
STRING(TOUPPER ${ENGINE_LIB} ENGINE_LIB_UPPER)
IF(${ENGINE_LIB_UPPER}_LIBS)
TARGET_LINK_LIBRARIES(mysqlserver ${${ENGINE_LIB_UPPER}_LIBS})
ENDIF(${ENGINE_LIB_UPPER}_LIBS)
ENDFOREACH(ENGINE_LIB)
ADD_LIBRARY(libmysqld SHARED cmake_dummy.c libmysqld.def) ADD_LIBRARY(libmysqld SHARED cmake_dummy.c libmysqld.def)
ADD_DEPENDENCIES(libmysqld mysqlserver) ADD_DEPENDENCIES(libmysqld mysqlserver)
TARGET_LINK_LIBRARIES(libmysqld mysqlserver wsock32) TARGET_LINK_LIBRARIES(libmysqld mysqlserver wsock32)

View File

@ -74,6 +74,7 @@ sqlsources = derror.cc field.cc field_conv.cc strfunc.cc filesort.cc \
sp_head.cc sp_pcontext.cc sp.cc sp_cache.cc sp_rcontext.cc \ sp_head.cc sp_pcontext.cc sp.cc sp_cache.cc sp_rcontext.cc \
parse_file.cc sql_view.cc sql_trigger.cc my_decimal.cc \ parse_file.cc sql_view.cc sql_trigger.cc my_decimal.cc \
rpl_filter.cc sql_partition.cc sql_builtin.cc sql_plugin.cc \ rpl_filter.cc sql_partition.cc sql_builtin.cc sql_plugin.cc \
debug_sync.cc \
sql_tablespace.cc \ sql_tablespace.cc \
rpl_injector.cc my_user.c partition_info.cc \ rpl_injector.cc my_user.c partition_info.cc \
sql_servers.cc event_parse_data.cc opt_table_elimination.cc sql_servers.cc event_parse_data.cc opt_table_elimination.cc

View File

@ -142,6 +142,8 @@ emb_advanced_command(MYSQL *mysql, enum enum_server_command command,
if (!skip_check) if (!skip_check)
result= thd->is_error() ? -1 : 0; result= thd->is_error() ? -1 : 0;
thd->mysys_var= 0;
#if defined(ENABLED_PROFILING) && defined(COMMUNITY_SERVER) #if defined(ENABLED_PROFILING) && defined(COMMUNITY_SERVER)
thd->profiling.finish_current_query(); thd->profiling.finish_current_query();
#endif #endif
@ -634,6 +636,7 @@ void *create_embedded_thd(int client_flag)
thread_count++; thread_count++;
threads.append(thd); threads.append(thd);
thd->mysys_var= 0;
return thd; return thd;
err: err:
delete(thd); delete(thd);

View File

@ -164,6 +164,7 @@ mysql_real_connect(MYSQL *mysql,const char *host, const char *user,
port=0; port=0;
unix_socket=0; unix_socket=0;
client_flag|=mysql->options.client_flag;
/* Send client information for access check */ /* Send client information for access check */
client_flag|=CLIENT_CAPABILITIES; client_flag|=CLIENT_CAPABILITIES;
if (client_flag & CLIENT_MULTI_STATEMENTS) if (client_flag & CLIENT_MULTI_STATEMENTS)

View File

@ -50,6 +50,7 @@ EXPORTS
mysql_next_result mysql_next_result
mysql_num_fields mysql_num_fields
mysql_num_rows mysql_num_rows
mysql_odbc_escape_string
mysql_options mysql_options
mysql_ping mysql_ping
mysql_query mysql_query

View File

@ -2,12 +2,12 @@
.\" Title: \fBcomp_err\fR .\" Title: \fBcomp_err\fR
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009 .\" Date: 11/04/2009
.\" Manual: MySQL Database System .\" Manual: MySQL Database System
.\" Source: MySQL 5.1 .\" Source: MySQL 5.1
.\" Language: English .\" Language: English
.\" .\"
.TH "\FBCOMP_ERR\FR" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System" .TH "\FBCOMP_ERR\FR" "1" "11/04/2009" "MySQL 5\&.1" "MySQL Database System"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * set default formatting .\" * set default formatting
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@ -91,7 +91,8 @@ Display a help message and exit\&.
.\} .\}
.\" comp_err: charset option .\" comp_err: charset option
.\" charset option: comp_err .\" charset option: comp_err
\fB\-\-charset=\fR\fB\fIpath\fR\fR\fB, \-C \fR\fB\fIpath\fR\fR \fB\-\-charset=\fR\fB\fIpath\fR\fR,
\fB\-C \fR\fB\fIpath\fR\fR
.sp .sp
The character set directory\&. The default is The character set directory\&. The default is
\&.\&./sql/share/charsets\&. \&.\&./sql/share/charsets\&.
@ -107,7 +108,8 @@ The character set directory\&. The default is
.\} .\}
.\" comp_err: debug option .\" comp_err: debug option
.\" debug option: comp_err .\" debug option: comp_err
\fB\-\-debug=\fR\fB\fIdebug_options\fR\fR\fB, \-# \fR\fB\fIdebug_options\fR\fR \fB\-\-debug=\fR\fB\fIdebug_options\fR\fR,
\fB\-# \fR\fB\fIdebug_options\fR\fR
.sp .sp
Write a debugging log\&. A typical Write a debugging log\&. A typical
\fIdebug_options\fR \fIdebug_options\fR
@ -142,7 +144,8 @@ Print some debugging information when the program exits\&.
.\} .\}
.\" comp_err: header_file option .\" comp_err: header_file option
.\" header_file option: comp_err .\" header_file option: comp_err
\fB\-\-header_file=\fR\fB\fIfile_name\fR\fR\fB, \-H \fR\fB\fIfile_name\fR\fR \fB\-\-header_file=\fR\fB\fIfile_name\fR\fR,
\fB\-H \fR\fB\fIfile_name\fR\fR
.sp .sp
The name of the error header file\&. The default is The name of the error header file\&. The default is
mysqld_error\&.h\&. mysqld_error\&.h\&.
@ -158,7 +161,8 @@ mysqld_error\&.h\&.
.\} .\}
.\" comp_err: in_file option .\" comp_err: in_file option
.\" in_file option: comp_err .\" in_file option: comp_err
\fB\-\-in_file=\fR\fB\fIfile_name\fR\fR\fB, \-F \fR\fB\fIfile_name\fR\fR \fB\-\-in_file=\fR\fB\fIfile_name\fR\fR,
\fB\-F \fR\fB\fIfile_name\fR\fR
.sp .sp
The name of the input file\&. The default is The name of the input file\&. The default is
\&.\&./sql/share/errmsg\&.txt\&. \&.\&./sql/share/errmsg\&.txt\&.
@ -174,7 +178,8 @@ The name of the input file\&. The default is
.\} .\}
.\" comp_err: name_file option .\" comp_err: name_file option
.\" name_file option: comp_err .\" name_file option: comp_err
\fB\-\-name_file=\fR\fB\fIfile_name\fR\fR\fB, \-N \fR\fB\fIfile_name\fR\fR \fB\-\-name_file=\fR\fB\fIfile_name\fR\fR,
\fB\-N \fR\fB\fIfile_name\fR\fR
.sp .sp
The name of the error name file\&. The default is The name of the error name file\&. The default is
mysqld_ername\&.h\&. mysqld_ername\&.h\&.
@ -190,7 +195,8 @@ mysqld_ername\&.h\&.
.\} .\}
.\" comp_err: out_dir option .\" comp_err: out_dir option
.\" out_dir option: comp_err .\" out_dir option: comp_err
\fB\-\-out_dir=\fR\fB\fIpath\fR\fR\fB, \-D \fR\fB\fIpath\fR\fR \fB\-\-out_dir=\fR\fB\fIpath\fR\fR,
\fB\-D \fR\fB\fIpath\fR\fR
.sp .sp
The name of the output base directory\&. The default is The name of the output base directory\&. The default is
\&.\&./sql/share/\&. \&.\&./sql/share/\&.
@ -206,7 +212,8 @@ The name of the output base directory\&. The default is
.\} .\}
.\" comp_err: out_file option .\" comp_err: out_file option
.\" out_file option: comp_err .\" out_file option: comp_err
\fB\-\-out_file=\fR\fB\fIfile_name\fR\fR\fB, \-O \fR\fB\fIfile_name\fR\fR \fB\-\-out_file=\fR\fB\fIfile_name\fR\fR,
\fB\-O \fR\fB\fIfile_name\fR\fR
.sp .sp
The name of the output file\&. The default is The name of the output file\&. The default is
errmsg\&.sys\&. errmsg\&.sys\&.
@ -222,7 +229,8 @@ errmsg\&.sys\&.
.\} .\}
.\" comp_err: statefile option .\" comp_err: statefile option
.\" statefile option: comp_err .\" statefile option: comp_err
\fB\-\-statefile=\fR\fB\fIfile_name\fR\fR\fB, \-S \fR\fB\fIfile_name\fR\fR \fB\-\-statefile=\fR\fB\fIfile_name\fR\fR,
\fB\-S \fR\fB\fIfile_name\fR\fR
.sp .sp
The name for the SQLSTATE header file\&. The default is The name for the SQLSTATE header file\&. The default is
sql_state\&.h\&. sql_state\&.h\&.

View File

@ -2,12 +2,12 @@
.\" Title: \fBinnochecksum\fR .\" Title: \fBinnochecksum\fR
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009 .\" Date: 11/04/2009
.\" Manual: MySQL Database System .\" Manual: MySQL Database System
.\" Source: MySQL 5.1 .\" Source: MySQL 5.1
.\" Language: English .\" Language: English
.\" .\"
.TH "\FBINNOCHECKSUM\FR" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System" .TH "\FBINNOCHECKSUM\FR" "1" "11/04/2009" "MySQL 5\&.1" "MySQL Database System"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * set default formatting .\" * set default formatting
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@ -29,7 +29,20 @@ innochecksum \- offline InnoDB file checksum utility
\fBinnochecksum\fR \fBinnochecksum\fR
prints checksums for prints checksums for
InnoDB InnoDB
files\&. files\&. This tool reads an
InnoDB
tablespace file, calculates the checksum for each page, compares the calculated checksum to the stored checksum, and reports mismatches, which indicate damaged pages\&. It was originally developed to speed up verifying the integrity of tablespace files after power outages but can also be used after file copies\&. Because checksum mismatches will cause
InnoDB
to deliberately shut down a running server, it can be preferable to use this tool rather than waiting for a server in production usage to encounter the damaged pages\&.
.PP
\fBinnochecksum\fR
cannot be used on tablespace files that the server already has open\&. For such files, you should use
CHECK TABLE
to check tables within the tablespace\&.
.PP
If checksum mismatches are found, you would normally restore the tablespace from backup or start the server and attempt to use
\fBmysqldump\fR
to make a backup of the tables within the tablespace\&.
.PP .PP
Invoke Invoke
\fBinnochecksum\fR \fBinnochecksum\fR

View File

@ -2,12 +2,12 @@
.\" Title: \fBmake_win_bin_dist\fR .\" Title: \fBmake_win_bin_dist\fR
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009 .\" Date: 11/04/2009
.\" Manual: MySQL Database System .\" Manual: MySQL Database System
.\" Source: MySQL 5.1 .\" Source: MySQL 5.1
.\" Language: English .\" Language: English
.\" .\"
.TH "\FBMAKE_WIN_BIN_DIST" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System" .TH "\FBMAKE_WIN_BIN_DIST" "1" "11/04/2009" "MySQL 5\&.1" "MySQL Database System"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * set default formatting .\" * set default formatting
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------

View File

@ -2,12 +2,12 @@
.\" Title: \fBmsql2mysql\fR .\" Title: \fBmsql2mysql\fR
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009 .\" Date: 11/04/2009
.\" Manual: MySQL Database System .\" Manual: MySQL Database System
.\" Source: MySQL 5.1 .\" Source: MySQL 5.1
.\" Language: English .\" Language: English
.\" .\"
.TH "\FBMSQL2MYSQL\FR" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System" .TH "\FBMSQL2MYSQL\FR" "1" "11/04/2009" "MySQL 5\&.1" "MySQL Database System"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * set default formatting .\" * set default formatting
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------

View File

@ -2,12 +2,12 @@
.\" Title: \fBmy_print_defaults\fR .\" Title: \fBmy_print_defaults\fR
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009 .\" Date: 11/04/2009
.\" Manual: MySQL Database System .\" Manual: MySQL Database System
.\" Source: MySQL 5.1 .\" Source: MySQL 5.1
.\" Language: English .\" Language: English
.\" .\"
.TH "\FBMY_PRINT_DEFAULTS" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System" .TH "\FBMY_PRINT_DEFAULTS" "1" "11/04/2009" "MySQL 5\&.1" "MySQL Database System"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * set default formatting .\" * set default formatting
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@ -100,7 +100,8 @@ Read only the given option file\&.
.\} .\}
.\" my_print_defaults: debug option .\" my_print_defaults: debug option
.\" debug option: my_print_defaults .\" debug option: my_print_defaults
\fB\-\-debug=\fR\fB\fIdebug_options\fR\fR\fB, \-# \fR\fB\fIdebug_options\fR\fR \fB\-\-debug=\fR\fB\fIdebug_options\fR\fR,
\fB\-# \fR\fB\fIdebug_options\fR\fR
.sp .sp
Write a debugging log\&. A typical Write a debugging log\&. A typical
\fIdebug_options\fR \fIdebug_options\fR

View File

@ -2,12 +2,12 @@
.\" Title: \fBmyisam_ftdump\fR .\" Title: \fBmyisam_ftdump\fR
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009 .\" Date: 11/04/2009
.\" Manual: MySQL Database System .\" Manual: MySQL Database System
.\" Source: MySQL 5.1 .\" Source: MySQL 5.1
.\" Language: English .\" Language: English
.\" .\"
.TH "\FBMYISAM_FTDUMP\FR" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System" .TH "\FBMYISAM_FTDUMP\FR" "1" "11/04/2009" "MySQL 5\&.1" "MySQL Database System"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * set default formatting .\" * set default formatting
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------

File diff suppressed because it is too large Load Diff

View File

@ -2,12 +2,12 @@
.\" Title: \fBmyisamlog\fR .\" Title: \fBmyisamlog\fR
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009 .\" Date: 11/04/2009
.\" Manual: MySQL Database System .\" Manual: MySQL Database System
.\" Source: MySQL 5.1 .\" Source: MySQL 5.1
.\" Language: English .\" Language: English
.\" .\"
.TH "\FBMYISAMLOG\FR" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System" .TH "\FBMYISAMLOG\FR" "1" "11/04/2009" "MySQL 5\&.1" "MySQL Database System"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * set default formatting .\" * set default formatting
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------

View File

@ -2,12 +2,12 @@
.\" Title: \fBmyisampack\fR .\" Title: \fBmyisampack\fR
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009 .\" Date: 11/04/2009
.\" Manual: MySQL Database System .\" Manual: MySQL Database System
.\" Source: MySQL 5.1 .\" Source: MySQL 5.1
.\" Language: English .\" Language: English
.\" .\"
.TH "\FBMYISAMPACK\FR" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System" .TH "\FBMYISAMPACK\FR" "1" "11/04/2009" "MySQL 5\&.1" "MySQL Database System"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * set default formatting .\" * set default formatting
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@ -652,9 +652,11 @@ After join
The number of distinct Huffman trees left after joining trees to save some header space\&. The number of distinct Huffman trees left after joining trees to save some header space\&.
.RE .RE
.PP .PP
After a table has been compressed, After a table has been compressed, the
Field
lines displayed by
\fBmyisamchk \-dvv\fR \fBmyisamchk \-dvv\fR
prints additional information about each column: include additional information about each column:
.sp .sp
.RS 4 .RS 4
.ie n \{\ .ie n \{\

View File

@ -2,12 +2,12 @@
.\" Title: \fBmysql-stress-test.pl\fR .\" Title: \fBmysql-stress-test.pl\fR
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/08/2009 .\" Date: 10/29/2009
.\" Manual: MySQL Database System .\" Manual: MySQL Database System
.\" Source: MySQL .\" Source: MySQL
.\" Language: English .\" Language: English
.\" .\"
.TH "\FBMYSQL\-STRESS\-TE" "1" "08/08/2009" "MySQL" "MySQL Database System" .TH "\FBMYSQL\-STRESS\-TE" "1" "10/29/2009" "MySQL" "MySQL Database System"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * set default formatting .\" * set default formatting
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------

View File

@ -2,12 +2,12 @@
.\" Title: \fBmysql-test-run.pl\fR .\" Title: \fBmysql-test-run.pl\fR
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/08/2009 .\" Date: 10/29/2009
.\" Manual: MySQL Database System .\" Manual: MySQL Database System
.\" Source: MySQL .\" Source: MySQL
.\" Language: English .\" Language: English
.\" .\"
.TH "\FBMYSQL\-TEST\-RUN\" "1" "08/08/2009" "MySQL" "MySQL Database System" .TH "\FBMYSQL\-TEST\-RUN\" "1" "10/29/2009" "MySQL" "MySQL Database System"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * set default formatting .\" * set default formatting
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@ -700,6 +700,9 @@ Specify a file that contains a list of test cases that should be displayed with
code rather than code rather than
[ fail ] [ fail ]
if they fail\&. This option was added in MySQL 5\&.1\&.33/6\&.0\&.11\&. if they fail\&. This option was added in MySQL 5\&.1\&.33/6\&.0\&.11\&.
.sp
For an example of a file that might be specified via this option, see
mysql\-test/collections/default\&.experimental\&.
.RE .RE
.sp .sp
.RS 4 .RS 4
@ -1132,6 +1135,26 @@ not to generate a timing file\&.
.sp -1 .sp -1
.IP \(bu 2.3 .IP \(bu 2.3
.\} .\}
.\" mysql-test-run.pl: parallel option
.\" parallel option: mysql-test-run.pl
\fB\-\-parallel={\fR\fB\fIN\fR\fR\fB|auto}\fR
.sp
Run tests using
\fIN\fR
parallel threads\&. By default, 1 thread is used\&. Use
\fB\-\-parallel=auto\fR
for auto\-setting of
\fIN\fR\&. This option was added in MySQL 5\&.1\&.36\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: ps-protocol option .\" mysql-test-run.pl: ps-protocol option
.\" ps-protocol option: mysql-test-run.pl .\" ps-protocol option: mysql-test-run.pl
\fB\-\-ps\-protocol\fR \fB\-\-ps\-protocol\fR

View File

@ -2,12 +2,12 @@
.\" Title: \fBmysql\fR .\" Title: \fBmysql\fR
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009 .\" Date: 11/04/2009
.\" Manual: MySQL Database System .\" Manual: MySQL Database System
.\" Source: MySQL 5.1 .\" Source: MySQL 5.1
.\" Language: English .\" Language: English
.\" .\"
.TH "\FBMYSQL\FR" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System" .TH "\FBMYSQL\FR" "1" "11/04/2009" "MySQL 5\&.1" "MySQL Database System"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * set default formatting .\" * set default formatting
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@ -334,8 +334,18 @@ to display result set metadata\&.
.sp .sp
Use Use
\fIcharset_name\fR \fIcharset_name\fR
as the default character set\&. See as the default character set for the client and connection\&.
Section\ \&9.2, \(lqThe Character Set Used for Data and Sorting\(rq\&. .sp
A common issue that can occur when the operating system uses
utf8
or another multi\-byte character set is that output from the
\fBmysql\fR
client is formatted incorrectly, due to the fact that the MySQL client uses the
latin1
character set by default\&. You can usually fix such issues by using this option to force the client to use the system character set instead\&.
.sp
See
Section\ \&9.2, \(lqThe Character Set Used for Data and Sorting\(rq, for more information\&.
.RE .RE
.sp .sp
.RS 4 .RS 4
@ -648,7 +658,7 @@ PAGER
environment variable\&. Valid pagers are environment variable\&. Valid pagers are
\fBless\fR, \fBless\fR,
\fBmore\fR, \fBmore\fR,
\fBcat [> filename]\fR, and so forth\&. This option works only on Unix\&. It does not work in batch mode\&. To disable paging, use \fBcat [> filename]\fR, and so forth\&. This option works only on Unix and only in interactive mode\&. To disable paging, use
\fB\-\-skip\-pager\fR\&. \fB\-\-skip\-pager\fR\&.
the section called \(lqMYSQL COMMANDS\(rq, discusses output paging further\&. the section called \(lqMYSQL COMMANDS\(rq, discusses output paging further\&.
.RE .RE
@ -1026,7 +1036,7 @@ Display output in table format\&. This is the default for interactive use, but c
.\" tee option: mysql .\" tee option: mysql
\fB\-\-tee=\fR\fB\fIfile_name\fR\fR \fB\-\-tee=\fR\fB\fIfile_name\fR\fR
.sp .sp
Append a copy of output to the given file\&. This option does not work in batch mode\&. Append a copy of output to the given file\&. This option works only in interactive mode\&.
the section called \(lqMYSQL COMMANDS\(rq, discusses tee files further\&. the section called \(lqMYSQL COMMANDS\(rq, discusses tee files further\&.
.RE .RE
.sp .sp
@ -1523,7 +1533,7 @@ is set to something other than the default of
\(lq;\(rq, instances of that character are sent to the server without interpretation\&. However, the server itself still interprets \(lq;\(rq, instances of that character are sent to the server without interpretation\&. However, the server itself still interprets
\(lq;\(rq \(lq;\(rq
as a statement delimiter and processes statements accordingly\&. This behavior on the server side comes into play for multiple\-statement execution (see as a statement delimiter and processes statements accordingly\&. This behavior on the server side comes into play for multiple\-statement execution (see
Section\ \&21.10.12, \(lqC API Support for Multiple Statement Execution\(rq), and for parsing the body of stored procedures and functions, triggers, and events (see Section\ \&21.9.12, \(lqC API Support for Multiple Statement Execution\(rq), and for parsing the body of stored procedures and functions, triggers, and events (see
Section\ \&19.1, \(lqDefining Stored Programs\(rq)\&. Section\ \&19.1, \(lqDefining Stored Programs\(rq)\&.
.RE .RE
.sp .sp
@ -1680,7 +1690,7 @@ option when you invoke
\fBmysql\fR \fBmysql\fR
checks the value of the checks the value of the
PAGER PAGER
environment variable and sets the pager to that\&. environment variable and sets the pager to that\&. Pager functionality works only in interactive mode\&.
.sp .sp
Output paging can be enabled interactively with the Output paging can be enabled interactively with the
\fBpager\fR \fBpager\fR
@ -1853,7 +1863,7 @@ By using the
option when you invoke option when you invoke
\fBmysql\fR, you can log statements and their output\&. All the data displayed on the screen is appended into a given file\&. This can be very useful for debugging purposes also\&. \fBmysql\fR, you can log statements and their output\&. All the data displayed on the screen is appended into a given file\&. This can be very useful for debugging purposes also\&.
\fBmysql\fR \fBmysql\fR
flushes results to the file after each statement, just before it prints its next prompt\&. flushes results to the file after each statement, just before it prints its next prompt\&. Tee functionality works only in interactive mode\&.
.sp .sp
You can enable this feature interactively with the You can enable this feature interactively with the
\fBtee\fR \fBtee\fR
@ -2334,7 +2344,7 @@ prompt=(\e\eu@\e\eh) [\e\ed]>\e\e_
.sp .sp
In this example, note that the backslashes are doubled\&. If you set the prompt using the In this example, note that the backslashes are doubled\&. If you set the prompt using the
prompt prompt
option in an option file, it is advisable to double the backslashes when using the special prompt options\&. There is some overlap in the set of allowable prompt options and the set of special escape sequences that are recognized in option files\&. (These sequences are listed in option in an option file, it is advisable to double the backslashes when using the special prompt options\&. There is some overlap in the set of allowable prompt options and the set of special escape sequences that are recognized in option files\&. (The rules for escape sequences in option files are listed in
Section\ \&4.2.3.3, \(lqUsing Option Files\(rq\&.) The overlap may cause you problems if you use single backslashes\&. For example, Section\ \&4.2.3.3, \(lqUsing Option Files\(rq\&.) The overlap may cause you problems if you use single backslashes\&. For example,
\es \es
is interpreted as a space rather than as the current seconds value\&. The following example shows how to define a prompt within an option file to include the current time in is interpreted as a space rather than as the current seconds value\&. The following example shows how to define a prompt within an option file to include the current time in
@ -2586,6 +2596,12 @@ SELECT \'<info_to_display>\' AS \' \';
The statement shown outputs The statement shown outputs
<info_to_display>\&. <info_to_display>\&.
.PP .PP
You can also invoke
\fBmysql\fR
with the
\fB\-\-verbose\fR
option, which causes each statement to be displayed before the result that it produces\&.
.PP
As of MySQL 5\&.1\&.23, As of MySQL 5\&.1\&.23,
\fBmysql\fR \fBmysql\fR
ignores Unicode byte order mark (BOM) characters at the beginning of input files\&. Previously, it read them and sent them to the server, resulting in a syntax error\&. Presence of a BOM does not cause ignores Unicode byte order mark (BOM) characters at the beginning of input files\&. Previously, it read them and sent them to the server, resulting in a syntax error\&. Presence of a BOM does not cause
@ -2785,7 +2801,7 @@ client with the
option\&. option\&.
.PP .PP
For more information about auto\-reconnect and its effect on state information when a reconnection occurs, see For more information about auto\-reconnect and its effect on state information when a reconnection occurs, see
Section\ \&21.10.11, \(lqControlling Automatic Reconnection Behavior\(rq\&. Section\ \&21.9.11, \(lqControlling Automatic Reconnection Behavior\(rq\&.
.SH "COPYRIGHT" .SH "COPYRIGHT"
.br .br
.PP .PP

View File

@ -2,12 +2,12 @@
.\" Title: \fBmysql.server\fR .\" Title: \fBmysql.server\fR
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009 .\" Date: 11/04/2009
.\" Manual: MySQL Database System .\" Manual: MySQL Database System
.\" Source: MySQL 5.1 .\" Source: MySQL 5.1
.\" Language: English .\" Language: English
.\" .\"
.TH "\FBMYSQL\&.SERVER\FR" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System" .TH "\FBMYSQL\&.SERVER\FR" "1" "11/04/2009" "MySQL 5\&.1" "MySQL Database System"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * set default formatting .\" * set default formatting
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@ -40,7 +40,7 @@ script will be installed in the
/etc/init\&.d /etc/init\&.d
directory with the name directory with the name
mysql\&. You need not install it manually\&. See mysql\&. You need not install it manually\&. See
Section\ \&2.4, \(lqInstalling MySQL from RPM Packages on Linux\(rq, for more information on the Linux RPM packages\&. Section\ \&2.6.1, \(lqInstalling MySQL from RPM Packages on Linux\(rq, for more information on the Linux RPM packages\&.
.PP .PP
Some vendors provide RPM packages that install a startup script under a different name such as Some vendors provide RPM packages that install a startup script under a different name such as
\fBmysqld\fR\&. \fBmysqld\fR\&.
@ -48,7 +48,7 @@ Some vendors provide RPM packages that install a startup script under a differen
If you install MySQL from a source distribution or using a binary distribution format that does not install If you install MySQL from a source distribution or using a binary distribution format that does not install
\fBmysql\&.server\fR \fBmysql\&.server\fR
automatically, you can install it manually\&. Instructions are provided in automatically, you can install it manually\&. Instructions are provided in
Section\ \&2.11.2.2, \(lqStarting and Stopping MySQL Automatically\(rq\&. Section\ \&2.13.1.2, \(lqStarting and Stopping MySQL Automatically\(rq\&.
.PP .PP
\fBmysql\&.server\fR \fBmysql\&.server\fR
reads options from the reads options from the

View File

@ -2,12 +2,12 @@
.\" Title: \fBmysql_client_test\fR .\" Title: \fBmysql_client_test\fR
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/08/2009 .\" Date: 10/29/2009
.\" Manual: MySQL Database System .\" Manual: MySQL Database System
.\" Source: MySQL .\" Source: MySQL
.\" Language: English .\" Language: English
.\" .\"
.TH "\FBMYSQL_CLIENT_TEST" "1" "08/08/2009" "MySQL" "MySQL Database System" .TH "\FBMYSQL_CLIENT_TEST" "1" "10/29/2009" "MySQL" "MySQL Database System"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * set default formatting .\" * set default formatting
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------

View File

@ -2,12 +2,12 @@
.\" Title: \fBmysql_config\fR .\" Title: \fBmysql_config\fR
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009 .\" Date: 11/04/2009
.\" Manual: MySQL Database System .\" Manual: MySQL Database System
.\" Source: MySQL 5.1 .\" Source: MySQL 5.1
.\" Language: English .\" Language: English
.\" .\"
.TH "\FBMYSQL_CONFIG\FR" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System" .TH "\FBMYSQL_CONFIG\FR" "1" "11/04/2009" "MySQL 5\&.1" "MySQL Database System"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * set default formatting .\" * set default formatting
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------

View File

@ -2,12 +2,12 @@
.\" Title: \fBmysql_convert_table_format\fR .\" Title: \fBmysql_convert_table_format\fR
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009 .\" Date: 11/04/2009
.\" Manual: MySQL Database System .\" Manual: MySQL Database System
.\" Source: MySQL 5.1 .\" Source: MySQL 5.1
.\" Language: English .\" Language: English
.\" .\"
.TH "\FBMYSQL_CONVERT_TAB" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System" .TH "\FBMYSQL_CONVERT_TAB" "1" "11/04/2009" "MySQL 5\&.1" "MySQL Database System"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * set default formatting .\" * set default formatting
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------

View File

@ -2,12 +2,12 @@
.\" Title: \fBmysql_find_rows\fR .\" Title: \fBmysql_find_rows\fR
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009 .\" Date: 11/04/2009
.\" Manual: MySQL Database System .\" Manual: MySQL Database System
.\" Source: MySQL 5.1 .\" Source: MySQL 5.1
.\" Language: English .\" Language: English
.\" .\"
.TH "\FBMYSQL_FIND_ROWS\F" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System" .TH "\FBMYSQL_FIND_ROWS\F" "1" "11/04/2009" "MySQL 5\&.1" "MySQL Database System"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * set default formatting .\" * set default formatting
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------

View File

@ -2,12 +2,12 @@
.\" Title: \fBmysql_fix_extensions\fR .\" Title: \fBmysql_fix_extensions\fR
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009 .\" Date: 11/04/2009
.\" Manual: MySQL Database System .\" Manual: MySQL Database System
.\" Source: MySQL 5.1 .\" Source: MySQL 5.1
.\" Language: English .\" Language: English
.\" .\"
.TH "\FBMYSQL_FIX_EXTENSI" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System" .TH "\FBMYSQL_FIX_EXTENSI" "1" "11/04/2009" "MySQL 5\&.1" "MySQL Database System"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * set default formatting .\" * set default formatting
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------

View File

@ -2,12 +2,12 @@
.\" Title: \fBmysql_fix_privilege_tables\fR .\" Title: \fBmysql_fix_privilege_tables\fR
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009 .\" Date: 11/04/2009
.\" Manual: MySQL Database System .\" Manual: MySQL Database System
.\" Source: MySQL 5.1 .\" Source: MySQL 5.1
.\" Language: English .\" Language: English
.\" .\"
.TH "\FBMYSQL_FIX_PRIVILE" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System" .TH "\FBMYSQL_FIX_PRIVILE" "1" "11/04/2009" "MySQL 5\&.1" "MySQL Database System"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * set default formatting .\" * set default formatting
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------

View File

@ -2,12 +2,12 @@
.\" Title: \fBmysql_install_db\fR .\" Title: \fBmysql_install_db\fR
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009 .\" Date: 11/04/2009
.\" Manual: MySQL Database System .\" Manual: MySQL Database System
.\" Source: MySQL 5.1 .\" Source: MySQL 5.1
.\" Language: English .\" Language: English
.\" .\"
.TH "\FBMYSQL_INSTALL_DB\" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System" .TH "\FBMYSQL_INSTALL_DB\" "1" "11/04/2009" "MySQL 5\&.1" "MySQL Database System"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * set default formatting .\" * set default formatting
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@ -81,7 +81,7 @@ with the
and and
\fB\-\-skip\-grant\-tables\fR \fB\-\-skip\-grant\-tables\fR
options (see options (see
Section\ \&2.10.2, \(lqTypical configure Options\(rq)\&. If MySQL was configured with the Section\ \&2.3.2, \(lqTypical configure Options\(rq)\&. If MySQL was configured with the
\fB\-\-disable\-grant\-options\fR \fB\-\-disable\-grant\-options\fR
option, option,
\fB\-\-bootstrap\fR \fB\-\-bootstrap\fR

View File

@ -2,12 +2,12 @@
.\" Title: \fBmysql_secure_installation\fR .\" Title: \fBmysql_secure_installation\fR
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009 .\" Date: 11/04/2009
.\" Manual: MySQL Database System .\" Manual: MySQL Database System
.\" Source: MySQL 5.1 .\" Source: MySQL 5.1
.\" Language: English .\" Language: English
.\" .\"
.TH "\FBMYSQL_SECURE_INST" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System" .TH "\FBMYSQL_SECURE_INST" "1" "11/04/2009" "MySQL 5\&.1" "MySQL Database System"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * set default formatting .\" * set default formatting
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------

View File

@ -2,12 +2,12 @@
.\" Title: \fBmysql_setpermission\fR .\" Title: \fBmysql_setpermission\fR
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009 .\" Date: 11/04/2009
.\" Manual: MySQL Database System .\" Manual: MySQL Database System
.\" Source: MySQL 5.1 .\" Source: MySQL 5.1
.\" Language: English .\" Language: English
.\" .\"
.TH "\FBMYSQL_SETPERMISSI" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System" .TH "\FBMYSQL_SETPERMISSI" "1" "11/04/2009" "MySQL 5\&.1" "MySQL Database System"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * set default formatting .\" * set default formatting
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------

View File

@ -2,12 +2,12 @@
.\" Title: \fBmysql_tzinfo_to_sql\fR .\" Title: \fBmysql_tzinfo_to_sql\fR
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009 .\" Date: 11/04/2009
.\" Manual: MySQL Database System .\" Manual: MySQL Database System
.\" Source: MySQL 5.1 .\" Source: MySQL 5.1
.\" Language: English .\" Language: English
.\" .\"
.TH "\FBMYSQL_TZINFO_TO_S" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System" .TH "\FBMYSQL_TZINFO_TO_S" "1" "11/04/2009" "MySQL 5\&.1" "MySQL Database System"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * set default formatting .\" * set default formatting
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------

View File

@ -2,12 +2,12 @@
.\" Title: \fBmysql_upgrade\fR .\" Title: \fBmysql_upgrade\fR
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009 .\" Date: 11/04/2009
.\" Manual: MySQL Database System .\" Manual: MySQL Database System
.\" Source: MySQL 5.1 .\" Source: MySQL 5.1
.\" Language: English .\" Language: English
.\" .\"
.TH "\FBMYSQL_UPGRADE\FR" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System" .TH "\FBMYSQL_UPGRADE\FR" "1" "11/04/2009" "MySQL 5\&.1" "MySQL Database System"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * set default formatting .\" * set default formatting
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@ -41,7 +41,7 @@ script, which should no longer be used\&.
If a table is found to have a possible incompatibility, If a table is found to have a possible incompatibility,
\fBmysql_upgrade\fR \fBmysql_upgrade\fR
performs a table check\&. If any problems are found, a table repair is attempted\&. If the table cannot be repaired, see performs a table check\&. If any problems are found, a table repair is attempted\&. If the table cannot be repaired, see
Section\ \&2.12.4, \(lqRebuilding or Repairing Tables or Indexes\(rq Section\ \&2.4.4, \(lqRebuilding or Repairing Tables or Indexes\(rq
for manual table repair strategies\&. for manual table repair strategies\&.
.if n \{\ .if n \{\
.sp .sp
@ -59,11 +59,11 @@ for manual table repair strategies\&.
You should always back up your current MySQL installation You should always back up your current MySQL installation
\fIbefore\fR \fIbefore\fR
performing an upgrade\&. See performing an upgrade\&. See
Section\ \&6.1, \(lqDatabase Backups\(rq\&. Section\ \&6.1, \(lqDatabase Backup Methods\(rq\&.
.PP .PP
Some upgrade incompatibilities may require special handling before you upgrade your MySQL installation and run Some upgrade incompatibilities may require special handling before you upgrade your MySQL installation and run
\fBmysql_upgrade\fR\&. See \fBmysql_upgrade\fR\&. See
Section\ \&2.12.1, \(lqUpgrading MySQL\(rq, for instructions on determining whether any such incompatibilities apply to your installation and how to handle them\&. Section\ \&2.4.1, \(lqUpgrading MySQL\(rq, for instructions on determining whether any such incompatibilities apply to your installation and how to handle them\&.
.sp .5v .sp .5v
.RE .RE
.PP .PP
@ -189,7 +189,7 @@ If you install MySQL from RPM packages on Linux, you must install the server and
\fBmysql_upgrade\fR \fBmysql_upgrade\fR
is included in the server RPM but requires the client RPM because the latter includes is included in the server RPM but requires the client RPM because the latter includes
\fBmysqlcheck\fR\&. (See \fBmysqlcheck\fR\&. (See
Section\ \&2.4, \(lqInstalling MySQL from RPM Packages on Linux\(rq\&.) Section\ \&2.6.1, \(lqInstalling MySQL from RPM Packages on Linux\(rq\&.)
.PP .PP
In MySQL 5\&.1\&.7, In MySQL 5\&.1\&.7,
\fBmysql_upgrade \fR \fBmysql_upgrade \fR
@ -352,6 +352,26 @@ root\&.
.sp .sp
Verbose mode\&. Print more information about what the program does\&. Verbose mode\&. Print more information about what the program does\&.
.RE .RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_upgrade: write-binlog option
.\" write-binlog option: mysql_upgrade
\fB\-\-write\-binlog\fR
.sp
Cause binary logging to be enabled while
\fBmysql_upgrade\fR
runs\&. This is the default behavior; to disable binary logging during the upgrade, use the inverse of this option (that is, start the program with
\fB\-\-skip\-write\-binlog\fR)\&.
.sp
This option was introduced in MySQL 5\&.1\&.40\&.
.RE
.SH "COPYRIGHT" .SH "COPYRIGHT"
.br .br
.PP .PP

View File

@ -2,12 +2,12 @@
.\" Title: \fBmysql_waitpid\fR .\" Title: \fBmysql_waitpid\fR
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009 .\" Date: 11/04/2009
.\" Manual: MySQL Database System .\" Manual: MySQL Database System
.\" Source: MySQL 5.1 .\" Source: MySQL 5.1
.\" Language: English .\" Language: English
.\" .\"
.TH "\FBMYSQL_WAITPID\FR" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System" .TH "\FBMYSQL_WAITPID\FR" "1" "11/04/2009" "MySQL 5\&.1" "MySQL Database System"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * set default formatting .\" * set default formatting
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------

View File

@ -2,12 +2,12 @@
.\" Title: \fBmysql_zap\fR .\" Title: \fBmysql_zap\fR
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009 .\" Date: 11/04/2009
.\" Manual: MySQL Database System .\" Manual: MySQL Database System
.\" Source: MySQL 5.1 .\" Source: MySQL 5.1
.\" Language: English .\" Language: English
.\" .\"
.TH "\FBMYSQL_ZAP\FR" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System" .TH "\FBMYSQL_ZAP\FR" "1" "11/04/2009" "MySQL 5\&.1" "MySQL Database System"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * set default formatting .\" * set default formatting
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------

View File

@ -2,12 +2,12 @@
.\" Title: \fBmysqlaccess\fR .\" Title: \fBmysqlaccess\fR
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009 .\" Date: 11/04/2009
.\" Manual: MySQL Database System .\" Manual: MySQL Database System
.\" Source: MySQL 5.1 .\" Source: MySQL 5.1
.\" Language: English .\" Language: English
.\" .\"
.TH "\FBMYSQLACCESS\FR" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System" .TH "\FBMYSQLACCESS\FR" "1" "11/04/2009" "MySQL 5\&.1" "MySQL Database System"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * set default formatting .\" * set default formatting
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------

View File

@ -2,12 +2,12 @@
.\" Title: \fBmysqladmin\fR .\" Title: \fBmysqladmin\fR
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009 .\" Date: 11/04/2009
.\" Manual: MySQL Database System .\" Manual: MySQL Database System
.\" Source: MySQL 5.1 .\" Source: MySQL 5.1
.\" Language: English .\" Language: English
.\" .\"
.TH "\FBMYSQLADMIN\FR" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System" .TH "\FBMYSQLADMIN\FR" "1" "11/04/2009" "MySQL 5\&.1" "MySQL Database System"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * set default formatting .\" * set default formatting
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------

View File

@ -2,12 +2,12 @@
.\" Title: \fBmysqlbinlog\fR .\" Title: \fBmysqlbinlog\fR
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009 .\" Date: 11/04/2009
.\" Manual: MySQL Database System .\" Manual: MySQL Database System
.\" Source: MySQL 5.1 .\" Source: MySQL 5.1
.\" Language: English .\" Language: English
.\" .\"
.TH "\FBMYSQLBINLOG\FR" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System" .TH "\FBMYSQLBINLOG\FR" "1" "11/04/2009" "MySQL 5\&.1" "MySQL Database System"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * set default formatting .\" * set default formatting
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@ -855,7 +855,7 @@ You can pipe the output of
into the into the
\fBmysql\fR \fBmysql\fR
client to execute the statements contained in the binary log\&. This is used to recover from a crash when you have an old backup (see client to execute the statements contained in the binary log\&. This is used to recover from a crash when you have an old backup (see
Section\ \&6.1, \(lqDatabase Backups\(rq)\&. For example: Section\ \&6.1, \(lqDatabase Backup Methods\(rq)\&. For example:
.sp .sp
.if n \{\ .if n \{\
.RS 4 .RS 4

View File

@ -2,12 +2,12 @@
.\" Title: \fBmysqlbug\fR .\" Title: \fBmysqlbug\fR
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009 .\" Date: 11/04/2009
.\" Manual: MySQL Database System .\" Manual: MySQL Database System
.\" Source: MySQL 5.1 .\" Source: MySQL 5.1
.\" Language: English .\" Language: English
.\" .\"
.TH "\FBMYSQLBUG\FR" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System" .TH "\FBMYSQLBUG\FR" "1" "11/04/2009" "MySQL 5\&.1" "MySQL Database System"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * set default formatting .\" * set default formatting
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------

View File

@ -2,12 +2,12 @@
.\" Title: \fBmysqlcheck\fR .\" Title: \fBmysqlcheck\fR
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009 .\" Date: 11/04/2009
.\" Manual: MySQL Database System .\" Manual: MySQL Database System
.\" Source: MySQL 5.1 .\" Source: MySQL 5.1
.\" Language: English .\" Language: English
.\" .\"
.TH "\FBMYSQLCHECK\FR" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System" .TH "\FBMYSQLCHECK\FR" "1" "11/04/2009" "MySQL 5\&.1" "MySQL Database System"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * set default formatting .\" * set default formatting
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@ -34,7 +34,14 @@ The
\fBmysqlcheck\fR \fBmysqlcheck\fR
client performs table maintenance: It checks, repairs, optimizes, or analyzes tables\&. client performs table maintenance: It checks, repairs, optimizes, or analyzes tables\&.
.PP .PP
Each table is locked and therefore unavailable to other sessions while it is being processed\&. Table maintenance operations can be time\-consuming, particularly for large tables\&. If you use the Each table is locked and therefore unavailable to other sessions while it is being processed, although for check operations, the table is locked with a
READ
lock only (see
Section\ \&12.4.5, \(lqLOCK TABLES and UNLOCK TABLES Syntax\(rq, for more information about
READ
and
WRITE
locks)\&. Table maintenance operations can be time\-consuming, particularly for large tables\&. If you use the
\fB\-\-databases\fR \fB\-\-databases\fR
or or
\fB\-\-all\-databases\fR \fB\-\-all\-databases\fR
@ -94,7 +101,7 @@ note : The storage engine for the table doesn\'t support check
If If
\fBmysqlcheck\fR \fBmysqlcheck\fR
is unable to repair a table, see is unable to repair a table, see
Section\ \&2.12.4, \(lqRebuilding or Repairing Tables or Indexes\(rq Section\ \&2.4.4, \(lqRebuilding or Repairing Tables or Indexes\(rq
for manual table repair strategies\&. This will be the case, for example, for for manual table repair strategies\&. This will be the case, for example, for
InnoDB InnoDB
tables, which can be checked with tables, which can be checked with

View File

@ -2,12 +2,12 @@
.\" Title: \fBmysqld\fR .\" Title: \fBmysqld\fR
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009 .\" Date: 11/04/2009
.\" Manual: MySQL Database System .\" Manual: MySQL Database System
.\" Source: MySQL 5.1 .\" Source: MySQL 5.1
.\" Language: English .\" Language: English
.\" .\"
.TH "\FBMYSQLD\FR" "8" "08/12/2009" "MySQL 5\&.1" "MySQL Database System" .TH "\FBMYSQLD\FR" "8" "11/04/2009" "MySQL 5\&.1" "MySQL Database System"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * set default formatting .\" * set default formatting
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------

View File

@ -2,12 +2,12 @@
.\" Title: \fBmysqld_multi\fR .\" Title: \fBmysqld_multi\fR
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009 .\" Date: 11/04/2009
.\" Manual: MySQL Database System .\" Manual: MySQL Database System
.\" Source: MySQL 5.1 .\" Source: MySQL 5.1
.\" Language: English .\" Language: English
.\" .\"
.TH "\FBMYSQLD_MULTI\FR" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System" .TH "\FBMYSQLD_MULTI\FR" "1" "11/04/2009" "MySQL 5\&.1" "MySQL Database System"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * set default formatting .\" * set default formatting
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@ -51,7 +51,7 @@ to specify which servers you want to start, stop, or obtain a status report for\
[mysqld] [mysqld]
group used for starting group used for starting
\fBmysqld\fR\&. (See, for example, \fBmysqld\fR\&. (See, for example,
Section\ \&2.11.2.2, \(lqStarting and Stopping MySQL Automatically\(rq\&.) However, when using multiple servers, it is necessary that each one use its own value for options such as the Unix socket file and TCP/IP port number\&. For more information on which options must be unique per server in a multiple\-server environment, see Section\ \&2.13.1.2, \(lqStarting and Stopping MySQL Automatically\(rq\&.) However, when using multiple servers, it is necessary that each one use its own value for options such as the Unix socket file and TCP/IP port number\&. For more information on which options must be unique per server in a multiple\-server environment, see
Section\ \&5.6, \(lqRunning Multiple MySQL Servers on the Same Machine\(rq\&. Section\ \&5.6, \(lqRunning Multiple MySQL Servers on the Same Machine\(rq\&.
.PP .PP
To invoke To invoke
@ -183,12 +183,6 @@ Otherwise, option files in the standard list of locations are read, including an
option, if one is given\&. (If the option is given multiple times, the last value is used\&.) option, if one is given\&. (If the option is given multiple times, the last value is used\&.)
.RE .RE
.PP .PP
Option files read are searched for
[mysqld_multi]
and
[mysqld\fIN\fR]
option groups\&.
.PP
Before MySQL 5\&.1\&.18, the preceding options are not recognized\&. Files in the standard locations are read, and any file named by the Before MySQL 5\&.1\&.18, the preceding options are not recognized\&. Files in the standard locations are read, and any file named by the
\fB\-\-config\-file=\fR\fB\fIfile_name\fR\fR \fB\-\-config\-file=\fR\fB\fIfile_name\fR\fR
option, if one is given\&. A file named by option, if one is given\&. A file named by
@ -199,6 +193,39 @@ option groups, not the
[mysqld_multi] [mysqld_multi]
group\&. group\&.
.PP .PP
Option files read are searched for
[mysqld_multi]
and
[mysqld\fIN\fR]
option groups\&. The
[mysqld_multi]
group can be used for options to
\fBmysqld_multi\fR
itself\&.
[mysqld\fIN\fR]
groups can be used for options passed to specific
\fBmysqld\fR
instances\&.
.PP
As of MySQL 5\&.1\&.35, the
[mysqld]
or
[mysqld_safe]
groups can be used for common options read by all instances of
\fBmysqld\fR
or
\fBmysqld_safe\fR\&. You can specify a
\fB\-\-defaults\-file=\fR\fB\fIfile_name\fR\fR
option to use a different configuration file for that instance, in which case the
[mysqld]
or
[mysqld_safe]
groups from that file will be used for that instance\&. Before MySQL 5\&.1\&.35, some versions of
\fBmysqld_multi\fR
pass the
\fB\-\-no\-defaults\fR
options to instances, so these techniques are inapplicable\&.
.PP
\fBmysqld_multi\fR \fBmysqld_multi\fR
supports the following options: supports the following options:
.sp .sp

View File

@ -2,12 +2,12 @@
.\" Title: \fBmysqld_safe\fR .\" Title: \fBmysqld_safe\fR
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009 .\" Date: 11/04/2009
.\" Manual: MySQL Database System .\" Manual: MySQL Database System
.\" Source: MySQL 5.1 .\" Source: MySQL 5.1
.\" Language: English .\" Language: English
.\" .\"
.TH "\FBMYSQLD_SAFE\FR" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System" .TH "\FBMYSQLD_SAFE\FR" "1" "11/04/2009" "MySQL 5\&.1" "MySQL Database System"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * set default formatting .\" * set default formatting
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------

View File

@ -2,12 +2,12 @@
.\" Title: \fBmysqldump\fR .\" Title: \fBmysqldump\fR
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009 .\" Date: 11/04/2009
.\" Manual: MySQL Database System .\" Manual: MySQL Database System
.\" Source: MySQL 5.1 .\" Source: MySQL 5.1
.\" Language: English .\" Language: English
.\" .\"
.TH "\FBMYSQLDUMP\FR" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System" .TH "\FBMYSQLDUMP\FR" "1" "11/04/2009" "MySQL 5\&.1" "MySQL Database System"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * set default formatting .\" * set default formatting
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@ -575,7 +575,7 @@ uses
utf8, and earlier versions use utf8, and earlier versions use
latin1\&. latin1\&.
.sp .sp
This option has no effect for output data files produced by using the Prior to MySQL 5\&.1\&.38, this option has no effect for output data files produced by using the
\fB\-\-tab\fR \fB\-\-tab\fR
option\&. See the description for that option\&. option\&. See the description for that option\&.
.RE .RE
@ -1232,7 +1232,8 @@ statement for the table\&.
\fB\-\-no\-set\-names\fR \fB\-\-no\-set\-names\fR
.sp .sp
This option is deprecated\&. Use This option is deprecated\&. Use
\fB\-\-skip\-set\-charset\fR\&. instead\&. \fB\-\-skip\-set\-charset\fR
instead\&.
.RE .RE
.sp .sp
.RS 4 .RS 4
@ -1657,11 +1658,11 @@ and
\fB\-\-lines\-terminated\-by\fR \fB\-\-lines\-terminated\-by\fR
options\&. options\&.
.sp .sp
Column values are dumped using the As of MySQL 5\&.1\&.38, column values are written converted to the character set specified by the
binary
character set and the
\fB\-\-default\-character\-set\fR \fB\-\-default\-character\-set\fR
option is ignored\&. In effect, there is no character set conversion\&. If a table contains columns in several character sets, the output data file will as well and you may not be able to reload the file correctly\&. option\&. Prior to 5\&.1\&.38 or if no such option is present, values are dumped using the
binary
character set\&. In effect, there is no character set conversion\&. If a table contains columns in several character sets, the output data file will as well and you may not be able to reload the file correctly\&.
.if n \{\ .if n \{\
.sp .sp
.\} .\}
@ -2110,7 +2111,7 @@ InnoDB
storage engine\&. storage engine\&.
.PP .PP
For more information on making backups, see For more information on making backups, see
Section\ \&6.1, \(lqDatabase Backups\(rq, and Section\ \&6.1, \(lqDatabase Backup Methods\(rq, and
Section\ \&6.2, \(lqExample Backup and Recovery Strategy\(rq\&. Section\ \&6.2, \(lqExample Backup and Recovery Strategy\(rq\&.
.\" mysqldump: views .\" mysqldump: views
.\" mysqldump: problems .\" mysqldump: problems

View File

@ -2,12 +2,12 @@
.\" Title: \fBmysqldumpslow\fR .\" Title: \fBmysqldumpslow\fR
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009 .\" Date: 11/04/2009
.\" Manual: MySQL Database System .\" Manual: MySQL Database System
.\" Source: MySQL 5.1 .\" Source: MySQL 5.1
.\" Language: English .\" Language: English
.\" .\"
.TH "\FBMYSQLDUMPSLOW\FR" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System" .TH "\FBMYSQLDUMPSLOW\FR" "1" "11/04/2009" "MySQL 5\&.1" "MySQL Database System"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * set default formatting .\" * set default formatting
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------

View File

@ -2,12 +2,12 @@
.\" Title: \fBmysqlhotcopy\fR .\" Title: \fBmysqlhotcopy\fR
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009 .\" Date: 11/04/2009
.\" Manual: MySQL Database System .\" Manual: MySQL Database System
.\" Source: MySQL 5.1 .\" Source: MySQL 5.1
.\" Language: English .\" Language: English
.\" .\"
.TH "\FBMYSQLHOTCOPY\FR" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System" .TH "\FBMYSQLHOTCOPY\FR" "1" "11/04/2009" "MySQL 5\&.1" "MySQL Database System"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * set default formatting .\" * set default formatting
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------

View File

@ -2,12 +2,12 @@
.\" Title: \fBmysqlimport\fR .\" Title: \fBmysqlimport\fR
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009 .\" Date: 11/04/2009
.\" Manual: MySQL Database System .\" Manual: MySQL Database System
.\" Source: MySQL 5.1 .\" Source: MySQL 5.1
.\" Language: English .\" Language: English
.\" .\"
.TH "\FBMYSQLIMPORT\FR" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System" .TH "\FBMYSQLIMPORT\FR" "1" "11/04/2009" "MySQL 5\&.1" "MySQL Database System"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * set default formatting .\" * set default formatting
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------

View File

@ -2,12 +2,12 @@
.\" Title: \fBmysqlmanager\fR .\" Title: \fBmysqlmanager\fR
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009 .\" Date: 11/04/2009
.\" Manual: MySQL Database System .\" Manual: MySQL Database System
.\" Source: MySQL 5.1 .\" Source: MySQL 5.1
.\" Language: English .\" Language: English
.\" .\"
.TH "\FBMYSQLMANAGER\FR" "8" "08/12/2009" "MySQL 5\&.1" "MySQL Database System" .TH "\FBMYSQLMANAGER\FR" "8" "11/04/2009" "MySQL 5\&.1" "MySQL Database System"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * set default formatting .\" * set default formatting
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@ -274,7 +274,8 @@ Drop all users from the password file\&. This option was added in MySQL 5\&.1\&.
.\} .\}
.\" mysqlmanager: debug option .\" mysqlmanager: debug option
.\" debug option: mysqlmanager .\" debug option: mysqlmanager
\fB\-\-debug=\fR\fB\fIdebug_options\fR\fR\fB, \-# \fR\fB\fIdebug_options\fR\fR \fB\-\-debug=\fR\fB\fIdebug_options\fR\fR,
\fB\-# \fR\fB\fIdebug_options\fR\fR
.sp .sp
Write a debugging log\&. A typical Write a debugging log\&. A typical
\fIdebug_options\fR \fIdebug_options\fR

View File

@ -2,12 +2,12 @@
.\" Title: \fBmysqlshow\fR .\" Title: \fBmysqlshow\fR
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009 .\" Date: 11/04/2009
.\" Manual: MySQL Database System .\" Manual: MySQL Database System
.\" Source: MySQL 5.1 .\" Source: MySQL 5.1
.\" Language: English .\" Language: English
.\" .\"
.TH "\FBMYSQLSHOW\FR" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System" .TH "\FBMYSQLSHOW\FR" "1" "11/04/2009" "MySQL 5\&.1" "MySQL Database System"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * set default formatting .\" * set default formatting
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------

View File

@ -2,12 +2,12 @@
.\" Title: \fBmysqlslap\fR .\" Title: \fBmysqlslap\fR
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009 .\" Date: 11/04/2009
.\" Manual: MySQL Database System .\" Manual: MySQL Database System
.\" Source: MySQL 5.1 .\" Source: MySQL 5.1
.\" Language: English .\" Language: English
.\" .\"
.TH "\FBMYSQLSLAP\FR" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System" .TH "\FBMYSQLSLAP\FR" "1" "11/04/2009" "MySQL 5\&.1" "MySQL Database System"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * set default formatting .\" * set default formatting
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------

View File

@ -2,12 +2,12 @@
.\" Title: \fBmysqltest\fR .\" Title: \fBmysqltest\fR
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/08/2009 .\" Date: 10/29/2009
.\" Manual: MySQL Database System .\" Manual: MySQL Database System
.\" Source: MySQL .\" Source: MySQL
.\" Language: English .\" Language: English
.\" .\"
.TH "\FBMYSQLTEST\FR" "1" "08/08/2009" "MySQL" "MySQL Database System" .TH "\FBMYSQLTEST\FR" "1" "10/29/2009" "MySQL" "MySQL Database System"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * set default formatting .\" * set default formatting
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------

View File

@ -2,12 +2,12 @@
.\" Title: \fBndbd\fR .\" Title: \fBndbd\fR
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009 .\" Date: 11/04/2009
.\" Manual: MySQL Database System .\" Manual: MySQL Database System
.\" Source: MySQL 5.1 .\" Source: MySQL 5.1
.\" Language: English .\" Language: English
.\" .\"
.TH "\FBNDBD\FR" "8" "08/12/2009" "MySQL 5\&.1" "MySQL Database System" .TH "\FBNDBD\FR" "8" "11/04/2009" "MySQL 5\&.1" "MySQL Database System"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * set default formatting .\" * set default formatting
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@ -41,8 +41,9 @@ processes cooperate in handling data\&. These processes can execute on the same
.\" command options (MySQL Cluster): ndbd .\" command options (MySQL Cluster): ndbd
.\" MySQL Cluster: ndbd process .\" MySQL Cluster: ndbd process
.PP .PP
The following list describes command options specific to the MySQL Cluster data node program The following table includes command options specific to the MySQL Cluster data node program
\fBndbd\fR\&. \fBndbd\fR\&. Additional descriptions follow the table\&. For options common to all MySQL Cluster programs, see
Section\ \&17.4.2, \(lqOptions Common to MySQL Cluster Programs\(rq\&.
.if n \{\ .if n \{\
.sp .sp
.\} .\}
@ -68,7 +69,7 @@ wherever the latter occurs in this section\&.
For options common to all For options common to all
NDBCLUSTER NDBCLUSTER
programs, see programs, see
Section\ \&17.6.2, \(lqOptions Common to MySQL Cluster Programs\(rq\&. Section\ \&17.4.2, \(lqOptions Common to MySQL Cluster Programs\(rq\&.
.sp .sp
.RS 4 .RS 4
.ie n \{\ .ie n \{\
@ -81,9 +82,11 @@ Section\ \&17.6.2, \(lqOptions Common to MySQL Cluster Programs\(rq\&.
\fB\-\-bind\-address\fR \fB\-\-bind\-address\fR
.TS .TS
allbox tab(:); allbox tab(:);
l l l l s
l l l l s
l l. l l s
^ l l
^ l l.
T{ T{
\fBVersion Introduced\fR \fBVersion Introduced\fR
T}:T{ T}:T{
@ -95,28 +98,16 @@ T}:T{
\-\-bind\-address=name \-\-bind\-address=name
T} T}
T{ T{
\fBPermitted Values \fR \ \&
T}:T{ T}:T{
[\fInested\ table\fR]* \fBPermitted Values \fR
T} T}
.TE :T{
.sp 1
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.B *[nested\ table]
.TS
allbox tab(:);
l l
l l.
T{
\fBType\fR \fBType\fR
T}:T{ T}:T{
string string
T} T}
T{ :T{
\fBDefault\fR \fBDefault\fR
T}:T{ T}:T{
T} T}
@ -141,36 +132,26 @@ This option was added in MySQL 5\&.1\&.12\&.
\fB\-d\fR \fB\-d\fR
.TS .TS
allbox tab(:); allbox tab(:);
l l l l s
l l. l l s
^ l l
^ l l.
T{ T{
\fBCommand Line Format\fR \fBCommand Line Format\fR
T}:T{ T}:T{
\-\-daemon \-\-daemon
T} T}
T{ T{
\fBPermitted Values \fR \ \&
T}:T{ T}:T{
[\fInested\ table\fR]* \fBPermitted Values \fR
T} T}
.TE :T{
.sp 1
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.B *[nested\ table]
.TS
allbox tab(:);
l l
l l.
T{
\fBType\fR \fBType\fR
T}:T{ T}:T{
boolean boolean
T} T}
T{ :T{
\fBDefault\fR \fBDefault\fR
T}:T{ T}:T{
TRUE TRUE
@ -182,6 +163,12 @@ Instructs
to execute as a daemon process\&. This is the default behavior\&. to execute as a daemon process\&. This is the default behavior\&.
\fB\-\-nodaemon\fR \fB\-\-nodaemon\fR
can be used to prevent the process from running as a daemon\&. can be used to prevent the process from running as a daemon\&.
.sp
This option has no effect when running
\fBndbd\fR
or
\fBndbmtd\fR
on Windows platforms\&.
.RE .RE
.sp .sp
.RS 4 .RS 4
@ -197,36 +184,26 @@ can be used to prevent the process from running as a daemon\&.
\fB\-\-initial\fR \fB\-\-initial\fR
.TS .TS
allbox tab(:); allbox tab(:);
l l l l s
l l. l l s
^ l l
^ l l.
T{ T{
\fBCommand Line Format\fR \fBCommand Line Format\fR
T}:T{ T}:T{
\-\-initial \-\-initial
T} T}
T{ T{
\fBPermitted Values \fR \ \&
T}:T{ T}:T{
[\fInested\ table\fR]* \fBPermitted Values \fR
T} T}
.TE :T{
.sp 1
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.B *[nested\ table]
.TS
allbox tab(:);
l l
l l.
T{
\fBType\fR \fBType\fR
T}:T{ T}:T{
boolean boolean
T} T}
T{ :T{
\fBDefault\fR \fBDefault\fR
T}:T{ T}:T{
FALSE FALSE
@ -321,9 +298,11 @@ Backup files that have already been created by the affected node
.IP \(bu 2.3 .IP \(bu 2.3
.\} .\}
MySQL Cluster Disk Data files (see MySQL Cluster Disk Data files (see
Section\ \&17.10, \(lqMySQL Cluster Disk Data Tables\(rq)\&. Section\ \&17.5.9, \(lqMySQL Cluster Disk Data Tables\(rq)\&.
.RE .RE
.RS 4 .RS 4
.sp
This option also has no effect on recovery of data by a data node that is just starting (or restarting) from data nodes that are already running\&. This recovery of data occurs automatically, and requires no user intervention in a MySQL Cluster that is running normally\&.
.sp .5v .sp .5v
.RE .RE
It is permissible to use this option when starting the cluster for the very first time (that is, before any data node files have been created); however, it is It is permissible to use this option when starting the cluster for the very first time (that is, before any data node files have been created); however, it is
@ -344,9 +323,11 @@ necessary to do so\&.
\fB\-\-initial\-start\fR \fB\-\-initial\-start\fR
.TS .TS
allbox tab(:); allbox tab(:);
l l l l s
l l l l s
l l. l l s
^ l l
^ l l.
T{ T{
\fBVersion Introduced\fR \fBVersion Introduced\fR
T}:T{ T}:T{
@ -358,28 +339,16 @@ T}:T{
\-\-initial\-start \-\-initial\-start
T} T}
T{ T{
\fBPermitted Values \fR \ \&
T}:T{ T}:T{
[\fInested\ table\fR]* \fBPermitted Values \fR
T} T}
.TE :T{
.sp 1
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.B *[nested\ table]
.TS
allbox tab(:);
l l
l l.
T{
\fBType\fR \fBType\fR
T}:T{ T}:T{
boolean boolean
T} T}
T{ :T{
\fBDefault\fR \fBDefault\fR
T}:T{ T}:T{
FALSE FALSE
@ -435,9 +404,11 @@ Prior to MySQL 5\&.1\&.19, it was not possible to perform DDL operations involvi
\fB\-\-nowait\-nodes=\fR\fB\fInode_id_1\fR\fR\fB[, \fR\fB\fInode_id_2\fR\fR\fB[, \&.\&.\&.]]\fR \fB\-\-nowait\-nodes=\fR\fB\fInode_id_1\fR\fR\fB[, \fR\fB\fInode_id_2\fR\fR\fB[, \&.\&.\&.]]\fR
.TS .TS
allbox tab(:); allbox tab(:);
l l l l s
l l l l s
l l. l l s
^ l l
^ l l.
T{ T{
\fBVersion Introduced\fR \fBVersion Introduced\fR
T}:T{ T}:T{
@ -449,28 +420,16 @@ T}:T{
\-\-nowait\-nodes=list \-\-nowait\-nodes=list
T} T}
T{ T{
\fBPermitted Values \fR \ \&
T}:T{ T}:T{
[\fInested\ table\fR]* \fBPermitted Values \fR
T} T}
.TE :T{
.sp 1
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.B *[nested\ table]
.TS
allbox tab(:);
l l
l l.
T{
\fBType\fR \fBType\fR
T}:T{ T}:T{
string string
T} T}
T{ :T{
\fBDefault\fR \fBDefault\fR
T}:T{ T}:T{
T} T}
@ -508,36 +467,26 @@ This option was added in MySQL 5\&.1\&.9\&.
\fB\-\-nodaemon\fR \fB\-\-nodaemon\fR
.TS .TS
allbox tab(:); allbox tab(:);
l l l l s
l l. l l s
^ l l
^ l l.
T{ T{
\fBCommand Line Format\fR \fBCommand Line Format\fR
T}:T{ T}:T{
\-\-nodaemon \-\-nodaemon
T} T}
T{ T{
\fBPermitted Values \fR \ \&
T}:T{ T}:T{
[\fInested\ table\fR]* \fBPermitted Values \fR
T} T}
.TE :T{
.sp 1
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.B *[nested\ table]
.TS
allbox tab(:);
l l
l l.
T{
\fBType\fR \fBType\fR
T}:T{ T}:T{
boolean boolean
T} T}
T{ :T{
\fBDefault\fR \fBDefault\fR
T}:T{ T}:T{
FALSE FALSE
@ -549,6 +498,12 @@ Instructs
not to start as a daemon process\&. This is useful when not to start as a daemon process\&. This is useful when
\fBndbd\fR \fBndbd\fR
is being debugged and you want output to be redirected to the screen\&. is being debugged and you want output to be redirected to the screen\&.
.sp
As of MySQL Cluster NDB 7\&.0\&.8, the default behavior for
\fBndbd\fR
and
\fBndbmtd\fR
on Windows is to run in the foreground, making this option unnecessary on Windows platforms\&. (\m[blue]\fBBug#45588\fR\m[]\&\s-2\u[2]\d\s+2)
.RE .RE
.sp .sp
.RS 4 .RS 4
@ -567,36 +522,26 @@ is being debugged and you want output to be redirected to the screen\&.
\fB\-n\fR \fB\-n\fR
.TS .TS
allbox tab(:); allbox tab(:);
l l l l s
l l. l l s
^ l l
^ l l.
T{ T{
\fBCommand Line Format\fR \fBCommand Line Format\fR
T}:T{ T}:T{
\-\-nostart \-\-nostart
T} T}
T{ T{
\fBPermitted Values \fR \ \&
T}:T{ T}:T{
[\fInested\ table\fR]* \fBPermitted Values \fR
T} T}
.TE :T{
.sp 1
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.B *[nested\ table]
.TS
allbox tab(:);
l l
l l.
T{
\fBType\fR \fBType\fR
T}:T{ T}:T{
boolean boolean
T} T}
T{ :T{
\fBDefault\fR \fBDefault\fR
T}:T{ T}:T{
FALSE FALSE
@ -610,7 +555,7 @@ not to start automatically\&. When this option is used,
connects to the management server, obtains configuration data from it, and initializes communication objects\&. However, it does not actually start the execution engine until specifically requested to do so by the management server\&. This can be accomplished by issuing the proper connects to the management server, obtains configuration data from it, and initializes communication objects\&. However, it does not actually start the execution engine until specifically requested to do so by the management server\&. This can be accomplished by issuing the proper
START START
command in the management client (see command in the management client (see
Section\ \&17.7.2, \(lqCommands in the MySQL Cluster Management Client\(rq)\&. Section\ \&17.5.2, \(lqCommands in the MySQL Cluster Management Client\(rq)\&.
.RE .RE
.\" MySQL Cluster: log files .\" MySQL Cluster: log files
.\" log files (MySQL Cluster) .\" log files (MySQL Cluster)
@ -668,7 +613,7 @@ TraceFile: ndb_2_trace\&.log\&.2
Listings of possible Listings of possible
\fBndbd\fR \fBndbd\fR
exit codes and messages generated when a data node process shuts down prematurely can be found in exit codes and messages generated when a data node process shuts down prematurely can be found in
\m[blue]\fBndbd Error Messages\fR\m[]\&\s-2\u[2]\d\s+2\&. \m[blue]\fBndbd Error Messages\fR\m[]\&\s-2\u[3]\d\s+2\&.
.if n \{\ .if n \{\
.sp .sp
.\} .\}
@ -784,7 +729,7 @@ shell> \fBndbd \-\-connect\-string="nodeid=2;host=ndb_mgmd\&.mysql\&.com:1186"\f
.\} .\}
.PP .PP
See See
Section\ \&17.3.4.3, \(lqThe MySQL Cluster Connectstring\(rq, for additional information about this issue\&. Section\ \&17.3.2.3, \(lqThe MySQL Cluster Connectstring\(rq, for additional information about this issue\&.
\fBndbd\fR(8), describes other options for \fBndbd\fR(8), describes other options for
\fBndbd\fR\&. \fBndbd\fR\&.
.PP .PP
@ -810,7 +755,7 @@ process can consume up to 2 CPUs if permitted to do so\&.
For a machine with many CPUs it is possible to use several For a machine with many CPUs it is possible to use several
\fBndbd\fR \fBndbd\fR
processes which belong to different node groups; however, such a configuration is still considered experimental and is not supported for MySQL 5\&.1 in a production setting\&. See processes which belong to different node groups; however, such a configuration is still considered experimental and is not supported for MySQL 5\&.1 in a production setting\&. See
Section\ \&17.12, \(lqKnown Limitations of MySQL Cluster\(rq\&. Section\ \&17.1.5, \(lqKnown Limitations of MySQL Cluster\(rq\&.
.SH "COPYRIGHT" .SH "COPYRIGHT"
.br .br
.PP .PP
@ -829,6 +774,11 @@ Bug#24631
\%http://bugs.mysql.com/24631 \%http://bugs.mysql.com/24631
.RE .RE
.IP " 2." 4 .IP " 2." 4
Bug#45588
.RS 4
\%http://bugs.mysql.com/45588
.RE
.IP " 3." 4
ndbd Error Messages ndbd Error Messages
.RS 4 .RS 4
\%http://dev.mysql.com/doc/ndbapi/en/ndbd-error-messages.html \%http://dev.mysql.com/doc/ndbapi/en/ndbd-error-messages.html

View File

@ -2,12 +2,12 @@
.\" Title: \fBndbd_redo_log_reader\fR .\" Title: \fBndbd_redo_log_reader\fR
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009 .\" Date: 11/04/2009
.\" Manual: MySQL Database System .\" Manual: MySQL Database System
.\" Source: MySQL 5.1 .\" Source: MySQL 5.1
.\" Language: English .\" Language: English
.\" .\"
.TH "\FBNDBD_REDO_LOG_REA" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System" .TH "\FBNDBD_REDO_LOG_REA" "1" "11/04/2009" "MySQL 5\&.1" "MySQL Database System"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * set default formatting .\" * set default formatting
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@ -37,6 +37,10 @@ The C++ source files for
can be found in the directory can be found in the directory
/storage/ndb/src/kernel/blocks/dblqh/redoLogReader\&. /storage/ndb/src/kernel/blocks/dblqh/redoLogReader\&.
.PP .PP
The following table includes options that are specific to the MySQL Cluster program
\fBndbd_redo_log_reader\fR\&. Additional descriptions follow the table\&. For options common to all MySQL Cluster programs, see
Section\ \&17.4.2, \(lqOptions Common to MySQL Cluster Programs\(rq\&.
.PP
\fBUsage\fR: \fBUsage\fR:
.sp .sp
.if n \{\ .if n \{\
@ -56,84 +60,6 @@ ndb_\fI#\fR_fs/D\fI#\fR/LCP/\fI#\fR/T\fI#\fRF\fI#\fR\&.Data\&. In each case, the
represents a number (not necessarily the same number)\&. For more information, see represents a number (not necessarily the same number)\&. For more information, see
\m[blue]\fBCluster Data Node FileSystemDir Files\fR\m[]\&\s-2\u[1]\d\s+2\&. \m[blue]\fBCluster Data Node FileSystemDir Files\fR\m[]\&\s-2\u[1]\d\s+2\&.
.PP .PP
\fBAdditional Options\fR:
.TS
allbox tab(:);
l l
l l.
T{
\fBCommand Line Format\fR
T}:T{
\-noprint
T}
T{
\fBPermitted Values \fR
T}:T{
[\fInested\ table\fR]*
T}
.TE
.sp 1
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.B *[nested\ table]
.TS
allbox tab(:);
l l
l l.
T{
\fBType\fR
T}:T{
boolean
T}
T{
\fBDefault\fR
T}:T{
FALSE
T}
.TE
.sp 1
.TS
allbox tab(:);
l l
l l.
T{
\fBCommand Line Format\fR
T}:T{
\-nocheck
T}
T{
\fBPermitted Values \fR
T}:T{
[\fInested\ table\fR]*
T}
.TE
.sp 1
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.B *[nested\ table]
.TS
allbox tab(:);
l l
l l.
T{
\fBType\fR
T}:T{
boolean
T}
T{
\fBDefault\fR
T}:T{
FALSE
T}
.TE
.sp 1
.PP
The name of the file to be read may be followed by one or more of the options listed here: The name of the file to be read may be followed by one or more of the options listed here:
.sp .sp
.RS 4 .RS 4
@ -144,6 +70,34 @@ The name of the file to be read may be followed by one or more of the options li
.sp -1 .sp -1
.IP \(bu 2.3 .IP \(bu 2.3
.\} .\}
.TS
allbox tab(:);
l l s
l l s
^ l l
^ l l.
T{
\fBCommand Line Format\fR
T}:T{
\-noprint
T}
T{
\ \&
T}:T{
\fBPermitted Values \fR
T}
:T{
\fBType\fR
T}:T{
boolean
T}
:T{
\fBDefault\fR
T}:T{
FALSE
T}
.TE
.sp 1
\fB\-noprint\fR: Do not print the contents of the log file\&. \fB\-noprint\fR: Do not print the contents of the log file\&.
.RE .RE
.sp .sp
@ -155,6 +109,34 @@ The name of the file to be read may be followed by one or more of the options li
.sp -1 .sp -1
.IP \(bu 2.3 .IP \(bu 2.3
.\} .\}
.TS
allbox tab(:);
l l s
l l s
^ l l
^ l l.
T{
\fBCommand Line Format\fR
T}:T{
\-nocheck
T}
T{
\ \&
T}:T{
\fBPermitted Values \fR
T}
:T{
\fBType\fR
T}:T{
boolean
T}
:T{
\fBDefault\fR
T}:T{
FALSE
T}
.TE
.sp 1
\fB\-nocheck\fR: Do not check the log file for errors\&. \fB\-nocheck\fR: Do not check the log file for errors\&.
.RE .RE
.sp .sp
@ -184,7 +166,7 @@ You should have received a copy of the GNU General Public License along with the
.IP " 1." 4 .IP " 1." 4
Cluster Data Node FileSystemDir Files Cluster Data Node FileSystemDir Files
.RS 4 .RS 4
\%http://dev.mysql.com/doc/ndbapi/en/ndb-internals-ndbd-filesystem.html#ndb-internals-ndbd-filesystemdir-files \%http://dev.mysql.com/doc/ndbapi/en/ndb-internals-ndbd-filesystemdir-files.html
.RE .RE
.SH "SEE ALSO" .SH "SEE ALSO"
For more information, please refer to the MySQL Reference Manual, For more information, please refer to the MySQL Reference Manual,

View File

@ -2,12 +2,12 @@
.\" Title: \fBndbmtd\fR .\" Title: \fBndbmtd\fR
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009 .\" Date: 11/04/2009
.\" Manual: MySQL Database System .\" Manual: MySQL Database System
.\" Source: MySQL 5.1 .\" Source: MySQL 5.1
.\" Language: English .\" Language: English
.\" .\"
.TH "\FBNDBMTD\FR" "8" "08/12/2009" "MySQL 5\&.1" "MySQL Database System" .TH "\FBNDBMTD\FR" "8" "11/04/2009" "MySQL 5\&.1" "MySQL Database System"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * set default formatting .\" * set default formatting
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@ -49,8 +49,8 @@ Command\-line options and configuration parameters used with
\fBndbd\fR \fBndbd\fR
also apply to also apply to
\fBndbmtd\fR\&. For more information about these options and parameters, see \fBndbmtd\fR\&. For more information about these options and parameters, see
Section\ \&17.6.3.2, \(lqProgram Options for ndbd and ndbmtd\(rq, and \fBndbd\fR(8), and
Section\ \&17.3.4.6, \(lqDefining MySQL Cluster Data Nodes\(rq, respectively\&. Section\ \&17.3.2.6, \(lqDefining MySQL Cluster Data Nodes\(rq, respectively\&.
.PP .PP
\fBndbmtd\fR \fBndbmtd\fR
is also file system\-compatible with is also file system\-compatible with
@ -69,25 +69,13 @@ simply by stopping the node and then starting
\fBndbd\fR \fBndbd\fR
in place of the multi\-threaded binary\&. It is not necessary when switching between the two to start the data node binary using in place of the multi\-threaded binary\&. It is not necessary when switching between the two to start the data node binary using
\fB\-\-initial\fR\&. \fB\-\-initial\fR\&.
.if n \{\
.sp
.\}
.RS 4
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
\fBImportant\fR
.ps -1
.br
.PP .PP
We do not currently recommend using Prior to MySQL Cluster NDB 7\&.0\&.6, there were known issues when using
\fBndbmtd\fR \fBndbmtd\fR
with MySQL Cluster Disk Data tables in production, due to known issues which we are working to fix in a future MySQL Cluster release\&. (\m[blue]\fBBug#41915\fR\m[]\&\s-2\u[1]\d\s+2, with MySQL Cluster Disk Data tables\&. If you wish to use multi\-threaded data nodes with disk\-based
NDB
tables, you should insure that you are running MySQL Cluster NDB 7\&.0\&.6 or later\&. (\m[blue]\fBBug#41915\fR\m[]\&\s-2\u[1]\d\s+2,
\m[blue]\fBBug#44915\fR\m[]\&\s-2\u[2]\d\s+2) \m[blue]\fBBug#44915\fR\m[]\&\s-2\u[2]\d\s+2)
.sp .5v
.RE
.PP .PP
Using Using
\fBndbmtd\fR \fBndbmtd\fR
@ -129,6 +117,8 @@ failures\&.
.RE .RE
.PP .PP
These differences are discussed in more detail in the next few paragraphs\&. These differences are discussed in more detail in the next few paragraphs\&.
.\" execution threads (MySQL Cluster)
.\" MySQL Cluster: execution threads
.\" ndbmtd: MaxNoOfExecutionThreads .\" ndbmtd: MaxNoOfExecutionThreads
.\" MaxNoOfExecutionThreads: ndbmtd .\" MaxNoOfExecutionThreads: ndbmtd
.\" ndbmtd: trace files .\" ndbmtd: trace files
@ -148,7 +138,7 @@ file, it is exclusive to
and does not apply to and does not apply to
\fBndbd\fR\&. \fBndbd\fR\&.
.PP .PP
This parameter takes an integer value from 2 to 8 inclusive\&. Generally, you should set this to the number of CPU cores on the data node host, as shown in the following table: This parameter takes an integer value from 2 to 8 inclusive\&. Generally, you should set this parameter equal to the number of CPU cores on the data node host, as shown in the following table:
.TS .TS
allbox tab(:); allbox tab(:);
lB lB. lB lB.

View File

@ -2,12 +2,12 @@
.\" Title: \fBperror\fR .\" Title: \fBperror\fR
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009 .\" Date: 11/04/2009
.\" Manual: MySQL Database System .\" Manual: MySQL Database System
.\" Source: MySQL 5.1 .\" Source: MySQL 5.1
.\" Language: English .\" Language: English
.\" .\"
.TH "\FBPERROR\FR" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System" .TH "\FBPERROR\FR" "1" "11/04/2009" "MySQL 5\&.1" "MySQL Database System"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * set default formatting .\" * set default formatting
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------

View File

@ -2,12 +2,12 @@
.\" Title: \fBreplace\fR .\" Title: \fBreplace\fR
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009 .\" Date: 11/04/2009
.\" Manual: MySQL Database System .\" Manual: MySQL Database System
.\" Source: MySQL 5.1 .\" Source: MySQL 5.1
.\" Language: English .\" Language: English
.\" .\"
.TH "\FBREPLACE\FR" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System" .TH "\FBREPLACE\FR" "1" "11/04/2009" "MySQL 5\&.1" "MySQL Database System"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * set default formatting .\" * set default formatting
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------

View File

@ -2,12 +2,12 @@
.\" Title: \fBresolve_stack_dump\fR .\" Title: \fBresolve_stack_dump\fR
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009 .\" Date: 11/04/2009
.\" Manual: MySQL Database System .\" Manual: MySQL Database System
.\" Source: MySQL 5.1 .\" Source: MySQL 5.1
.\" Language: English .\" Language: English
.\" .\"
.TH "\FBRESOLVE_STACK_DUM" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System" .TH "\FBRESOLVE_STACK_DUM" "1" "11/04/2009" "MySQL 5\&.1" "MySQL Database System"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * set default formatting .\" * set default formatting
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------

View File

@ -2,12 +2,12 @@
.\" Title: \fBresolveip\fR .\" Title: \fBresolveip\fR
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009 .\" Date: 11/04/2009
.\" Manual: MySQL Database System .\" Manual: MySQL Database System
.\" Source: MySQL 5.1 .\" Source: MySQL 5.1
.\" Language: English .\" Language: English
.\" .\"
.TH "\FBRESOLVEIP\FR" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System" .TH "\FBRESOLVEIP\FR" "1" "11/04/2009" "MySQL 5\&.1" "MySQL Database System"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * set default formatting .\" * set default formatting
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------

View File

@ -23,3 +23,10 @@ The syntax is as follows:
start with the same characters up to the last letter before the asterisk start with the same characters up to the last letter before the asterisk
are considered experimental: are considered experimental:
main.a* # get rid of main.alias, main.alibaba and main.agliolio main.a* # get rid of main.alias, main.alibaba and main.agliolio
6) Optionally, the test case may be followed by one or more platform
qualifiers beginning with @ or @!. The test will then be considered
experimental only/except on that platform. Basic OS names as
reported by $^O in Perl, or 'windows' are supported, this includes
solaris, linux, windows, aix, darwin, ... Example:
main.alias @aix @windows # Fails on those

View File

@ -1,6 +1,45 @@
# For easier human reading (MTR doesn't care), please keep entries
# in alphabetical order. This also helps with merge conflict resolution.
binlog.binlog_multi_engine # joro : NDB tests marked as experimental as agreed with bochklin
funcs_1.charset_collation_1 # depends on compile-time decisions funcs_1.charset_collation_1 # depends on compile-time decisions
binlog.binlog_tmp_table # Bug#45578: Test binlog_tmp_table fails ramdonly on PB2: Unknown table 't2' funcs_1.is_cml_ndb # joro : NDB tests marked as experimental as agreed with bochklin
main.ctype_gbk_binlog # Bug#46010: main.ctype_gbk_binlog fails sporadically : Table 't2' already exists funcs_1.is_columns_ndb # joro : NDB tests marked as experimental as agreed with bochklin
rpl.rpl_row_create_table # Bug#45576: rpl_row_create_table fails on PB2 funcs_1.is_engines_ndb # joro : NDB tests marked as experimental as agreed with bochklin
funcs_1.is_tables_ndb # joro : NDB tests marked as experimental as agreed with bochklin
funcs_1.ndb* # joro : NDB tests marked as experimental as agreed with bochklin
funcs_2.ndb_charset # joro : NDB tests marked as experimental as agreed with bochklin
main.ctype_gbk_binlog @solaris # Bug#46010: main.ctype_gbk_binlog fails sporadically : Table 't2' already exists
main.innodb-autoinc* # Bug#47809 2009-10-04 joro innodb-autoinc.test fails with valgrind errors with the innodb plugin
main.plugin_load @solaris # Bug#42144
ndb.* # joro : NDB tests marked as experimental as agreed with bochklin
rpl.rpl_cross_version* # Bug #43913 2009-10-26 joro rpl_cross_version can't pass on conflicts complainig clash with --slave-load-tm
rpl.rpl_get_master_version_and_clock* # Bug#46931 2009-08-26 alik rpl.rpl_get_master_version_and_clock fails on hpux11.31
rpl.rpl_innodb_bug28430* @solaris # Bug#46029
rpl.rpl_row_create_table* # Bug#45576: rpl_row_create_table fails on PB2
rpl.rpl_trigger* # Bug#47810 2009-10-04 joro rpl.rpl_trigger.test fails with valgrind errors with the innodb plugin
rpl_ndb.* # joro : NDB tests marked as experimental as agreed with bochklin
rpl_ndb.rpl_ndb_log # Bug#38998 rpl_ndb.rpl_ndb_log # Bug#38998
rpl.rpl_innodb_bug28430 # Bug#46029
stress.ddl_ndb # joro : NDB tests marked as experimental as agreed with bochklin
parts.ndb_dd_backuprestore # joro : NDB tests marked as experimental as agreed with bochklin
parts.part_supported_sql_func_ndb # joro : NDB tests marked as experimental as agreed with bochklin
parts.partition_alter1_1_ndb # joro : NDB tests marked as experimental as agreed with bochklin
parts.partition_alter1_1_2_ndb # joro : NDB tests marked as experimental as agreed with bochklin
parts.partition_alter1_2_ndb # joro : NDB tests marked as experimental as agreed with bochklin
parts.partition_auto_increment_ndb # joro : NDB tests marked as experimental as agreed with bochklin
parts.partition_basic_ndb # joro : NDB tests marked as experimental as agreed with bochklin
parts.partition_engine_ndb # joro : NDB tests marked as experimental as agreed with bochklin
parts.partition_int_ndb # joro : NDB tests marked as experimental as agreed with bochklin
parts.partition_mgm_lc0_ndb # joro : NDB tests marked as experimental as agreed with bochklin
parts.partition_mgm_lc1_ndb # joro : NDB tests marked as experimental as agreed with bochklin
parts.partition_mgm_lc2_ndb # joro : NDB tests marked as experimental as agreed with bochklin
parts.partition_syntax_ndb # joro : NDB tests marked as experimental as agreed with bochklin
parts.partition_value_ndb # joro : NDB tests marked as experimental as agreed with bochklin

View File

@ -270,3 +270,42 @@ INSERT INTO test.t1 VALUES (1), (2);
CREATE TABLE test.t2 SELECT * FROM test.t1; CREATE TABLE test.t2 SELECT * FROM test.t1;
USE test; USE test;
DROP TABLES t1, t2; DROP TABLES t1, t2;
#
# Bug#46640
# This test verifies if the server_id stored in the "format
# description BINLOG statement" will override the server_id
# of the server executing the statements.
#
connect (fresh,localhost,root,,test);
connection fresh;
RESET MASTER;
CREATE TABLE t1 (a INT PRIMARY KEY);
# Format description event, with server_id = 10;
BINLOG '
3u9kSA8KAAAAZgAAAGoAAAABAAQANS4xLjM1LW1hcmlhLWJldGExLWRlYnVnLWxvZwAAAAAAAAAA
AAAAAAAAAAAAAAAAAADe72RIEzgNAAgAEgAEBAQEEgAAUwAEGggAAAAICAgC
';
# What server_id is logged for a statement? Should be our own, not the
# one from the format description event.
INSERT INTO t1 VALUES (1);
# INSERT INTO t1 VALUES (2), with server_id=20. Check that this is logged
# with our own server id, not the 20 from the BINLOG statement.
BINLOG '
3u9kSBMUAAAAKQAAAJEBAAAAABoAAAAAAAAABHRlc3QAAnQxAAEDAAA=
3u9kSBcUAAAAIgAAALMBAAAQABoAAAAAAAEAAf/+AgAAAA==
';
# Show binlog events to check that server ids are correct.
--replace_column 1 # 2 # 5 #
--replace_regex /Server ver: .*, Binlog ver: .*/Server ver: #, Binlog ver: #/ /table_id: [0-9]+/table_id: #/
SHOW BINLOG EVENTS;
DROP TABLE t1;
disconnect fresh;

View File

@ -0,0 +1,300 @@
################################################################################
# Let
# - B be begin, C commit and R rollback.
# - T a statement that accesses and changes only transactional tables, i.e.
# T-tables
# - N a statement that accesses and changes only non-transactional tables,
# i.e, N-tables.
# - M be a mixed statement, i.e. a statement that updates both T- and
# N-tables.
# - M* be a mixed statement that fails while updating either a T
# or N-table.
# - N* be a statement that fails while updating a N-table.
#
# In this test case, when changes are logged as rows either in the RBR or MIXED
# modes, we check if a M* statement that happens early in a transaction is
# written to the binary log outside the boundaries of the transaction and
# wrapped up in a BEGIN/ROLLBACK. This is done to keep the slave consistent with
# the master as the rollback will keep the changes on N-tables and undo them on
# T-tables. In particular, we expect the following behavior:
#
# 1. B M* T C would generate in the binlog B M* R B T C.
# 2. B M M* C would generate in the binlog B M M* C.
# 3. B M* M* T C would generate in the binlog B M* R B M* R B T C.
#
# SBR is not considered in this test because a failing statement is written to
# the binary along with the error code such that a slave executes and rolls it
# back, thus undoing the effects on T-tables.
#
# Note that, in the first case, we are not preserving history from the master as
# we are introducing a rollback that never happened. However, this seems to be
# more acceptable than making the slave diverge. In the second case, the slave
# will diverge as the changes on T-tables that originated from the M statement
# are rolled back on the master but not on the slave. Unfortunately, we cannot
# simply roll the transaction back as this would undo any uncommitted changes
# on T-tables.
#
# We check two more cases. First, INSERT...SELECT* which produces the following
# results:
#
# 1. B T INSERT M...SELECT* C" with an error in INSERT M...SELECT* generates in
# the binlog the following entries: "Nothing".
# 2. B INSERT M...SELECT* C" with an error in INSERT M...SELECT* generates in
# the binlog the following entries: B INSERT M...SELECT* R.
#
# Finally, we also check if any N statement that happens early in a transaction
# (i.e. before any T or M statement) is written to the binary log outside the
# boundaries of the transaction. In particular, we expect the following
# behavior:
#
# 1. B N N T C would generate in the binlog B N C B N C B T C.
# 2. B N N T R would generate in the binlog B N C B N C B T R.
# 3. B N* N* T C would generate in the binlog B N R B N R B T C.
# 4. B N* N* T R would generate in the binlog B N R B N R B T R.
# 5. B N N T N T C would generate in the binlog B N C B N C B T N T C.
# 6. B N N T N T R would generate in the binlog the B N C B N C B T N T R.
#
# Such issues do not happen in SBR. In RBR and MBR, a full-fledged fix will be
# pushed after the WL#2687.
#
# Please, remove this test case after pushing WL#2687.
################################################################################
--echo ###################################################################################
--echo # CONFIGURATION
--echo ###################################################################################
CREATE TABLE nt_1 (a text, b int PRIMARY KEY) ENGINE = MyISAM;
CREATE TABLE nt_2 (a text, b int PRIMARY KEY) ENGINE = MyISAM;
CREATE TABLE tt_1 (a text, b int PRIMARY KEY) ENGINE = Innodb;
CREATE TABLE tt_2 (a text, b int PRIMARY KEY) ENGINE = Innodb;
DELIMITER |;
CREATE TRIGGER tr_i_tt_1_to_nt_1 BEFORE INSERT ON tt_1 FOR EACH ROW
BEGIN
INSERT INTO nt_1 VALUES (NEW.a, NEW.b);
END|
CREATE TRIGGER tr_i_nt_2_to_tt_2 BEFORE INSERT ON nt_2 FOR EACH ROW
BEGIN
INSERT INTO tt_2 VALUES (NEW.a, NEW.b);
END|
DELIMITER ;|
--echo ###################################################################################
--echo # CHECK HISTORY IN BINLOG
--echo ###################################################################################
--echo
--echo
--echo
--echo *** "B M* T C" with error in M* generates in the binlog the "B M* R B T C" entries
--echo
let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1);
INSERT INTO nt_1 VALUES ("new text 1", 1);
BEGIN;
--error ER_DUP_ENTRY
INSERT INTO tt_1 VALUES (USER(), 2), (USER(), 1);
INSERT INTO tt_2 VALUES ("new text 3", 3);
COMMIT;
--source include/show_binlog_events.inc
--echo
let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1);
INSERT INTO tt_2 VALUES ("new text 4", 4);
BEGIN;
--error ER_DUP_ENTRY
INSERT INTO nt_2 VALUES (USER(), 5), (USER(), 4);
INSERT INTO tt_2 VALUES ("new text 6", 6);
COMMIT;
--source include/show_binlog_events.inc
--echo
--echo
--echo
--echo *** "B M M* T C" with error in M* generates in the binlog the "B M M* T C" entries
--echo
let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1);
INSERT INTO nt_1 VALUES ("new text 10", 10);
BEGIN;
INSERT INTO tt_1 VALUES ("new text 7", 7), ("new text 8", 8);
--error ER_DUP_ENTRY
INSERT INTO tt_1 VALUES (USER(), 9), (USER(), 10);
INSERT INTO tt_2 VALUES ("new text 11", 11);
COMMIT;
--source include/show_binlog_events.inc
--echo
let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1);
INSERT INTO tt_2 VALUES ("new text 15", 15);
BEGIN;
INSERT INTO nt_2 VALUES ("new text 12", 12), ("new text 13", 13);
--error ER_DUP_ENTRY
INSERT INTO nt_2 VALUES (USER(), 14), (USER(), 15);
INSERT INTO tt_2 VALUES ("new text 16", 16);
COMMIT;
--source include/show_binlog_events.inc
--echo
--echo
--echo
--echo *** "B M* M* T C" with error in M* generates in the binlog the "B M* R B M* R B T C" entries
--echo
let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1);
INSERT INTO nt_1 VALUES ("new text 18", 18);
INSERT INTO nt_1 VALUES ("new text 20", 20);
BEGIN;
--error ER_DUP_ENTRY
INSERT INTO tt_1 VALUES (USER(), 17), (USER(), 18);
--error ER_DUP_ENTRY
INSERT INTO tt_1 VALUES (USER(), 19), (USER(), 20);
INSERT INTO tt_2 VALUES ("new text 21", 21);
COMMIT;
--source include/show_binlog_events.inc
--echo
let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1);
INSERT INTO tt_2 VALUES ("new text 23", 23);
INSERT INTO tt_2 VALUES ("new text 25", 25);
BEGIN;
--error ER_DUP_ENTRY
INSERT INTO nt_2 VALUES (USER(), 22), (USER(), 23);
--error ER_DUP_ENTRY
INSERT INTO nt_2 VALUES (USER(), 24), (USER(), 25);
INSERT INTO tt_2 VALUES ("new text 26", 26);
COMMIT;
--source include/show_binlog_events.inc
--echo
--echo
--echo
--echo *** "B T INSERT M...SELECT* C" with an error in INSERT M...SELECT* generates
--echo *** in the binlog the following entries: "Nothing".
--echo *** There is a bug in that will be fixed after WL#2687. Please, check BUG#47175 for further details.
--echo
let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1);
TRUNCATE TABLE nt_2;
TRUNCATE TABLE tt_2;
INSERT INTO tt_2 VALUES ("new text 7", 7);
BEGIN;
INSERT INTO tt_2 VALUES ("new text 27", 27);
--error ER_DUP_ENTRY
INSERT INTO nt_2(a, b) SELECT USER(), b FROM nt_1;
INSERT INTO tt_2 VALUES ("new text 28", 28);
ROLLBACK;
--source include/show_binlog_events.inc
--echo
--echo
--echo
--echo *** "B INSERT M..SELECT* C" with an error in INSERT M...SELECT* generates
--echo *** in the binlog the following entries: "B INSERT M..SELECT* R".
--echo
let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1);
TRUNCATE TABLE nt_2;
TRUNCATE TABLE tt_2;
INSERT INTO tt_2 VALUES ("new text 7", 7);
BEGIN;
--error ER_DUP_ENTRY
INSERT INTO nt_2(a, b) SELECT USER(), b FROM nt_1;
COMMIT;
--source include/show_binlog_events.inc
--echo
--echo
--echo
--echo *** "B N N T C" generates in the binlog the "B N C B N C B T C" entries
--echo
let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1);
TRUNCATE TABLE nt_1;
TRUNCATE TABLE tt_2;
BEGIN;
INSERT INTO nt_1 VALUES (USER(), 1);
INSERT INTO nt_1 VALUES (USER(), 2);
INSERT INTO tt_2 VALUES (USER(), 3);
COMMIT;
--source include/show_binlog_events.inc
--echo
--echo
--echo
--echo *** "B N N T R" generates in the binlog the "B N C B N C B T R" entries
--echo
let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1);
BEGIN;
INSERT INTO nt_1 VALUES (USER(), 4);
INSERT INTO nt_1 VALUES (USER(), 5);
INSERT INTO tt_2 VALUES (USER(), 6);
ROLLBACK;
--source include/show_binlog_events.inc
--echo
--echo
--echo
--echo *** "B N* N* T C" with error in N* generates in the binlog the "B N R B N R B T C" entries
--echo
let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1);
BEGIN;
--error ER_DUP_ENTRY
INSERT INTO nt_1 VALUES (USER(), 7), (USER(), 1);
--error ER_DUP_ENTRY
INSERT INTO nt_1 VALUES (USER(), 8), (USER(), 1);
INSERT INTO tt_2 VALUES (USER(), 9);
COMMIT;
--source include/show_binlog_events.inc
--echo
--echo
--echo
--echo *** "B N* N* T R" with error in N* generates in the binlog the "B N R B N R B T R" entries
--echo
let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1);
BEGIN;
--error ER_DUP_ENTRY
INSERT INTO nt_1 VALUES (USER(), 10), (USER(), 1);
--error ER_DUP_ENTRY
INSERT INTO nt_1 VALUES (USER(), 11), (USER(), 1);
INSERT INTO tt_2 VALUES (USER(), 12);
ROLLBACK;
--source include/show_binlog_events.inc
--echo
--echo
--echo
--echo *** "B N N T N T C" generates in the binlog the "B N C B N C B T N T C" entries
--echo
let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1);
BEGIN;
INSERT INTO nt_1 VALUES (USER(), 13);
INSERT INTO nt_1 VALUES (USER(), 14);
INSERT INTO tt_2 VALUES (USER(), 15);
INSERT INTO nt_1 VALUES (USER(), 16);
INSERT INTO tt_2 VALUES (USER(), 17);
COMMIT;
--source include/show_binlog_events.inc
--echo
--echo
--echo
--echo *** "B N N T N T R" generates in the binlog the "B N C B N C B T N T R" entries
--echo
let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1);
BEGIN;
INSERT INTO nt_1 VALUES (USER(), 18);
INSERT INTO nt_1 VALUES (USER(), 19);
INSERT INTO tt_2 VALUES (USER(), 20);
INSERT INTO nt_1 VALUES (USER(), 21);
INSERT INTO tt_2 VALUES (USER(), 22);
ROLLBACK;
--source include/show_binlog_events.inc
--echo ###################################################################################
--echo # CLEAN
--echo ###################################################################################
DROP TABLE tt_1;
DROP TABLE tt_2;
DROP TABLE nt_1;
DROP TABLE nt_2;

View File

@ -1,27 +1,72 @@
--disable_warnings --disable_warnings
drop database if exists `drop-temp+table-test`; DROP DATABASE IF EXISTS `drop-temp+table-test`;
--enable_warnings --enable_warnings
connect (con1,localhost,root,,); connect (con1,localhost,root,,);
connect (con2,localhost,root,,); connect (con2,localhost,root,,);
connection con1; connection con1;
reset master; RESET MASTER;
create database `drop-temp+table-test`; CREATE DATABASE `drop-temp+table-test`;
use `drop-temp+table-test`; USE `drop-temp+table-test`;
create temporary table shortn1 (a int); CREATE TEMPORARY TABLE shortn1 (a INT);
create temporary table `table:name` (a int); CREATE TEMPORARY TABLE `table:name` (a INT);
create temporary table shortn2 (a int); CREATE TEMPORARY TABLE shortn2 (a INT);
select get_lock("a",10);
##############################################################################
# BUG#46572 DROP TEMPORARY table IF EXISTS does not have a consistent behavior
# in ROW mode
#
# In RBR, 'DROP TEMPORARY TABLE ...' statement should never be binlogged no
# matter if the tables exist or not. In contrast, both in SBR and MBR, the
# statement should be always binlogged no matter if the tables exist or not.
##############################################################################
CREATE TEMPORARY TABLE tmp(c1 int);
CREATE TEMPORARY TABLE tmp1(c1 int);
CREATE TEMPORARY TABLE tmp2(c1 int);
CREATE TEMPORARY TABLE tmp3(c1 int);
CREATE TABLE t(c1 int);
DROP TEMPORARY TABLE IF EXISTS tmp;
--disable_warnings
# Before fixing BUG#46572, 'DROP TEMPORARY TABLE IF EXISTS...' statement was
# binlogged when the table did not exist in RBR.
DROP TEMPORARY TABLE IF EXISTS tmp;
# In RBR, 'DROP TEMPORARY TABLE ...' statement is never binlogged no matter if
# the tables exist or not.
DROP TEMPORARY TABLE IF EXISTS tmp, tmp1;
DROP TEMPORARY TABLE tmp3;
#In RBR, tmp2 will NOT be binlogged, because it is a temporary table.
DROP TABLE IF EXISTS tmp2, t;
#In RBR, tmp2 will be binlogged, because it does not exist and master do not know
# whether it is a temporary table or not.
DROP TABLE IF EXISTS tmp2, t;
--enable_warnings
SELECT GET_LOCK("a",10);
#
# BUG48216 Replication fails on all slaves after upgrade to 5.0.86 on master
#
# When the session is closed, any temporary tables of the session are dropped
# and are binlogged. But it will be binlogged with a wrong database name when
# the length of the database name('drop-temp-table-test') is greater than the
# current database name('test').
#
USE test;
disconnect con1; disconnect con1;
connection con2; connection con2;
# We want to SHOW BINLOG EVENTS, to know what was logged. But there is no # We want to SHOW BINLOG EVENTS, to know what was logged. But there is no
# guarantee that logging of the terminated con1 has been done yet. # guarantee that logging of the terminated con1 has been done yet.
# To be sure that logging has been done, we use a user lock. # To be sure that logging has been done, we use a user lock.
select get_lock("a",10); SELECT GET_LOCK("a",10);
let $VERSION=`select version()`; let $VERSION=`SELECT VERSION()`;
source include/show_binlog_events.inc; source include/show_binlog_events.inc;
drop database `drop-temp+table-test`; DROP DATABASE `drop-temp+table-test`;
# End of 4.1 tests # End of 4.1 tests

View File

@ -163,5 +163,81 @@ show create table t1;
connection master; connection master;
drop table t1; drop table t1;
# End cleanup #
# BUG#45999 Row based replication fails when auto_increment field = 0.
# Store engine of Slaves auto-generates new sequence numbers for
# auto_increment fields if the values of them are 0. There is an inconsistency
# between slave and master. When MODE_NO_AUTO_VALUE_ON_ZERO are masters treat
#
source include/master-slave-reset.inc;
connection master;
--disable_warnings
DROP TABLE IF EXISTS t1;
DROP TABLE IF EXISTS t2;
--enable_warnings
eval CREATE TABLE t1 (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY) ENGINE=$engine_type;
eval CREATE TABLE t2 (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY) ENGINE=$engine_type2;
SET SQL_MODE='';
# Value of the id will be 1;
INSERT INTO t1 VALUES(NULL);
INSERT INTO t2 VALUES(NULL);
SELECT * FROM t1;
SELECT * FROM t2;
# Value of the id will be 2;
INSERT INTO t1 VALUES();
INSERT INTO t2 VALUES();
SELECT * FROM t1;
SELECT * FROM t2;
# Value of the id will be 3. The master treats 0 as NULL or empty because
# NO_AUTO_VALUE_ON_ZERO is not assign to SQL_MODE.
INSERT INTO t1 VALUES(0);
INSERT INTO t2 VALUES(0);
SELECT * FROM t1;
SELECT * FROM t2;
SET SQL_MODE=NO_AUTO_VALUE_ON_ZERO;
# Value of the id will be 0. The master does not treat 0 as NULL or empty
# because NO_AUTO_VALUE_ON_ZERO has assigned to SQL_MODE.
INSERT INTO t1 VALUES(0);
INSERT INTO t2 VALUES(0);
SELECT * FROM t1;
SELECT * FROM t2;
INSERT INTO t1 VALUES(4);
INSERT INTO t2 VALUES(4);
FLUSH LOGS;
sync_slave_with_master;
let $diff_table_1= master:test.t1;
let $diff_table_2= slave:test.t1;
source include/diff_tables.inc;
let $diff_table_1= master:test.t2;
let $diff_table_2= slave:test.t2;
source include/diff_tables.inc;
connection master;
DROP TABLE t1;
DROP TABLE t2;
sync_slave_with_master;
connection master;
let $MYSQLD_DATADIR= `SELECT @@DATADIR`;
--exec $MYSQL_BINLOG $MYSQLD_DATADIR/master-bin.000001 | $MYSQL test
sync_slave_with_master;
let $diff_table_1= master:test.t1;
let $diff_table_2= slave:test.t1;
source include/diff_tables.inc;
let $diff_table_1= master:test.t2;
let $diff_table_2= slave:test.t2;
source include/diff_tables.inc;
# End cleanup
DROP TABLE t1;
DROP TABLE t2;
SET SQL_MODE='';
sync_slave_with_master; sync_slave_with_master;

View File

@ -0,0 +1,44 @@
#
# This test verifies if inserting data into view that invokes a
# trigger will make the autoinc values become inconsistent on
# master and slave.
#
connection master;
CREATE TABLE t1(i1 int not null auto_increment, c1 INT, primary key(i1)) engine=innodb;
CREATE TABLE t2(i1 int not null auto_increment, c2 INT, primary key(i1)) engine=innodb;
CREATE TABLE t3(i1 int not null auto_increment, a int, primary key(i1)) engine=innodb;
eval create trigger tr16 $insert_action on t1 for each row insert into t3(a) values(new.c1);
eval create trigger tr17 $insert_action on t2 for each row insert into t3(a) values(new.c2);
begin;
INSERT INTO t1(c1) VALUES (11), (12);
INSERT INTO t2(c2) VALUES (13), (14);
CREATE VIEW v16 AS SELECT c1, c2 FROM t1, t2;
INSERT INTO v16(c1) VALUES (15),(16);
INSERT INTO v16(c2) VALUES (17),(18);
connection master1;
INSERT INTO v16(c1) VALUES (19),(20);
INSERT INTO v16(c2) VALUES (21),(22);
connection master;
INSERT INTO v16(c1) VALUES (23), (24);
INSERT INTO v16(c1) VALUES (25), (26);
commit;
sync_slave_with_master;
--echo #Test if the results are consistent on master and slave
--echo #for 'INSERT DATA INTO VIEW WHICH INVOKES TRIGGERS'
let $diff_table_1=master:test.t3;
let $diff_table_2=slave:test.t3;
source include/diff_tables.inc;
connection master;
DROP TABLE t1;
DROP TABLE t2;
DROP TABLE t3;
DROP VIEW v16;
sync_slave_with_master;

View File

@ -0,0 +1,82 @@
#
# This test verifies if concurrent transactions that invoke a
# trigger that inserts more than one values into one or more
# tables with an auto_increment column will make the autoinc
# values become inconsistent on master and slave.
#
connection master;
create table t1(a int, b int) engine=innodb;
create table t2(i1 int not null auto_increment, a int, primary key(i1)) engine=innodb;
eval create trigger tr1 $trigger_action on t1 for each row insert into t2(a) values(6);
create table t3(a int, b int) engine=innodb;
create table t4(i1 int not null auto_increment, a int, primary key(i1)) engine=innodb;
create table t5(a int) engine=innodb;
delimiter |;
eval create trigger tr2 $trigger_action on t3 for each row begin
insert into t4(a) values(f1_insert_triggered());
insert into t4(a) values(f1_insert_triggered());
insert into t5(a) values(8);
end |
delimiter ;|
create table t6(i1 int not null auto_increment, a int, primary key(i1)) engine=innodb;
delimiter //;
CREATE FUNCTION f1_insert_triggered() RETURNS INTEGER
BEGIN
INSERT INTO t6(a) values(2),(3);
RETURN 1;
END//
delimiter ;//
begin;
let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1);
insert into t1(a,b) values(1,1),(2,1);
insert into t3(a,b) values(1,1),(2,1);
update t1 set a = a + 5 where b = 1;
update t3 set a = a + 5 where b = 1;
delete from t1 where b = 1;
delete from t3 where b = 1;
connection master1;
#The default autocommit is set to 1, so the statement is auto committed
insert into t2(a) values(3);
insert into t4(a) values(3);
connection master;
commit;
insert into t1(a,b) values(4,2);
insert into t3(a,b) values(4,2);
update t1 set a = a + 5 where b = 2;
update t3 set a = a + 5 where b = 2;
delete from t1 where b = 2;
delete from t3 where b = 2;
--echo # To verify if insert/update in an autoinc column causes statement to be logged in row format
source include/show_binlog_events.inc;
commit;
connection master;
sync_slave_with_master;
--echo #Test if the results are consistent on master and slave
--echo #for 'INVOKES A TRIGGER with $trigger_action action'
let $diff_table_1=master:test.t2;
let $diff_table_2=slave:test.t2;
source include/diff_tables.inc;
let $diff_table_1=master:test.t4;
let $diff_table_2=slave:test.t4;
source include/diff_tables.inc;
let $diff_table_1=master:test.t6;
let $diff_table_2=slave:test.t6;
source include/diff_tables.inc;
connection master;
DROP TABLE t1;
DROP TABLE t2;
DROP TABLE t3;
DROP TABLE t4;
DROP TABLE t5;
DROP TABLE t6;
DROP FUNCTION f1_insert_triggered;
sync_slave_with_master;

Some files were not shown because too many files have changed in this diff Show More