Merge MySQL-5.1.38 and XtraDB-7 into MariaDB.

Merge Percona microsec_process patch.
Includes lots of after-merge fixes, Windows fixes, and other misc. small fixes.
This commit is contained in:
unknown 2009-09-25 10:56:53 +02:00
commit 44718ad445
1272 changed files with 289002 additions and 25859 deletions

View file

@ -153,7 +153,7 @@ base_configs="--prefix=$prefix --enable-assembler "
base_configs="$base_configs --with-extra-charsets=complex "
base_configs="$base_configs --enable-thread-safe-client "
base_configs="$base_configs --with-big-tables"
base_configs="$base_configs --with-plugin-maria --with-maria-tmp-tables"
base_configs="$base_configs --with-plugin-maria --with-maria-tmp-tables --without-plugin-innodb_plugin"
if test -d "$path/../cmd-line-utils/readline"
then

View file

@ -47,8 +47,13 @@ check_cpu () {
model_name=`sysctl -n hw.model`
;;
Darwin)
cpu_family=`sysctl -n machdep.cpu.vendor`
model_name=`sysctl -n machdep.cpu.brand_string`
if [ -z "$cpu_family" -o -z "$model_name" ]
then
cpu_family=`uname -p`
model_name=`machine`
fi
;;
*)
cpu_family=`uname -m`;

View file

@ -1,4 +1,4 @@
# Copyright (C) 2006 MySQL AB
# Copyright (C) 2006-2009 MySQL AB & Monty Program Ab
#
# 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
@ -13,7 +13,10 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
CMAKE_MINIMUM_REQUIRED(VERSION 2.4.7 FATAL_ERROR)
CMAKE_MINIMUM_REQUIRED(VERSION 2.6 FATAL_ERROR)
IF(COMMAND cmake_policy)
cmake_policy(SET CMP0005 NEW)
ENDIF(COMMAND cmake_policy)
PROJECT(MySql)
@ -28,63 +31,17 @@ CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/include/mysql_version.h.in
# Set standard options
ADD_DEFINITIONS(-DHAVE_YASSL)
ADD_DEFINITIONS(-DCMAKE_CONFIGD)
ADD_DEFINITIONS(-DDEFAULT_MYSQL_HOME="c:/Program Files/MySQL/MySQL Server ${MYSQL_BASE_VERSION}/")
ADD_DEFINITIONS(-DDEFAULT_BASEDIR="c:/Program Files/MySQL/")
ADD_DEFINITIONS(-DMYSQL_DATADIR="c:/Program Files/MySQL/MySQL Server ${MYSQL_BASE_VERSION}/data")
ADD_DEFINITIONS(-DDEFAULT_CHARSET_HOME="c:/Program Files/MySQL/MySQL Server ${MYSQL_BASE_VERSION}/")
ADD_DEFINITIONS(-DPACKAGE=mysql)
ADD_DEFINITIONS(-DSHAREDIR="share")
# Set debug options
SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DFORCE_INIT_OF_VARS")
# Note that some engines are always compiled in, MyISAM, MyISAMMRG and HEAP,
# these three plugin defintions are dummys for symmetry
SET(WITH_HEAP_STORAGE_ENGINE TRUE)
ADD_DEFINITIONS(-DWITH_HEAP_STORAGE_ENGINE)
SET (mysql_plugin_defs "${mysql_plugin_defs},builtin_heap_plugin")
SET(WITH_MYISAM_STORAGE_ENGINE TRUE)
ADD_DEFINITIONS(-DWITH_MYISAM_STORAGE_ENGINE)
SET (mysql_plugin_defs "${mysql_plugin_defs},builtin_myisam_plugin")
SET(WITH_MYISAMMRG_STORAGE_ENGINE TRUE)
ADD_DEFINITIONS(-DWITH_MYISAMMRG_STORAGE_ENGINE)
SET (mysql_plugin_defs "${mysql_plugin_defs},builtin_myisammrg_plugin")
IF(WITH_ARCHIVE_STORAGE_ENGINE)
ADD_DEFINITIONS(-DWITH_ARCHIVE_STORAGE_ENGINE)
SET (mysql_plugin_defs "${mysql_plugin_defs},builtin_archive_plugin")
ENDIF(WITH_ARCHIVE_STORAGE_ENGINE)
IF(WITH_BLACKHOLE_STORAGE_ENGINE)
ADD_DEFINITIONS(-DWITH_BLACKHOLE_STORAGE_ENGINE)
SET (mysql_plugin_defs "${mysql_plugin_defs},builtin_blackhole_plugin")
ENDIF(WITH_BLACKHOLE_STORAGE_ENGINE)
IF(WITH_CSV_STORAGE_ENGINE)
ADD_DEFINITIONS(-DWITH_CSV_STORAGE_ENGINE)
SET (mysql_plugin_defs "${mysql_plugin_defs},builtin_csv_plugin")
ENDIF(WITH_CSV_STORAGE_ENGINE)
IF(WITH_EXAMPLE_STORAGE_ENGINE)
ADD_DEFINITIONS(-DWITH_EXAMPLE_STORAGE_ENGINE)
SET (mysql_plugin_defs "${mysql_plugin_defs},builtin_example_plugin")
ENDIF(WITH_EXAMPLE_STORAGE_ENGINE)
IF(WITH_INNOBASE_STORAGE_ENGINE)
ADD_DEFINITIONS(-DWITH_INNOBASE_STORAGE_ENGINE)
SET (mysql_plugin_defs "${mysql_plugin_defs},builtin_innobase_plugin")
ENDIF(WITH_INNOBASE_STORAGE_ENGINE)
IF(WITH_PARTITION_STORAGE_ENGINE)
ADD_DEFINITIONS(-DWITH_PARTITION_STORAGE_ENGINE)
SET (mysql_plugin_defs "${mysql_plugin_defs},builtin_partition_plugin")
ENDIF(WITH_PARTITION_STORAGE_ENGINE)
IF(WITH_FEDERATED_STORAGE_ENGINE)
ADD_DEFINITIONS(-DWITH_FEDERATED_STORAGE_ENGINE)
SET (mysql_plugin_defs "${mysql_plugin_defs},builtin_federated_plugin")
ENDIF(WITH_FEDERATED_STORAGE_ENGINE)
IF(WITH_MARIA_STORAGE_ENGINE)
ADD_DEFINITIONS(-DWITH_MARIA_STORAGE_ENGINE)
IF(WITH_MARIA_TMP_TABLES)
ADD_DEFINITIONS(-DUSE_MARIA_FOR_TMP_TABLES)
ENDIF(WITH_MARIA_TMP_TABLES)
SET (mysql_plugin_defs "${mysql_plugin_defs},builtin_maria_plugin")
ENDIF(WITH_MARIA_STORAGE_ENGINE)
CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/sql/sql_builtin.cc.in
${CMAKE_SOURCE_DIR}/sql/sql_builtin.cc @ONLY)
SET(localstatedir "C:\\mysql\\data")
CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/support-files/my-huge.cnf.sh
@ -98,9 +55,9 @@ CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/support-files/my-medium.cnf.sh
CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/support-files/my-small.cnf.sh
${CMAKE_SOURCE_DIR}/support-files/my-small.ini @ONLY)
IF(__NT__)
ADD_DEFINITIONS(-D__NT__)
ENDIF(__NT__)
IF(CYBOZU)
ADD_DEFINITIONS(-DCYBOZU)
ENDIF(CYBOZU)
@ -129,6 +86,16 @@ IF(MSVC AND NOT CMAKE_GENERATOR MATCHES "Visual Studio 7")
SET(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} /wd4996")
ENDIF(MSVC AND NOT CMAKE_GENERATOR MATCHES "Visual Studio 7")
IF(CMAKE_GENERATOR MATCHES "Visual Studio 7")
# VS2003 has a bug that prevents linking mysqld with module definition file
# (/DEF option for linker). Linker would incorrectly complain about multiply
# defined symbols. Workaround is to disable dynamic plugins, so /DEF is not
# used.
MESSAGE("Warning: Building MySQL with Visual Studio 2003.NET is no more supported.")
MESSAGE("Please use a newer version of Visual Studio.")
SET(WITHOUT_DYNAMIC_PLUGINS TRUE)
ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio 7")
# Settings for Visual Studio 7 and above.
IF(MSVC)
# replace /MDd with /MTd
@ -170,14 +137,19 @@ ENDIF(MSVC)
IF(WIN32)
ADD_DEFINITIONS("-D_WINDOWS -D__WIN__ -D_CRT_SECURE_NO_DEPRECATE")
ADD_DEFINITIONS("-D_WIN32_WINNT=0x0501")
ENDIF(WIN32)
# default to x86 platform. We'll check for X64 in a bit
SET (PLATFORM X86)
# This definition is necessary to work around a bug with Intellisense described
# here: http://tinyurl.com/2cb428. Syntax highlighting is important for proper
# debugger functionality.
IF(CMAKE_SIZEOF_VOID_P MATCHES 8)
MESSAGE(STATUS "Detected 64-bit platform.")
ADD_DEFINITIONS("-D_WIN64")
SET (PLATFORM X64)
ENDIF(CMAKE_SIZEOF_VOID_P MATCHES 8)
IF(EMBED_MANIFESTS)
@ -230,6 +202,97 @@ IF(EMBED_MANIFESTS)
ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio 8 2005 Win64")
ENDIF(EMBED_MANIFESTS)
# Figure out what engines to build and how (statically or dynamically),
# add preprocessor defines for storage engines.
IF(WITHOUT_DYNAMIC_PLUGINS)
MESSAGE("Dynamic plugins are disabled.")
ENDIF(WITHOUT_DYNAMIC_PLUGINS)
FILE(GLOB STORAGE_SUBDIRS storage/*)
FOREACH(SUBDIR ${STORAGE_SUBDIRS})
FILE(RELATIVE_PATH DIRNAME ${PROJECT_SOURCE_DIR}/storage ${SUBDIR})
STRING(TOUPPER ${DIRNAME} ENGINE)
STRING(TOLOWER ${DIRNAME} ENGINE_LOWER)
IF (EXISTS ${SUBDIR}/CMakeLists.txt)
# Check MYSQL_STORAGE_ENGINE macro is present
FILE(STRINGS ${SUBDIR}/CMakeLists.txt HAVE_STORAGE_ENGINE REGEX MYSQL_STORAGE_ENGINE)
IF(HAVE_STORAGE_ENGINE)
SET(ENGINE_BUILD_TYPE "DYNAMIC")
# Read plug.in to find out if a plugin is mandatory and whether it supports
# build as shared library (dynamic).
IF(EXISTS ${SUBDIR}/plug.in)
FILE(READ ${SUBDIR}/plug.in PLUGIN_FILE_CONTENT)
STRING (REGEX MATCH "MYSQL_PLUGIN_DYNAMIC" MYSQL_PLUGIN_DYNAMIC ${PLUGIN_FILE_CONTENT})
STRING (REGEX MATCH "MYSQL_PLUGIN_MANDATORY" MYSQL_PLUGIN_MANDATORY ${PLUGIN_FILE_CONTENT})
STRING (REGEX MATCH "MYSQL_PLUGIN_STATIC" MYSQL_PLUGIN_STATIC ${PLUGIN_FILE_CONTENT})
#
# XTRADB is located in storage/xtradb, but it says everywhere it is 'innobase' (e.g.
# it declares 'builtin_innobase_plugin', not builtin_xtradb_plugin).
# Extract the intended plugin name from MYSQL_STORAGE_ENGINE definition and use it
# where appropriate.
STRING (REGEX MATCH "MYSQL_STORAGE_ENGINE.[a-z]*" PLUGIN_NAME ${PLUGIN_FILE_CONTENT})
STRING (REGEX REPLACE "MYSQL_STORAGE_ENGINE.(.*)" "\\1" PLUGIN_NAME ${PLUGIN_NAME})
IF(MYSQL_PLUGIN_MANDATORY)
SET(WITH_${ENGINE}_STORAGE_ENGINE TRUE)
ENDIF(MYSQL_PLUGIN_MANDATORY)
IF (WITH_${ENGINE}_STORAGE_ENGINE AND MYSQL_PLUGIN_STATIC)
SET(ENGINE_BUILD_TYPE "STATIC")
ELSEIF(NOT WITHOUT_${ENGINE}_STORAGE_ENGINE AND MYSQL_PLUGIN_DYNAMIC AND NOT WITHOUT_DYNAMIC_PLUGINS)
SET(ENGINE_BUILD_TYPE "DYNAMIC")
ELSE(WITH_${ENGINE}_STORAGE_ENGINE AND MYSQL_PLUGIN_STATIC)
SET(ENGINE_BUILD_TYPE "NONE")
ENDIF(WITH_${ENGINE}_STORAGE_ENGINE AND MYSQL_PLUGIN_STATIC)
IF (ENGINE_BUILD_TYPE STREQUAL "STATIC")
SET (mysql_plugin_defs "${mysql_plugin_defs},builtin_${PLUGIN_NAME}_plugin")
SET (MYSQLD_STATIC_ENGINE_LIBS ${MYSQLD_STATIC_ENGINE_LIBS} ${PLUGIN_NAME})
SET (STORAGE_ENGINE_DEFS "${STORAGE_ENGINE_DEFS} -DWITH_${ENGINE}_STORAGE_ENGINE")
SET (WITH_${ENGINE}_STORAGE_ENGINE TRUE)
ENDIF (ENGINE_BUILD_TYPE STREQUAL "STATIC")
ENDIF(EXISTS ${SUBDIR}/plug.in)
IF(NOT ENGINE_BUILD_TYPE STREQUAL "NONE")
LIST(APPEND ${ENGINE_BUILD_TYPE}_ENGINE_DIRECTORIES ${SUBDIR})
ENDIF(NOT ENGINE_BUILD_TYPE STREQUAL "NONE")
ENDIF(HAVE_STORAGE_ENGINE)
ENDIF(EXISTS ${SUBDIR}/CMakeLists.txt)
ENDFOREACH(SUBDIR ${STORAGE_SUBDIRS})
# Special handling for partition(not really pluggable)
IF(NOT WITHOUT_PARTITION_STORAGE_ENGINE)
SET (STORAGE_ENGINE_DEFS "${STORAGE_ENGINE_DEFS} -DWITH_PARTITION_STORAGE_ENGINE")
SET (mysql_plugin_defs "${mysql_plugin_defs},builtin_partition_plugin")
ENDIF(NOT WITHOUT_PARTITION_STORAGE_ENGINE)
# Special handling for tmp tables with the maria engine
IF(WITH_MARIA_STORAGE_ENGINE)
ADD_DEFINITIONS(-DWITH_MARIA_STORAGE_ENGINE)
IF(WITH_MARIA_TMP_TABLES)
ADD_DEFINITIONS(-DUSE_MARIA_FOR_TMP_TABLES)
ENDIF(WITH_MARIA_TMP_TABLES)
ENDIF(WITH_MARIA_STORAGE_ENGINE)
ADD_DEFINITIONS(${STORAGE_ENGINE_DEFS})
# Now write out our mysql_plugin_defs struct
CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/sql/sql_builtin.cc.in
${CMAKE_SOURCE_DIR}/sql/sql_builtin.cc @ONLY)
# Add subdirectories for storage engines
SET (ENGINE_BUILD_TYPE "STATIC")
FOREACH(DIR ${STATIC_ENGINE_DIRECTORIES})
ADD_SUBDIRECTORY(${DIR})
ENDFOREACH(DIR ${STATIC_ENGINE_DIRECTORIES})
SET (ENGINE_BUILD_TYPE "DYNAMIC")
FOREACH(DIR ${DYNAMIC_ENGINE_DIRECTORIES})
ADD_SUBDIRECTORY(${DIR})
ENDFOREACH(DIR ${DYNAMIC_ENGINE_DIRECTORIES})
# FIXME "debug" only needed if build type is "Debug", but
# CMAKE_BUILD_TYPE is not set during configure time.
ADD_SUBDIRECTORY(vio)
@ -243,32 +306,7 @@ ADD_SUBDIRECTORY(extra/yassl)
ADD_SUBDIRECTORY(extra/yassl/taocrypt)
ADD_SUBDIRECTORY(extra/libevent)
ADD_SUBDIRECTORY(extra)
ADD_SUBDIRECTORY(storage/heap)
ADD_SUBDIRECTORY(storage/myisam)
ADD_SUBDIRECTORY(storage/myisammrg)
ADD_SUBDIRECTORY(client)
IF(WITH_ARCHIVE_STORAGE_ENGINE)
ADD_SUBDIRECTORY(storage/archive)
ENDIF(WITH_ARCHIVE_STORAGE_ENGINE)
IF(WITH_BLACKHOLE_STORAGE_ENGINE)
ADD_SUBDIRECTORY(storage/blackhole)
ENDIF(WITH_BLACKHOLE_STORAGE_ENGINE)
IF(WITH_CSV_STORAGE_ENGINE)
ADD_SUBDIRECTORY(storage/csv)
ENDIF(WITH_CSV_STORAGE_ENGINE)
IF(WITH_EXAMPLE_STORAGE_ENGINE)
ADD_SUBDIRECTORY(storage/example)
ENDIF(WITH_EXAMPLE_STORAGE_ENGINE)
IF(WITH_FEDERATED_STORAGE_ENGINE)
ADD_SUBDIRECTORY(storage/federated)
ENDIF(WITH_FEDERATED_STORAGE_ENGINE)
IF(WITH_INNOBASE_STORAGE_ENGINE)
ADD_SUBDIRECTORY(storage/xtradb)
ENDIF(WITH_INNOBASE_STORAGE_ENGINE)
IF(WITH_MARIA_STORAGE_ENGINE)
ADD_SUBDIRECTORY(storage/maria)
ADD_SUBDIRECTORY(storage/maria/unittest)
ENDIF(WITH_MARIA_STORAGE_ENGINE)
ADD_SUBDIRECTORY(sql)
ADD_SUBDIRECTORY(server-tools/instance-manager)
ADD_SUBDIRECTORY(libmysql)

View file

@ -11,7 +11,7 @@
MySQL tar file binary distributions have names of the form
mysql-VERSION-OS.tar.gz, where VERSION is a number (for example,
5.1.35), and OS indicates the type of operating system for which
5.1.39), and OS indicates the type of operating system for which
the distribution is intended (for example, pc-linux-i686).
In addition to these generic packages, we also offer binaries in
@ -156,10 +156,10 @@ shell> chown -R mysql data
Permissions in Grant Tables." For Perl module installation
instructions, see Section 2.15, "Perl Installation Notes."
11. If you would like to use mysqlaccess and have the MySQL
distribution in some non-standard location, you must change
the location where mysqlaccess expects to find the mysql
client. Edit the bin/mysqlaccess script at approximately line
18. Search for a line that looks like this:
distribution in some nonstandard location, you must change the
location where mysqlaccess expects to find the mysql client.
Edit the bin/mysqlaccess script at approximately line 18.
Search for a line that looks like this:
$MYSQL = '/usr/local/bin/mysql'; # path to mysql executable
Change the path to reflect the location where mysql actually
is stored on your system. If you do not do this, a Broken pipe

File diff suppressed because it is too large Load diff

View file

@ -191,7 +191,7 @@ C:\workdir>win\configure.js WITH_INNOBASE_STORAGE_ENGINE
directory, you need to tell the server their path names. You
can either do this on the command line with the --basedir and
--datadir options, or by placing appropriate options in an
option file. (See Section 4.2.3.2, "Using Option Files.") If
option file. (See Section 4.2.3.3, "Using Option Files.") If
you have an existing data directory elsewhere that you want to
use, you can specify its path name instead.
When the server is running in standalone fashion or as a
@ -207,7 +207,7 @@ C:\workdir>win\configure.js WITH_INNOBASE_STORAGE_ENGINE
option), and invoke mysql-test-run.pl. For example (using
Cygwin and the bash shell):
shell> cd mysql-test
shell> export MTS_VS_CONFIG=debug
shell> export MTR_VS_CONFIG=debug
shell> ./mysql-test-run.pl --force --timer
shell> ./mysql-test-run.pl --force --timer --ps-protocol

1253
README

File diff suppressed because it is too large Load diff

View file

@ -71,7 +71,7 @@ mysqldump_SOURCES= mysqldump.c \
$(top_srcdir)/mysys/mf_getdate.c
mysqlimport_SOURCES= mysqlimport.c
mysqlimport_CFLAGS= -DTHREAD -UUNDEF_THREADS_HACK
mysqlimport_LDADD = $(CXXLDFLAGS) $(CLIENT_THREAD_LIBS) \
@CLIENT_EXTRA_LDFLAGS@ \
$(LIBMYSQLCLIENT_LA) \
@ -80,14 +80,14 @@ mysqlimport_LDADD = $(CXXLDFLAGS) $(CLIENT_THREAD_LIBS) \
mysqlshow_SOURCES= mysqlshow.c
mysqlslap_SOURCES= mysqlslap.c
mysqlslap_CFLAGS= -DTHREAD -UUNDEF_THREADS_HACK
mysqlslap_CFLAGS= -DTHREAD -UMYSQL_CLIENT_NO_THREADS
mysqlslap_LDADD = $(CXXLDFLAGS) $(CLIENT_THREAD_LIBS) \
@CLIENT_EXTRA_LDFLAGS@ \
$(LIBMYSQLCLIENT_LA) \
$(top_builddir)/mysys/libmysys.a
mysqltest_SOURCES= mysqltest.cc
mysqltest_CXXFLAGS= -DTHREAD -UUNDEF_THREADS_HACK
mysqltest_CXXFLAGS= -DTHREAD -UMYSQL_CLIENT_NO_THREADS
mysqltest_LDADD = $(CXXLDFLAGS) $(CLIENT_THREAD_LIBS) \
@CLIENT_EXTRA_LDFLAGS@ \
$(LIBMYSQLCLIENT_LA) \
@ -99,9 +99,9 @@ mysql_upgrade_SOURCES= mysql_upgrade.c \
$(top_srcdir)/mysys/my_getpagesize.c
# Fix for mit-threads
DEFS = -DUNDEF_THREADS_HACK \
DEFS = -DMYSQL_CLIENT_NO_THREADS \
-DDEFAULT_MYSQL_HOME="\"$(prefix)\"" \
-DDATADIR="\"$(localstatedir)\""
-DMYSQL_DATADIR="\"$(localstatedir)\""
sql_src=log_event.h mysql_priv.h rpl_constants.h \
rpl_utility.h rpl_tblmap.h rpl_tblmap.cc \

View file

@ -1,4 +1,4 @@
/* Copyright (C) 2000-2008 MySQL AB
/* Copyright (C) 2000-2009 MySQL AB & Monty Program Ab
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
@ -115,7 +115,7 @@ extern "C" {
#define PROMPT_CHAR '\\'
#define DEFAULT_DELIMITER ";"
#define MAX_BATCH_BUFFER_SIZE (1024L * 1024L)
#define MAX_BATCH_BUFFER_SIZE (1024L * 1024L * 1024L)
typedef struct st_status
{
@ -143,7 +143,8 @@ static my_bool ignore_errors=0,wait_flag=0,quick=0,
tty_password= 0, opt_nobeep=0, opt_reconnect=1,
default_charset_used= 0, opt_secure_auth= 0,
default_pager_set= 0, opt_sigint_ignore= 0,
show_warnings= 0, executing_query= 0, interrupted_query= 0;
show_warnings= 0, executing_query= 0, interrupted_query= 0,
ignore_spaces= 0;
static my_bool debug_info_flag, debug_check_flag, batch_abort_on_error;
static my_bool column_types_flag;
static my_bool preserve_comments= 0;
@ -169,6 +170,8 @@ static const char *xmlmeta[] = {
"<", "&lt;",
">", "&gt;",
"\"", "&quot;",
/* Turn \0 into a space. Why not &#0;? That's not valid XML or HTML. */
"\0", " ",
0, 0
};
static const char *day_names[]={"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};
@ -248,7 +251,7 @@ typedef struct {
static COMMANDS commands[] = {
{ "?", '?', com_help, 1, "Synonym for `help'." },
{ "clear", 'c', com_clear, 0, "Clear command."},
{ "clear", 'c', com_clear, 0, "Clear the current input statement."},
{ "connect",'r', com_connect,1,
"Reconnect to the server. Optional arguments are db and host." },
{ "delimiter", 'd', com_delimiter, 1,
@ -1183,7 +1186,12 @@ int main(int argc,char *argv[])
histfile= 0;
}
}
if (histfile)
/* We used to suggest setting MYSQL_HISTFILE=/dev/null. */
if (histfile && strncmp(histfile, "/dev/null", 10) == 0)
histfile= NULL;
if (histfile && histfile[0])
{
if (verbose)
tee_fprintf(stdout, "Reading history-file %s\n",histfile);
@ -1218,7 +1226,8 @@ sig_handler mysql_end(int sig)
{
mysql_close(&mysql);
#ifdef HAVE_READLINE
if (!status.batch && !quick && !opt_html && !opt_xml && histfile)
if (!status.batch && !quick && !opt_html && !opt_xml &&
histfile && histfile[0])
{
/* write-history */
if (verbose)
@ -1376,8 +1385,9 @@ static struct my_option my_long_options[] =
{"no-named-commands", 'g',
"Named commands are disabled. Use \\* form only, or use named commands only in the beginning of a line ending with a semicolon (;) Since version 10.9 the client now starts with this option ENABLED by default! Disable with '-G'. Long format commands still work from the first line. WARNING: option deprecated; use --disable-named-commands instead.",
0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
{"ignore-spaces", 'i', "Ignore space after function names.", 0, 0, 0,
GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
{"ignore-spaces", 'i', "Ignore space after function names.",
(uchar**) &ignore_spaces, (uchar**) &ignore_spaces, 0, GET_BOOL, NO_ARG, 0, 0,
0, 0, 0, 0},
{"local-infile", OPT_LOCAL_INFILE, "Enable/disable LOAD DATA LOCAL INFILE.",
(uchar**) &opt_local_infile,
(uchar**) &opt_local_infile, 0, GET_BOOL, OPT_ARG, 0, 0, 0, 0, 0, 0},
@ -1801,6 +1811,10 @@ static int get_options(int argc, char **argv)
my_end_arg= MY_CHECK_ERROR | MY_GIVE_INFO;
if (debug_check_flag)
my_end_arg= MY_CHECK_ERROR;
if (ignore_spaces)
connect_flag|= CLIENT_IGNORE_SPACE;
return(0);
}
@ -1974,7 +1988,7 @@ static COMMANDS *find_command(char *name,char cmd_char)
*/
if (strstr(name, "\\g") || (strstr(name, delimiter) &&
!(strlen(name) >= 9 &&
!my_strnncoll(charset_info,
!my_strnncoll(&my_charset_latin1,
(uchar*) name, 9,
(const uchar*) "delimiter",
9))))
@ -1995,8 +2009,7 @@ static COMMANDS *find_command(char *name,char cmd_char)
{
if (commands[i].func &&
(((name &&
!my_strnncoll(charset_info,
(uchar*) name, len,
!my_strnncoll(&my_charset_latin1, (uchar*) name, len,
(uchar*) commands[i].name, len) &&
!commands[i].name[len] &&
(!end || (end && commands[i].takes_params)))) ||
@ -2300,8 +2313,10 @@ extern "C" char **new_mysql_completion (const char *text, int start, int end);
*/
#if defined(USE_NEW_READLINE_INTERFACE)
static int fake_magic_space(int, int);
extern "C" char *no_completion(const char*,int)
#elif defined(USE_LIBEDIT_INTERFACE)
static int fake_magic_space(const char *, int);
extern "C" int no_completion(const char*,int)
#else
extern "C" char *no_completion()
@ -2378,6 +2393,18 @@ static int not_in_history(const char *line)
return 1;
}
#if defined(USE_NEW_READLINE_INTERFACE)
static int fake_magic_space(int, int)
#else
static int fake_magic_space(const char *, int)
#endif
{
rl_insert(1, ' ');
return 0;
}
static void initialize_readline (char *name)
{
/* Allow conditional parsing of the ~/.inputrc file. */
@ -2387,12 +2414,15 @@ static void initialize_readline (char *name)
#if defined(USE_NEW_READLINE_INTERFACE)
rl_attempted_completion_function= (rl_completion_func_t*)&new_mysql_completion;
rl_completion_entry_function= (rl_compentry_func_t*)&no_completion;
rl_add_defun("magic-space", (rl_command_func_t *)&fake_magic_space, -1);
#elif defined(USE_LIBEDIT_INTERFACE)
#ifdef HAVE_LOCALE_H
setlocale(LC_ALL,""); /* so as libedit use isprint */
#endif
rl_attempted_completion_function= (CPPFunction*)&new_mysql_completion;
rl_completion_entry_function= &no_completion;
rl_add_defun("magic-space", (Function*)&fake_magic_space, -1);
#else
rl_attempted_completion_function= (CPPFunction*)&new_mysql_completion;
rl_completion_entry_function= &no_completion;
@ -2730,7 +2760,7 @@ static int com_server_help(String *buffer __attribute__((unused)),
{
MYSQL_ROW cur;
const char *server_cmd= buffer->ptr();
char cmd_buf[100];
char cmd_buf[100 + 1];
MYSQL_RES *result;
int error;
@ -3306,6 +3336,9 @@ print_table_data(MYSQL_RES *result)
uint visible_length;
uint extra_padding;
if (off)
(void) tee_fputs(" ", PAGER);
if (cur[off] == NULL)
{
buffer= "NULL";
@ -3391,9 +3424,12 @@ print_table_data_html(MYSQL_RES *result)
{
while((field = mysql_fetch_field(result)))
{
tee_fprintf(PAGER, "<TH>%s</TH>", (field->name ?
(field->name[0] ? field->name :
" &nbsp; ") : "NULL"));
tee_fputs("<TH>", PAGER);
if (field->name && field->name[0])
xmlencode_print(field->name, field->name_length);
else
tee_fputs(field->name ? " &nbsp; " : "NULL", PAGER);
tee_fputs("</TH>", PAGER);
}
(void) tee_fputs("</TR>", PAGER);
}
@ -3406,7 +3442,7 @@ print_table_data_html(MYSQL_RES *result)
for (uint i=0; i < mysql_num_fields(result); i++)
{
(void) tee_fputs("<TD>", PAGER);
safe_put_field(cur[i],lengths[i]);
xmlencode_print(cur[i], lengths[i]);
(void) tee_fputs("</TD>", PAGER);
}
(void) tee_fputs("</TR>", PAGER);
@ -3477,11 +3513,29 @@ print_table_data_vertically(MYSQL_RES *result)
mysql_field_seek(result,0);
tee_fprintf(PAGER,
"*************************** %d. row ***************************\n", row_count);
ulong *lengths= mysql_fetch_lengths(result);
for (uint off=0; off < mysql_num_fields(result); off++)
{
field= mysql_fetch_field(result);
tee_fprintf(PAGER, "%*s: ",(int) max_length,field->name);
tee_fprintf(PAGER, "%s\n",cur[off] ? (char*) cur[off] : "NULL");
if (cur[off])
{
unsigned int i;
const char *p;
for (i= 0, p= cur[off]; i < lengths[off]; i+= 1, p+= 1)
{
if (*p == '\0')
tee_putc((int)' ', PAGER);
else
tee_putc((int)*p, PAGER);
}
tee_putc('\n', PAGER);
}
else
tee_fprintf(PAGER, "NULL\n");
}
}
}
@ -3548,7 +3602,7 @@ xmlencode_print(const char *src, uint length)
tee_fputs("NULL", PAGER);
else
{
for (const char *p = src; *p && length; *p++, length--)
for (const char *p = src; length; *p++, length--)
{
const char *t;
if ((t = array_value(xmlmeta, *p)))
@ -3568,7 +3622,12 @@ safe_put_field(const char *pos,ulong length)
else
{
if (opt_raw_data)
tee_fputs(pos, PAGER);
{
unsigned long i;
/* Can't use tee_fputs(), it stops with NUL characters. */
for (i= 0; i < length; i++, pos++)
tee_putc(*pos, PAGER);
}
else for (const char *end=pos+length ; pos != end ; pos++)
{
#ifdef USE_MB
@ -4269,17 +4328,18 @@ com_status(String *buffer __attribute__((unused)),
MYSQL_RES *result;
LINT_INIT(result);
if (mysql_real_query_for_lazy(
C_STRING_WITH_LEN("select DATABASE(), USER() limit 1")))
return 0;
tee_puts("--------------", stdout);
usage(1); /* Print version */
if (connected)
{
tee_fprintf(stdout, "\nConnection id:\t\t%lu\n",mysql_thread_id(&mysql));
/*
Don't remove "limit 1",
it is protection againts SQL_SELECT_LIMIT=0
*/
if (!mysql_query(&mysql,"select DATABASE(), USER() limit 1") &&
(result=mysql_use_result(&mysql)))
if (mysql_store_result_for_lazy(&result))
{
MYSQL_ROW cur=mysql_fetch_row(result);
if (cur)
@ -4289,6 +4349,7 @@ com_status(String *buffer __attribute__((unused)),
}
mysql_free_result(result);
}
#ifdef HAVE_OPENSSL
if ((status_str= mysql_get_ssl_cipher(&mysql)))
tee_fprintf(stdout, "SSL:\t\t\tCipher in use is %s\n",
@ -4296,14 +4357,7 @@ com_status(String *buffer __attribute__((unused)),
else
#endif /* HAVE_OPENSSL */
tee_puts("SSL:\t\t\tNot in use", stdout);
}
else
{
vidattr(A_BOLD);
tee_fprintf(stdout, "\nNo connection\n");
vidattr(A_NORMAL);
return 0;
}
if (skip_updates)
{
vidattr(A_BOLD);
@ -4322,8 +4376,14 @@ com_status(String *buffer __attribute__((unused)),
tee_fprintf(stdout, "Insert id:\t\t%s\n", llstr(id, buff));
/* "limit 1" is protection against SQL_SELECT_LIMIT=0 */
if (!mysql_query(&mysql,"select @@character_set_client, @@character_set_connection, @@character_set_server, @@character_set_database limit 1") &&
(result=mysql_use_result(&mysql)))
if (mysql_real_query_for_lazy(C_STRING_WITH_LEN(
"select @@character_set_client, @@character_set_connection, "
"@@character_set_server, @@character_set_database limit 1")))
{
if (mysql_errno(&mysql) == CR_SERVER_GONE_ERROR)
return 0;
}
if (mysql_store_result_for_lazy(&result))
{
MYSQL_ROW cur=mysql_fetch_row(result);
if (cur)

View file

@ -39,6 +39,7 @@ static uint my_end_arg= 0;
static char *opt_user= (char*)"root";
static DYNAMIC_STRING ds_args;
static DYNAMIC_STRING conn_args;
static char *opt_password= 0;
static my_bool tty_password= 0;
@ -115,11 +116,11 @@ static struct my_option my_long_options[]=
#endif
{"socket", 'S', "Socket file to use for connection.",
0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
#include <sslopt-longopts.h>
{"tmpdir", 't', "Directory for temporary files",
0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
{"user", 'u', "User for login if not current user.", (uchar**) &opt_user,
(uchar**) &opt_user, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
#include <sslopt-longopts.h>
{"verbose", 'v', "Display more output about the process",
(uchar**) &opt_verbose, (uchar**) &opt_verbose, 0,
GET_BOOL, NO_ARG, 1, 0, 0, 0, 0, 0},
@ -135,6 +136,7 @@ static void free_used_memory(void)
free_defaults(defaults_argv);
dynstr_free(&ds_args);
dynstr_free(&conn_args);
}
@ -204,7 +206,7 @@ static void add_one_option(DYNAMIC_STRING* ds,
}
}
dynstr_append_os_quoted(ds, "--", opt->name, eq, arg, NullS);
dynstr_append(&ds_args, " ");
dynstr_append(ds, " ");
}
@ -231,6 +233,8 @@ get_one_option(int optid, const struct my_option *opt,
break;
case 'p':
if (argument == disabled_my_option)
argument= (char*) ""; /* Don't require password */
tty_password= 1;
add_option= FALSE;
if (argument)
@ -249,11 +253,24 @@ get_one_option(int optid, const struct my_option *opt,
break;
case 'b': /* --basedir */
case 'v': /* --verbose */
case 'd': /* --datadir */
fprintf(stderr, "%s: the '--%s' option is always ignored\n",
my_progname, optid == 'b' ? "basedir" : "datadir");
/* FALLTHROUGH */
case 'v': /* --verbose */
case 'f': /* --force */
add_option= FALSE;
break;
case 'h': /* --host */
case 'W': /* --pipe */
case 'P': /* --port */
case 'S': /* --socket */
case OPT_MYSQL_PROTOCOL: /* --protocol */
case OPT_SHARED_MEMORY_BASE_NAME: /* --shared-memory-base-name */
add_one_option(&conn_args, opt, argument);
break;
}
if (add_option)
@ -601,6 +618,20 @@ static void create_mysql_upgrade_info_file(void)
}
/*
Print connection-related arguments.
*/
static void print_conn_args(const char *tool_name)
{
if (conn_args.str[0])
verbose("Running '%s' with connection arguments: %s", tool_name,
conn_args.str);
else
verbose("Running '%s with default connection arguments", tool_name);
}
/*
Check and upgrade(if neccessary) all tables
in the server using "mysqlcheck --check-upgrade .."
@ -608,7 +639,7 @@ static void create_mysql_upgrade_info_file(void)
static int run_mysqlcheck_upgrade(void)
{
verbose("Running 'mysqlcheck'...");
print_conn_args("mysqlcheck");
return run_tool(mysqlcheck_path,
NULL, /* Send output from mysqlcheck directly to screen */
"--no-defaults",
@ -622,7 +653,7 @@ static int run_mysqlcheck_upgrade(void)
static int run_mysqlcheck_fixnames(void)
{
verbose("Running 'mysqlcheck'...");
print_conn_args("mysqlcheck");
return run_tool(mysqlcheck_path,
NULL, /* Send output from mysqlcheck directly to screen */
"--no-defaults",
@ -751,7 +782,8 @@ int main(int argc, char **argv)
strncpy(self_name, argv[0], FN_REFLEN);
}
if (init_dynamic_string(&ds_args, "", 512, 256))
if (init_dynamic_string(&ds_args, "", 512, 256) ||
init_dynamic_string(&conn_args, "", 512, 256))
die("Out of memory");
load_defaults("my", load_default_groups, &argc, &argv);

View file

@ -24,7 +24,7 @@
#include <mysql.h>
#define ADMIN_VERSION "8.42"
#define MAX_MYSQL_VAR 256
#define MAX_MYSQL_VAR 512
#define SHUTDOWN_DEF_TIMEOUT 3600 /* Wait for shutdown */
#define MAX_TRUNC_LENGTH 3
@ -232,6 +232,8 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
opt_count_iterations= 1;
break;
case 'p':
if (argument == disabled_my_option)
argument= (char*) ""; // Don't require password
if (argument)
{
char *start=argument;
@ -369,7 +371,7 @@ int main(int argc,char *argv[])
}
else
{
while (!interrupted && (!opt_count_iterations || nr_iterations))
while (!interrupted)
{
new_line = 0;
if ((error=execute_commands(&mysql,argc,commands)))
@ -393,11 +395,11 @@ int main(int argc,char *argv[])
}
if (interval)
{
if (opt_count_iterations && --nr_iterations == 0)
break;
sleep(interval);
if (new_line)
puts("");
if (opt_count_iterations)
nr_iterations--;
}
else
break;
@ -677,10 +679,16 @@ static int execute_commands(MYSQL *mysql,int argc, char **argv)
pos=argv[1];
for (;;)
{
if (mysql_kill(mysql,(ulong) atol(pos)))
/* We don't use mysql_kill(), since it only handles 32-bit IDs. */
char buff[26], *out; /* "KILL " + max 20 digs + NUL */
out= strxmov(buff, "KILL ", NullS);
ullstr(strtoull(pos, NULL, 0), out);
if (mysql_query(mysql, buff))
{
my_printf_error(0, "kill failed on %ld; error: '%s'", error_flags,
atol(pos), mysql_error(mysql));
/* out still points to just the number */
my_printf_error(0, "kill failed on %s; error: '%s'", error_flags,
out, mysql_error(mysql));
error=1;
}
if (!(pos=strchr(pos,',')))
@ -735,6 +743,9 @@ static int execute_commands(MYSQL *mysql,int argc, char **argv)
mysql_error(mysql));
return -1;
}
DBUG_ASSERT(mysql_num_rows(res) < MAX_MYSQL_VAR);
if (!opt_vertical)
print_header(res);
else

View file

@ -17,10 +17,8 @@
TODO: print the catalog (some USE catalog.db ????).
Standalone program to read a MySQL binary log (or relay log);
can read files produced by 3.23, 4.x, 5.0 servers.
Standalone program to read a MySQL binary log (or relay log).
Can read binlogs from 3.23/4.x/5.0 and relay logs from 4.x/5.0.
Should be able to read any file of these categories, even with
--start-position.
An important fact: the Format_desc event of the log is at most the 3rd event
@ -681,6 +679,7 @@ Exit_status process_event(PRINT_EVENT_INFO *print_event_info, Log_event *ev,
{
char ll_buff[21];
Log_event_type ev_type= ev->get_type_code();
my_bool destroy_evt= TRUE;
DBUG_ENTER("process_event");
print_event_info->short_form= short_form;
Exit_status retval= OK_CONTINUE;
@ -871,12 +870,63 @@ Exit_status process_event(PRINT_EVENT_INFO *print_event_info, Log_event *ev,
break;
}
case TABLE_MAP_EVENT:
{
Table_map_log_event *map= ((Table_map_log_event *)ev);
if (shall_skip_database(map->get_db_name()))
{
print_event_info->m_table_map_ignored.set_table(map->get_table_id(), map);
destroy_evt= FALSE;
goto end;
}
}
case WRITE_ROWS_EVENT:
case DELETE_ROWS_EVENT:
case UPDATE_ROWS_EVENT:
case PRE_GA_WRITE_ROWS_EVENT:
case PRE_GA_DELETE_ROWS_EVENT:
case PRE_GA_UPDATE_ROWS_EVENT:
{
if (ev_type != TABLE_MAP_EVENT)
{
Rows_log_event *e= (Rows_log_event*) ev;
Table_map_log_event *ignored_map=
print_event_info->m_table_map_ignored.get_table(e->get_table_id());
bool skip_event= (ignored_map != NULL);
/*
end of statement check:
i) destroy/free ignored maps
ii) if skip event, flush cache now
*/
if (e->get_flags(Rows_log_event::STMT_END_F))
{
/*
Now is safe to clear ignored map (clear_tables will also
delete original table map events stored in the map).
*/
if (print_event_info->m_table_map_ignored.count() > 0)
print_event_info->m_table_map_ignored.clear_tables();
/*
One needs to take into account an event that gets
filtered but was last event in the statement. If this is
the case, previous rows events that were written into
IO_CACHEs still need to be copied from cache to
result_file (as it would happen in ev->print(...) if
event was not skipped).
*/
if (skip_event)
{
if ((copy_event_cache_to_file_and_reinit(&print_event_info->head_cache, result_file) ||
copy_event_cache_to_file_and_reinit(&print_event_info->body_cache, result_file)))
goto err;
}
}
/* skip the event check */
if (skip_event)
goto end;
}
/*
These events must be printed in base64 format, if printed.
base64 format requires a FD event to be safe, so if no FD
@ -900,6 +950,7 @@ Exit_status process_event(PRINT_EVENT_INFO *print_event_info, Log_event *ev,
goto err;
}
/* FALL THROUGH */
}
default:
ev->print(result_file, print_event_info);
}
@ -919,6 +970,7 @@ end:
{
if (remote_opt)
ev->temp_buf= 0;
if (destroy_evt) /* destroy it later if not set (ignored table map) */
delete ev;
}
DBUG_RETURN(retval);
@ -934,10 +986,13 @@ static struct my_option my_long_options[] =
0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
#endif
{"base64-output", OPT_BASE64_OUTPUT_MODE,
/* 'unspec' is not mentioned because it is just a placeholder. */
"Determine when the output statements should be base64-encoded BINLOG "
"statements: 'never' disables it and works only for binlogs without "
"row-based events; 'auto' is the default and prints base64 only when "
"necessary (i.e., for row-based events and format description events); "
"'decode-rows' suppresses BINLOG statements for row events, but does "
"not exit as an error if a row event is found, unlike 'never'; "
"'always' prints base64 whenever possible. 'always' is for debugging "
"only and should not be used in a production system. The default is "
"'auto'. --base64-output is a short form for --base64-output=always."
@ -1226,6 +1281,8 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
one_database = 1;
break;
case 'p':
if (argument == disabled_my_option)
argument= (char*) ""; // Don't require password
if (argument)
{
my_free(pass,MYF(MY_ALLOW_ZERO_PTR));
@ -1529,7 +1586,6 @@ static Exit_status dump_remote_log_entries(PRINT_EVENT_INFO *print_event_info,
If reading from a remote host, ensure the temp_buf for the
Log_event class is pointing to the incoming stream.
*/
if (remote_opt)
ev->register_temp_buf((char *) net->read_pos + 1);
Log_event_type type= ev->get_type_code();

View file

@ -286,6 +286,8 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
what_to_do= DO_UPGRADE;
break;
case 'p':
if (argument == disabled_my_option)
argument= (char*) ""; /* Don't require password */
if (argument)
{
char *start = argument;
@ -440,7 +442,7 @@ static int process_selected_tables(char *db, char **table_names, int tables)
{
if (use_db(db))
return 1;
if (opt_all_in_1)
if (opt_all_in_1 && what_to_do != DO_UPGRADE)
{
/*
We need table list in form `a`, `b`, `c`
@ -534,7 +536,7 @@ static int process_all_tables_in_db(char *database)
num_columns= mysql_num_fields(res);
if (opt_all_in_1)
if (opt_all_in_1 && what_to_do != DO_UPGRADE)
{
/*
We need table list in form `a`, `b`, `c`

View file

@ -221,7 +221,7 @@ static struct my_option my_long_options[] =
(uchar**) &opt_compatible_mode_str, (uchar**) &opt_compatible_mode_str, 0,
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
{"compact", OPT_COMPACT,
"Give less verbose output (useful for debugging). Disables structure comments and header/footer constructs. Enables options --skip-add-drop-table --no-set-names --skip-disable-keys --skip-add-locks",
"Give less verbose output (useful for debugging). Disables structure comments and header/footer constructs. Enables options --skip-add-drop-table --skip-add-locks --skip-comments --skip-disable-keys --skip-set-charset",
(uchar**) &opt_compact, (uchar**) &opt_compact, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0,
0, 0},
{"complete-insert", 'c', "Use complete insert statements.",
@ -702,6 +702,8 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
break;
#endif
case 'p':
if (argument == disabled_my_option)
argument= (char*) ""; /* Don't require password */
if (argument)
{
char *start=argument;
@ -1395,18 +1397,19 @@ static char *cover_definer_clause_in_sp(const char *def_str,
SYNOPSIS
open_sql_file_for_table
name name of the table or view
flags flags (as per "man 2 open")
RETURN VALUES
0 Failed to open file
> 0 Handle of the open file
*/
static FILE* open_sql_file_for_table(const char* table)
static FILE* open_sql_file_for_table(const char* table, int flags)
{
FILE* res;
char filename[FN_REFLEN], tmp_path[FN_REFLEN];
convert_dirname(tmp_path,path,NullS);
res= my_fopen(fn_format(filename, table, tmp_path, ".sql", 4),
O_WRONLY, MYF(MY_WME));
flags, MYF(MY_WME));
return res;
}
@ -2288,7 +2291,7 @@ static uint get_table_structure(char *table, char *db, char *table_type,
if (path)
{
if (!(sql_file= open_sql_file_for_table(table)))
if (!(sql_file= open_sql_file_for_table(table, O_WRONLY)))
DBUG_RETURN(0);
write_header(sql_file, db);
@ -2499,7 +2502,7 @@ static uint get_table_structure(char *table, char *db, char *table_type,
{
if (path)
{
if (!(sql_file= open_sql_file_for_table(table)))
if (!(sql_file= open_sql_file_for_table(table, O_WRONLY)))
DBUG_RETURN(0);
write_header(sql_file, db);
}
@ -2723,12 +2726,10 @@ continue_xml:
DBUG_RETURN((uint) num_fields);
} /* get_table_structure */
static void dump_trigger_old(MYSQL_RES *show_triggers_rs,
static void dump_trigger_old(FILE *sql_file, MYSQL_RES *show_triggers_rs,
MYSQL_ROW *show_trigger_row,
const char *table_name)
{
FILE *sql_file= md_result_file;
char quoted_table_name_buf[NAME_LEN * 2 + 3];
char *quoted_table_name= quote_name(table_name, quoted_table_name_buf, 1);
@ -2794,11 +2795,10 @@ static void dump_trigger_old(MYSQL_RES *show_triggers_rs,
DBUG_VOID_RETURN;
}
static int dump_trigger(MYSQL_RES *show_create_trigger_rs,
static int dump_trigger(FILE *sql_file, MYSQL_RES *show_create_trigger_rs,
const char *db_name,
const char *db_cl_name)
{
FILE *sql_file= md_result_file;
MYSQL_ROW row;
int db_cl_altered= FALSE;
@ -2862,22 +2862,28 @@ static int dump_triggers_for_table(char *table_name, char *db_name)
uint old_opt_compatible_mode= opt_compatible_mode;
MYSQL_RES *show_triggers_rs;
MYSQL_ROW row;
FILE *sql_file= md_result_file;
char db_cl_name[MY_CS_NAME_SIZE];
int ret= TRUE;
DBUG_ENTER("dump_triggers_for_table");
DBUG_PRINT("enter", ("db: %s, table_name: %s", db_name, table_name));
if (path && !(sql_file= open_sql_file_for_table(table_name,
O_WRONLY | O_APPEND)))
DBUG_RETURN(1);
/* Do not use ANSI_QUOTES on triggers in dump */
opt_compatible_mode&= ~MASK_ANSI_QUOTES;
/* Get database collation. */
if (switch_character_set_results(mysql, "binary"))
DBUG_RETURN(TRUE);
goto done;
if (fetch_db_collation(db_name, db_cl_name, sizeof (db_cl_name)))
DBUG_RETURN(TRUE);
goto done;
/* Get list of triggers. */
@ -2886,7 +2892,7 @@ static int dump_triggers_for_table(char *table_name, char *db_name)
quote_for_like(table_name, name_buff));
if (mysql_query_with_error_report(mysql, &show_triggers_rs, query_buff))
DBUG_RETURN(TRUE);
goto done;
/* Dump triggers. */
@ -2907,17 +2913,15 @@ static int dump_triggers_for_table(char *table_name, char *db_name)
provide all the necessary information to restore trigger properly.
*/
dump_trigger_old(show_triggers_rs, &row, table_name);
dump_trigger_old(sql_file, show_triggers_rs, &row, table_name);
}
else
{
MYSQL_RES *show_create_trigger_rs= mysql_store_result(mysql);
if (!show_create_trigger_rs ||
dump_trigger(show_create_trigger_rs, db_name, db_cl_name))
{
DBUG_RETURN(TRUE);
}
dump_trigger(sql_file, show_create_trigger_rs, db_name, db_cl_name))
goto done;
mysql_free_result(show_create_trigger_rs);
}
@ -2927,7 +2931,7 @@ static int dump_triggers_for_table(char *table_name, char *db_name)
mysql_free_result(show_triggers_rs);
if (switch_character_set_results(mysql, default_charset))
DBUG_RETURN(TRUE);
goto done;
/*
make sure to set back opt_compatible mode to
@ -2935,7 +2939,13 @@ static int dump_triggers_for_table(char *table_name, char *db_name)
*/
opt_compatible_mode=old_opt_compatible_mode;
DBUG_RETURN(FALSE);
ret= FALSE;
done:
if (path)
my_fclose(sql_file, MYF(0));
DBUG_RETURN(ret);
}
static void add_load_option(DYNAMIC_STRING *str, const char *option,
@ -3127,6 +3137,12 @@ static void dump_table(char *table, char *db)
dynstr_append_checked(&query_string, filename);
dynstr_append_checked(&query_string, "'");
dynstr_append_checked(&query_string, " /*!50138 CHARACTER SET ");
dynstr_append_checked(&query_string, default_charset == mysql_universal_client_charset ?
my_charset_bin.name : /* backward compatibility */
default_charset);
dynstr_append_checked(&query_string, " */");
if (fields_terminated || enclosed || opt_enclosed || escaped)
dynstr_append_checked(&query_string, " FIELDS");
@ -3811,6 +3827,10 @@ static int dump_all_databases()
return 1;
while ((row= mysql_fetch_row(tableres)))
{
if (mysql_get_server_version(mysql) >= 50003 &&
!my_strcasecmp(&my_charset_latin1, row[0], "information_schema"))
continue;
if (dump_all_tables_in_db(row[0]))
result=1;
}
@ -3825,6 +3845,10 @@ static int dump_all_databases()
}
while ((row= mysql_fetch_row(tableres)))
{
if (mysql_get_server_version(mysql) >= 50003 &&
!my_strcasecmp(&my_charset_latin1, row[0], "information_schema"))
continue;
if (dump_all_views_in_db(row[0]))
result=1;
}
@ -3931,10 +3955,6 @@ int init_dumping_tables(char *qdatabase)
static int init_dumping(char *database, int init_func(char*))
{
if (mysql_get_server_version(mysql) >= 50003 &&
!my_strcasecmp(&my_charset_latin1, database, "information_schema"))
return 1;
if (mysql_select_db(mysql, database))
{
DB_error(mysql, "when selecting the database");
@ -3993,6 +4013,7 @@ static int dump_all_tables_in_db(char *database)
DBUG_RETURN(1);
if (opt_xml)
print_xml_tag(md_result_file, "", "\n", "database", "name=", database, NullS);
if (lock_tables)
{
DYNAMIC_STRING query;
@ -4226,7 +4247,10 @@ static int dump_selected_tables(char *db, char **table_names, int tables)
}
end= pos;
if (lock_tables)
/* Can't LOCK TABLES in INFORMATION_SCHEMA, so don't try. */
if (lock_tables &&
!(mysql_get_server_version(mysql) >= 50003 &&
!my_strcasecmp(&my_charset_latin1, db, "information_schema")))
{
if (mysql_real_query(mysql, lock_tables_query.str,
lock_tables_query.length-1))
@ -4780,7 +4804,7 @@ static my_bool get_view_structure(char *table, char* db)
/* If requested, open separate .sql file for this view */
if (path)
{
if (!(sql_file= open_sql_file_for_table(table)))
if (!(sql_file= open_sql_file_for_table(table, O_WRONLY)))
DBUG_RETURN(1);
write_header(sql_file, db);
@ -4792,7 +4816,8 @@ static my_bool get_view_structure(char *table, char* db)
result_table);
check_io(sql_file);
}
fprintf(sql_file, "/*!50001 DROP TABLE %s*/;\n", opt_quoted_table);
/* Table might not exist if this view was dumped with --tab. */
fprintf(sql_file, "/*!50001 DROP TABLE IF EXISTS %s*/;\n", opt_quoted_table);
if (opt_drop)
{
fprintf(sql_file, "/*!50001 DROP VIEW IF EXISTS %s*/;\n",

View file

@ -221,6 +221,8 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
break;
#endif
case 'p':
if (argument == disabled_my_option)
argument= (char*) ""; /* Don't require password */
if (argument)
{
char *start=argument;
@ -301,7 +303,8 @@ static int get_options(int *argc, char ***argv)
static int write_to_table(char *filename, MYSQL *mysql)
{
char tablename[FN_REFLEN], hard_path[FN_REFLEN],
sql_statement[FN_REFLEN*16+256], *end;
escaped_name[FN_REFLEN * 2 + 1],
sql_statement[FN_REFLEN*16+256], *end, *pos;
DBUG_ENTER("write_to_table");
DBUG_PRINT("enter",("filename: %s",filename));
@ -336,15 +339,25 @@ static int write_to_table(char *filename, MYSQL *mysql)
fprintf(stdout, "Loading data from SERVER file: %s into %s\n",
hard_path, tablename);
}
mysql_real_escape_string(mysql, escaped_name, hard_path,
(unsigned long) strlen(hard_path));
sprintf(sql_statement, "LOAD DATA %s %s INFILE '%s'",
opt_low_priority ? "LOW_PRIORITY" : "",
opt_local_file ? "LOCAL" : "", hard_path);
opt_local_file ? "LOCAL" : "", escaped_name);
end= strend(sql_statement);
if (replace)
end= strmov(end, " REPLACE");
if (ignore)
end= strmov(end, " IGNORE");
end= strmov(strmov(end, " INTO TABLE "), tablename);
end= strmov(end, " INTO TABLE `");
/* Turn any ` into `` in table name. */
for (pos= tablename; *pos; pos++)
{
if (*pos == '`')
*end++= '`';
*end++= *pos;
}
end= strmov(end, "`");
if (fields_terminated || enclosed || opt_enclosed || escaped)
end= strmov(end, " FIELDS");

View file

@ -281,6 +281,8 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
opt_verbose++;
break;
case 'p':
if (argument == disabled_my_option)
argument= (char*) ""; /* Don't require password */
if (argument)
{
char *start=argument;

View file

@ -574,8 +574,7 @@ static struct my_option my_long_options[] =
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
{"csv", OPT_SLAP_CSV,
"Generate CSV output to named file or to stdout if no file is named.",
(uchar**) &opt_csv_str, (uchar**) &opt_csv_str, 0, GET_STR,
OPT_ARG, 0, 0, 0, 0, 0, 0},
NULL, NULL, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
#ifdef DBUG_OFF
{"debug", '#', "This is a non-debug version. Catch this and exit.",
0, 0, 0, GET_DISABLED, OPT_ARG, 0, 0, 0, 0, 0, 0},
@ -723,6 +722,8 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
verbose++;
break;
case 'p':
if (argument == disabled_my_option)
argument= (char*) ""; /* Don't require password */
if (argument)
{
char *start= argument;
@ -749,6 +750,11 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
DBUG_PUSH(argument ? argument : default_dbug_option);
debug_check_flag= 1;
break;
case OPT_SLAP_CSV:
if (!argument)
argument= (char *)"-"; /* use stdout */
opt_csv_str= argument;
break;
#include <sslopt-case.h>
case 'V':
print_version();

View file

@ -289,6 +289,7 @@ enum enum_commands {
Q_SEND_QUIT, Q_CHANGE_USER, Q_MKDIR, Q_RMDIR,
Q_LIST_FILES, Q_LIST_FILES_WRITE_FILE, Q_LIST_FILES_APPEND_FILE,
Q_SEND_SHUTDOWN, Q_SHUTDOWN_SERVER,
Q_MOVE_FILE,
Q_UNKNOWN, /* Unknown command. */
Q_COMMENT, /* Comments, ignored. */
@ -385,6 +386,7 @@ const char *command_names[]=
"list_files_append_file",
"send_shutdown",
"shutdown_server",
"move_file",
0
};
@ -975,6 +977,7 @@ void check_command_args(struct st_command *command,
for (i= 0; i < num_args; i++)
{
const struct command_arg *arg= &args[i];
char delimiter;
switch (arg->type) {
/* A string */
@ -983,8 +986,15 @@ void check_command_args(struct st_command *command,
while (*ptr && *ptr == ' ')
ptr++;
start= ptr;
/* Find end of arg, terminated by "delimiter_arg" */
while (*ptr && *ptr != delimiter_arg)
delimiter = delimiter_arg;
/* If start of arg is ' ` or " search to matching quote end instead */
if (*ptr && strchr ("'`\"", *ptr))
{
delimiter= *ptr;
start= ++ptr;
}
/* Find end of arg, terminated by "delimiter" */
while (*ptr && *ptr != delimiter)
ptr++;
if (ptr > start)
{
@ -996,6 +1006,11 @@ void check_command_args(struct st_command *command,
/* Empty string */
init_dynamic_string(arg->ds, "", 0, 0);
}
/* Find real end of arg, terminated by "delimiter_arg" */
/* This will do nothing if arg was not closed by quotes */
while (*ptr && *ptr != delimiter_arg)
ptr++;
command->last_argument= (char*)ptr;
/* Step past the delimiter */
@ -1454,7 +1469,6 @@ static int run_tool(const char *tool_path, DYNAMIC_STRING *ds_res, ...)
Test if diff is present. This is needed on Windows systems
as the OS returns 1 whether diff is successful or if it is
not present.
Takes name of diff program as argument
We run diff -v and look for output in stdout.
We don't redirect stderr to stdout to make for a simplified check
@ -1462,26 +1476,31 @@ static int run_tool(const char *tool_path, DYNAMIC_STRING *ds_res, ...)
not present.
*/
int diff_check (const char *diff_name)
#ifdef __WIN__
static int diff_check(const char *diff_name)
{
char buf[512]= {0};
FILE *res_file;
char cmd[128];
my_snprintf (cmd, sizeof(cmd), "%s -v", diff_name);
char buf[128];
int have_diff= 0;
if (!(res_file= popen(cmd, "r")))
die("popen(\"%s\", \"r\") failed", cmd);
my_snprintf(buf, sizeof(buf), "%s -v", diff_name);
if (!(res_file= popen(buf, "r")))
die("popen(\"%s\", \"r\") failed", buf);
/* if diff is not present, nothing will be in stdout to increment have_diff */
if (fgets(buf, sizeof(buf), res_file))
{
have_diff += 1;
}
have_diff= 1;
pclose(res_file);
return have_diff;
}
#endif
/*
Show the diff of two files using the systems builtin diff
command. If no such diff command exist, just dump the content
@ -1823,7 +1842,7 @@ void check_result()
log_file.file_name(), reject_file, errno);
show_diff(NULL, result_file_name, reject_file);
die(mess);
die("%s", mess);
break;
}
default: /* impossible */
@ -2918,6 +2937,42 @@ void do_copy_file(struct st_command *command)
}
/*
SYNOPSIS
do_move_file
command command handle
DESCRIPTION
move_file <from_file> <to_file>
Move <from_file> to <to_file>
*/
void do_move_file(struct st_command *command)
{
int error;
static DYNAMIC_STRING ds_from_file;
static DYNAMIC_STRING ds_to_file;
const struct command_arg move_file_args[] = {
{ "from_file", ARG_STRING, TRUE, &ds_from_file, "Filename to move from" },
{ "to_file", ARG_STRING, TRUE, &ds_to_file, "Filename to move to" }
};
DBUG_ENTER("do_move_file");
check_command_args(command, command->first_argument,
move_file_args,
sizeof(move_file_args)/sizeof(struct command_arg),
' ');
DBUG_PRINT("info", ("Move %s to %s", ds_from_file.str, ds_to_file.str));
error= (my_rename(ds_from_file.str, ds_to_file.str,
MYF(0)) != 0);
handle_command_error(command, error);
dynstr_free(&ds_from_file);
dynstr_free(&ds_to_file);
DBUG_VOID_RETURN;
}
/*
SYNOPSIS
do_chmod_file
@ -4575,7 +4630,7 @@ void select_connection(struct st_command *command)
};
check_command_args(command, command->first_argument, connection_args,
sizeof(connection_args)/sizeof(struct command_arg),
',');
' ');
DBUG_PRINT("info", ("changing connection: %s", ds_connection.str));
select_connection_name(ds_connection.str);
@ -5702,11 +5757,11 @@ static struct my_option my_long_options[] =
{"sp-protocol", OPT_SP_PROTOCOL, "Use stored procedures for select",
(uchar**) &sp_protocol, (uchar**) &sp_protocol, 0,
GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
#include "sslopt-longopts.h"
{"tail-lines", OPT_TAIL_LINES,
"Number of lines of the resul to include in a failure report",
(uchar**) &opt_tail_lines, (uchar**) &opt_tail_lines, 0,
GET_INT, REQUIRED_ARG, 0, 0, 10000, 0, 0, 0},
#include "sslopt-longopts.h"
{"test-file", 'x', "Read test from/in this file (default stdin).",
0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
{"connect-timeout", OPT_MY_CONNECT_TIMEOUT, "Client connection timeout",
@ -5843,6 +5898,8 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
break;
}
case 'p':
if (argument == disabled_my_option)
argument= (char*) ""; // Don't require password
if (argument)
{
my_free(opt_pass, MYF(MY_ALLOW_ZERO_PTR));
@ -7727,6 +7784,7 @@ int main(int argc, char **argv)
case Q_CHANGE_USER: do_change_user(command); break;
case Q_CAT_FILE: do_cat_file(command); break;
case Q_COPY_FILE: do_copy_file(command); break;
case Q_MOVE_FILE: do_move_file(command); break;
case Q_CHMOD_FILE: do_chmod_file(command); break;
case Q_PERL: do_perl(command); break;
case Q_DELIMITER:

View file

@ -66,7 +66,7 @@ typedef KEYMAP_ENTRY *Keymap;
#ifndef CTRL
#include <sys/ioctl.h>
#if !defined(__sun) && !defined(__hpux) && !defined(_AIX)
#if !defined(__sun) && !defined(__hpux) && !defined(_AIX) && !defined(__QNXNTO__) && !defined(__USLC__)
#include <sys/ttydefaults.h>
#endif
#ifndef CTRL

View file

@ -61,7 +61,7 @@ static char sccsid[] = "@(#)term.c 8.2 (Berkeley) 4/30/95";
#ifdef HAVE_NCURSES_H
#include <ncurses.h>
#endif
/* Solaris's term.h does horrid things. */
/* Don't use Solaris's term.h. */
#if (defined(HAVE_TERM_H) && !defined(__SunOS))
#include <term.h>
#endif

View file

@ -31,7 +31,7 @@ noinst_HEADERS = readline.h chardefs.h keymaps.h \
EXTRA_DIST= emacs_keymap.c vi_keymap.c
DEFS = -DUNDEF_THREADS_HACK -DHAVE_CONFIG_H -DNO_KILL_INTR
DEFS = -DMYSQL_CLIENT_NO_THREADS -DHAVE_CONFIG_H -DNO_KILL_INTR
# Don't update the files from bitkeeper
%::SCCS/s.%

View file

@ -79,7 +79,7 @@ static int _rl_read_init_file PARAMS((const char *, int));
static int glean_key_from_name PARAMS((char *));
static int find_boolean_var PARAMS((const char *));
static char *_rl_get_string_variable_value PARAMS((const char *));
static const char *_rl_get_string_variable_value PARAMS((const char *));
static int substring_member_of_array PARAMS((char *, const char **));
static int currently_reading_init_file;
@ -442,7 +442,7 @@ rl_translate_keyseq (seq, array, len)
{
register int i, c, l, temp;
for (i = l = 0; c = seq[i]; i++)
for (i = l = 0; (c = seq[i]); i++)
{
if (c == '\\')
{
@ -776,7 +776,8 @@ _rl_read_file (filename, sizep)
file_size = (size_t)finfo.st_size;
/* check for overflow on very large files */
if (file_size != finfo.st_size || file_size + 1 < file_size)
if ((sizeof(off_t) > sizeof(size_t) && finfo.st_size > (off_t)(size_t)~0) ||
file_size + 1 < file_size)
{
if (file >= 0)
close (file);
@ -807,7 +808,7 @@ _rl_read_file (filename, sizep)
/* Re-read the current keybindings file. */
int
rl_re_read_init_file (count, ignore)
int count, ignore;
int count __attribute__((unused)), ignore __attribute__((unused));
{
int r;
r = rl_read_init_file ((const char *)NULL);
@ -1031,7 +1032,7 @@ parser_if (args)
/* Invert the current parser state if there is anything on the stack. */
static int
parser_else (args)
char *args;
char *args __attribute__((unused));
{
register int i;
@ -1062,7 +1063,7 @@ parser_else (args)
_rl_parsing_conditionalized_out from the stack. */
static int
parser_endif (args)
char *args;
char *args __attribute__((unused));
{
if (if_stack_depth)
_rl_parsing_conditionalized_out = if_stack[--if_stack_depth];
@ -1185,7 +1186,7 @@ rl_parse_and_bind (string)
{
int passc = 0;
for (i = 1; c = string[i]; i++)
for (i = 1; (c = string[i]); i++)
{
if (passc)
{
@ -1276,7 +1277,7 @@ rl_parse_and_bind (string)
int delimiter, passc;
delimiter = string[i++];
for (passc = 0; c = string[i]; i++)
for (passc = 0; (c = string[i]); i++)
{
if (passc)
{
@ -1436,7 +1437,7 @@ static struct {
#if defined (VISIBLE_STATS)
{ "visible-stats", &rl_visible_stats, 0 },
#endif /* VISIBLE_STATS */
{ (char *)NULL, (int *)NULL }
{ (char *)NULL, (int *)NULL, 0 }
};
static int
@ -1505,7 +1506,7 @@ static struct {
{ "editing-mode", V_STRING, sv_editmode },
{ "isearch-terminators", V_STRING, sv_isrchterm },
{ "keymap", V_STRING, sv_keymap },
{ (char *)NULL, 0 }
{ (char *)NULL, 0, (_rl_sv_func_t*)NULL }
};
static int
@ -1532,7 +1533,7 @@ bool_to_int (value)
(value[0] == '1' && value[1] == '\0'));
}
char *
const char *
rl_variable_value (name)
const char *name;
{
@ -1799,7 +1800,7 @@ rl_set_keymap_from_edit_mode ()
#endif /* VI_MODE */
}
char *
const char *
rl_get_keymap_name_from_edit_mode ()
{
if (rl_editing_mode == emacs_mode)
@ -2048,7 +2049,7 @@ rl_function_dumper (print_readably)
fprintf (rl_outstream, "\n");
for (i = 0; name = names[i]; i++)
for (i = 0; (name = names[i]); i++)
{
rl_command_func_t *function;
char **invokers;
@ -2108,7 +2109,7 @@ rl_function_dumper (print_readably)
the output in such a way that it can be read back in. */
int
rl_dump_functions (count, key)
int count, key;
int count __attribute__((unused)), key __attribute__((unused));
{
if (rl_dispatching)
fprintf (rl_outstream, "\r\n");
@ -2188,7 +2189,7 @@ rl_macro_dumper (print_readably)
int
rl_dump_macros (count, key)
int count, key;
int count __attribute__((unused)), key __attribute__((unused));
{
if (rl_dispatching)
fprintf (rl_outstream, "\r\n");
@ -2197,12 +2198,13 @@ rl_dump_macros (count, key)
return (0);
}
static char *
static const char *
_rl_get_string_variable_value (name)
const char *name;
{
static char numbuf[32];
char *ret;
const char *ret;
char *tmp;
if (_rl_stricmp (name, "bell-style") == 0)
{
@ -2230,11 +2232,11 @@ _rl_get_string_variable_value (name)
{
if (_rl_isearch_terminators == 0)
return 0;
ret = _rl_untranslate_macro_value (_rl_isearch_terminators);
if (ret)
tmp = _rl_untranslate_macro_value (_rl_isearch_terminators);
if (tmp)
{
strncpy (numbuf, ret, sizeof (numbuf) - 1);
free (ret);
strncpy (numbuf, tmp, sizeof (numbuf) - 1);
free (tmp);
numbuf[sizeof(numbuf) - 1] = '\0';
}
else
@ -2257,7 +2259,7 @@ rl_variable_dumper (print_readably)
int print_readably;
{
int i;
char *v;
const char *v;
for (i = 0; boolean_varlist[i].name; i++)
{
@ -2286,7 +2288,7 @@ rl_variable_dumper (print_readably)
the output in such a way that it can be read back in. */
int
rl_dump_variables (count, key)
int count, key;
int count __attribute__((unused)), key __attribute__((unused));
{
if (rl_dispatching)
fprintf (rl_outstream, "\r\n");

View file

@ -359,14 +359,14 @@ rl_complete (ignore, invoking_key)
/* List the possible completions. See description of rl_complete (). */
int
rl_possible_completions (ignore, invoking_key)
int ignore, invoking_key;
int ignore __attribute__((unused)), invoking_key __attribute__((unused));
{
return (rl_complete_internal ('?'));
}
int
rl_insert_completions (ignore, invoking_key)
int ignore, invoking_key;
int ignore __attribute__((unused)), invoking_key __attribute__((unused));
{
return (rl_complete_internal ('*'));
}
@ -696,7 +696,8 @@ print_filename (to_print, full_pathname)
char *to_print, *full_pathname;
{
int printed_len, extension_char, slen, tlen;
char *s, c, *new_full_pathname, *dn;
char *s, c, *new_full_pathname;
const char *dn;
extension_char = 0;
printed_len = fnprint (to_print);
@ -783,7 +784,7 @@ print_filename (to_print, full_pathname)
static char *
rl_quote_filename (s, rtype, qcp)
char *s;
int rtype;
int rtype __attribute__((unused));
char *qcp;
{
char *r;
@ -884,7 +885,7 @@ _rl_find_completion_word (fp, dp)
/* We didn't find an unclosed quoted substring upon which to do
completion, so use the word break characters to find the
substring on which to complete. */
while (rl_point = MB_PREVCHAR (rl_line_buffer, rl_point, MB_FIND_ANY))
while ((rl_point = MB_PREVCHAR (rl_line_buffer, rl_point, MB_FIND_ANY)))
{
scan = rl_line_buffer[rl_point];
@ -1803,7 +1804,7 @@ rl_completion_matches (text, entry_function)
match_list = (char **)xmalloc ((match_list_size + 1) * sizeof (char *));
match_list[1] = (char *)NULL;
while (string = (*entry_function) (text, matches))
while ((string = (*entry_function) (text, matches)))
{
if (matches + 1 == match_list_size)
match_list = (char **)xrealloc
@ -2111,7 +2112,7 @@ rl_filename_completion_function (text, state)
ring the bell, and reset the counter to zero. */
int
rl_menu_complete (count, ignore)
int count, ignore;
int count, ignore __attribute__((unused));
{
rl_compentry_func_t *our_func;
int matching_filenames, found_quote;

View file

@ -127,7 +127,7 @@ int _rl_want_redisplay = 0;
/* The stuff that gets printed out before the actual text of the line.
This is usually pointing to rl_prompt. */
char *rl_display_prompt = (char *)NULL;
const char *rl_display_prompt = (const char *)NULL;
/* Pseudo-global variables declared here. */
@ -227,7 +227,10 @@ expand_prompt (pmt, lp, lip, niflp, vlp)
int *lp, *lip, *niflp, *vlp;
{
char *r, *ret, *p, *igstart;
int l, rl, last, ignoring, ninvis, invfl, invflset, ind, pind, physchars;
int l, rl, last, ignoring, ninvis, invfl, invflset, physchars;
#if defined (HANDLE_MULTIBYTE)
int ind, pind;
#endif
/* Short-circuit if we can. */
if ((MB_CUR_MAX <= 1 || rl_byte_oriented) && strchr (pmt, RL_PROMPT_START_IGNORE) == 0)
@ -240,7 +243,7 @@ expand_prompt (pmt, lp, lip, niflp, vlp)
if (niflp)
*niflp = 0;
if (vlp)
*vlp = lp ? *lp : strlen (r);
*vlp = lp ? *lp : (int)strlen (r);
return r;
}
@ -457,9 +460,10 @@ rl_redisplay ()
register int in, out, c, linenum, cursor_linenum;
register char *line;
int inv_botlin, lb_linenum, o_cpos;
int newlines, lpos, temp, modmark, n0, num;
int newlines, lpos, temp, modmark;
char *prompt_this_line;
#if defined (HANDLE_MULTIBYTE)
int num, n0;
wchar_t wc;
size_t wc_bytes;
int wc_width;
@ -624,7 +628,6 @@ rl_redisplay ()
contents of the command line? */
while (lpos >= _rl_screenwidth)
{
int z;
/* fix from Darin Johnson <darin@acuson.com> for prompt string with
invisible characters that is longer than the screen width. The
prompt_invis_chars_first_line variable could be made into an array
@ -633,6 +636,7 @@ rl_redisplay ()
prompts that exceed two physical lines?
Additional logic fix from Edward Catmur <ed@catmur.co.uk> */
#if defined (HANDLE_MULTIBYTE)
int z;
if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
{
n0 = num;
@ -874,6 +878,7 @@ rl_redisplay ()
if (_rl_horizontal_scroll_mode == 0 && _rl_term_up && *_rl_term_up)
{
int nleft, pos, changed_screen_line, tx;
char empty_str[1] = { 0 };
if (!rl_display_fixed || forced_display)
{
@ -898,7 +903,7 @@ rl_redisplay ()
#define VIS_LLEN(l) ((l) > _rl_vis_botlin ? 0 : (vis_lbreaks[l+1] - vis_lbreaks[l]))
#define INV_LLEN(l) (inv_lbreaks[l+1] - inv_lbreaks[l])
#define VIS_CHARS(line) (visible_line + vis_lbreaks[line])
#define VIS_LINE(line) ((line) > _rl_vis_botlin) ? "" : VIS_CHARS(line)
#define VIS_LINE(line) ((line) > _rl_vis_botlin) ? empty_str : VIS_CHARS(line)
#define INV_LINE(line) (invisible_line + inv_lbreaks[line])
/* For each line in the buffer, do the updating display. */
@ -965,7 +970,7 @@ rl_redisplay ()
_rl_move_vert (linenum);
_rl_move_cursor_relative (0, tt);
_rl_clear_to_eol
((linenum == _rl_vis_botlin) ? strlen (tt) : _rl_screenwidth);
((linenum == _rl_vis_botlin) ? (int)strlen (tt) : _rl_screenwidth);
}
}
_rl_vis_botlin = inv_botlin;
@ -2257,7 +2262,7 @@ static void
redraw_prompt (t)
char *t;
{
char *oldp;
const char *oldp;
oldp = rl_display_prompt;
rl_save_prompt ();

View file

@ -87,14 +87,14 @@ char history_comment_char = '\0';
/* The list of characters which inhibit the expansion of text if found
immediately following history_expansion_char. */
char *history_no_expand_chars = " \t\n\r=";
const char *history_no_expand_chars = " \t\n\r=";
/* If set to a non-zero value, single quotes inhibit history expansion.
The default is 0. */
int history_quotes_inhibit_expansion = 0;
/* Used to split words by history_tokenize_internal. */
char *history_word_delimiters = HISTORY_WORD_DELIMITERS;
const char *history_word_delimiters = HISTORY_WORD_DELIMITERS;
/* If set, this points to a function that is called to verify that a
particular history expansion should be performed. */
@ -203,7 +203,7 @@ get_history_event (string, caller_index, delimiting_quote)
}
/* Only a closing `?' or a newline delimit a substring search string. */
for (local_index = i; c = string[i]; i++)
for (local_index = i; (c = string[i]); i++)
{
#if defined (HANDLE_MULTIBYTE)
if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)

View file

@ -186,7 +186,8 @@ read_history_range (filename, from, to)
file_size = (size_t)finfo.st_size;
/* check for overflow on very large files */
if (file_size != finfo.st_size || file_size + 1 < file_size)
if ((sizeof(off_t) > sizeof(size_t) && finfo.st_size > (off_t)(size_t)~0) ||
file_size + 1 < file_size)
{
errno = overflow_errno;
goto error_and_exit;
@ -339,7 +340,8 @@ history_truncate_file (fname, lines)
file_size = (size_t)finfo.st_size;
/* check for overflow on very large files */
if (file_size != finfo.st_size || file_size + 1 < file_size)
if ((sizeof(off_t) > sizeof(size_t) && finfo.st_size > (off_t)(size_t)~0) ||
file_size + 1 < file_size)
{
close (file);
#if defined (EFBIG)

View file

@ -243,9 +243,9 @@ extern int history_length;
extern int history_max_entries;
extern char history_expansion_char;
extern char history_subst_char;
extern char *history_word_delimiters;
extern const char *history_word_delimiters;
extern char history_comment_char;
extern char *history_no_expand_chars;
extern const char *history_no_expand_chars;
extern char *history_search_delimiter_chars;
extern int history_quotes_inhibit_expansion;

View file

@ -420,7 +420,7 @@ rl_read_key ()
else
{
/* If input is coming from a macro, then use that. */
if (c = _rl_next_macro_key ())
if ((c = _rl_next_macro_key ()))
return (c);
/* If the user has an event function, then call it periodically. */

View file

@ -75,7 +75,7 @@ static int _rl_isearch_cleanup PARAMS((_rl_search_cxt *, int));
static char *last_isearch_string;
static int last_isearch_string_len;
static char *default_isearch_terminators = "\033\012";
static const char *default_isearch_terminators = "\033\012";
_rl_search_cxt *
_rl_scxt_alloc (type, flags)
@ -119,7 +119,7 @@ _rl_scxt_alloc (type, flags)
void
_rl_scxt_dispose (cxt, flags)
_rl_search_cxt *cxt;
int flags;
int flags __attribute__((unused));
{
FREE (cxt->search_string);
FREE (cxt->allocated_line);
@ -154,7 +154,7 @@ rl_forward_search_history (sign, key)
static void
rl_display_search (search_string, reverse_p, where)
char *search_string;
int reverse_p, where;
int reverse_p, where __attribute__((unused));
{
char *message;
int msglen, searchlen;
@ -614,7 +614,7 @@ _rl_isearch_cleanup (cxt, r)
backwards. */
static int
rl_search_history (direction, invoking_key)
int direction, invoking_key;
int direction, invoking_key __attribute__((unused));
{
_rl_search_cxt *cxt; /* local for now, but saved globally */
int c, r;

View file

@ -79,7 +79,7 @@ static int rl_yank_nth_arg_internal PARAMS((int, int, int));
of kill material. */
int
rl_set_retained_kills (num)
int num;
int num __attribute__((unused));
{
return 0;
}
@ -296,7 +296,7 @@ rl_backward_kill_line (direction, ignore)
/* Kill the whole line, no matter where point is. */
int
rl_kill_full_line (count, ignore)
int count, ignore;
int count __attribute__((unused)), ignore __attribute__((unused));
{
rl_begin_undo_group ();
rl_point = 0;
@ -314,7 +314,7 @@ rl_kill_full_line (count, ignore)
using behaviour that they expect. */
int
rl_unix_word_rubout (count, key)
int count, key;
int count, key __attribute__((unused));
{
int orig_point;
@ -347,7 +347,7 @@ rl_unix_word_rubout (count, key)
deletes backward to directory separator (`/') or whitespace. */
int
rl_unix_filename_rubout (count, key)
int count, key;
int count, key __attribute__((unused));
{
int orig_point, c;
@ -391,7 +391,7 @@ rl_unix_filename_rubout (count, key)
doing. */
int
rl_unix_line_discard (count, key)
int count, key;
int count __attribute__((unused)), key __attribute__((unused));
{
if (rl_point == 0)
rl_ding ();
@ -428,7 +428,7 @@ region_kill_internal (delete)
/* Copy the text in the region to the kill ring. */
int
rl_copy_region_to_kill (count, ignore)
int count, ignore;
int count __attribute__((unused)), ignore __attribute__((unused));
{
return (region_kill_internal (0));
}
@ -436,7 +436,7 @@ rl_copy_region_to_kill (count, ignore)
/* Kill the text between the point and mark. */
int
rl_kill_region (count, ignore)
int count, ignore;
int count __attribute__((unused)), ignore __attribute__((unused));
{
int r, npoint;
@ -501,7 +501,7 @@ rl_copy_backward_word (count, key)
/* Yank back the last killed text. This ignores arguments. */
int
rl_yank (count, ignore)
int count, ignore;
int count __attribute__((unused)), ignore __attribute__((unused));
{
if (rl_kill_ring == 0)
{
@ -520,7 +520,7 @@ rl_yank (count, ignore)
yank back some other text. */
int
rl_yank_pop (count, key)
int count, key;
int count __attribute__((unused)), key __attribute__((unused));
{
int l, n;

View file

@ -201,7 +201,7 @@ _rl_kill_kbd_macro ()
re-executing the existing macro. */
int
rl_start_kbd_macro (ignore1, ignore2)
int ignore1, ignore2;
int ignore1 __attribute__((unused)), ignore2 __attribute__((unused));
{
if (RL_ISSTATE (RL_STATE_MACRODEF))
{
@ -226,7 +226,7 @@ rl_start_kbd_macro (ignore1, ignore2)
that many times, counting the definition as the first time. */
int
rl_end_kbd_macro (count, ignore)
int count, ignore;
int count, ignore __attribute__((unused));
{
if (RL_ISSTATE (RL_STATE_MACRODEF) == 0)
{
@ -246,7 +246,7 @@ rl_end_kbd_macro (count, ignore)
COUNT says how many times to execute it. */
int
rl_call_last_kbd_macro (count, ignore)
int count, ignore;
int count, ignore __attribute__((unused));
{
if (current_macro == 0)
_rl_abort_internal ();

View file

@ -346,8 +346,8 @@ _rl_char_value (buf, ind)
#undef _rl_find_next_mbchar
int
_rl_find_next_mbchar (string, seed, count, flags)
char *string;
int seed, count, flags;
char *string __attribute__((unused));
int seed, count, flags __attribute__((unused));
{
#if defined (HANDLE_MULTIBYTE)
return _rl_find_next_mbchar_internal (string, seed, count, flags);
@ -362,8 +362,8 @@ _rl_find_next_mbchar (string, seed, count, flags)
#undef _rl_find_prev_mbchar
int
_rl_find_prev_mbchar (string, seed, flags)
char *string;
int seed, flags;
char *string __attribute__((unused));
int seed, flags __attribute__((unused));
{
#if defined (HANDLE_MULTIBYTE)
return _rl_find_prev_mbchar_internal (string, seed, flags);

View file

@ -228,7 +228,7 @@ _rl_reset_argument ()
/* Start a numeric argument with initial value KEY */
int
rl_digit_argument (ignore, key)
int ignore, key;
int ignore __attribute__((unused)), key;
{
_rl_arg_init ();
if (RL_ISSTATE (RL_STATE_CALLBACK))
@ -249,7 +249,7 @@ rl_digit_argument (ignore, key)
dispatch on it. If the key is the abort character then abort. */
int
rl_universal_argument (count, key)
int count, key;
int count __attribute__((unused)), key __attribute__((unused));
{
_rl_arg_init ();
rl_numeric_arg *= 4;
@ -413,7 +413,7 @@ _rl_history_set_point ()
void
rl_replace_from_history (entry, flags)
HIST_ENTRY *entry;
int flags; /* currently unused */
int flags __attribute__((unused)); /* currently unused */
{
/* Can't call with `1' because rl_undo_list might point to an undo list
from a history entry, just like we're setting up here. */
@ -440,7 +440,7 @@ rl_replace_from_history (entry, flags)
/* Meta-< goes to the start of the history. */
int
rl_beginning_of_history (count, key)
int count, key;
int count __attribute__((unused)), key;
{
return (rl_get_previous_history (1 + where_history (), key));
}
@ -448,7 +448,7 @@ rl_beginning_of_history (count, key)
/* Meta-> goes to the end of the history. (The current line). */
int
rl_end_of_history (count, key)
int count, key;
int count __attribute__((unused)), key __attribute__((unused));
{
rl_maybe_replace_line ();
using_history ();
@ -553,7 +553,7 @@ rl_get_previous_history (count, key)
/* How to toggle back and forth between editing modes. */
int
rl_vi_editing_mode (count, key)
int count, key;
int count __attribute__((unused)), key;
{
#if defined (VI_MODE)
_rl_set_insert_mode (RL_IM_INSERT, 1); /* vi mode ignores insert mode */
@ -566,7 +566,7 @@ rl_vi_editing_mode (count, key)
int
rl_emacs_editing_mode (count, key)
int count, key;
int count __attribute__((unused)), key __attribute__((unused));
{
rl_editing_mode = emacs_mode;
_rl_set_insert_mode (RL_IM_INSERT, 1); /* emacs mode default is insert mode */
@ -577,7 +577,7 @@ rl_emacs_editing_mode (count, key)
/* Function for the rest of the library to use to set insert/overwrite mode. */
void
_rl_set_insert_mode (im, force)
int im, force;
int im, force __attribute__((unused));
{
#ifdef CURSOR_MODE
_rl_set_cursor (im, force);
@ -590,7 +590,7 @@ _rl_set_insert_mode (im, force)
mode. A negative or zero explicit argument selects insert mode. */
int
rl_overwrite_mode (count, key)
int count, key;
int count, key __attribute__((unused));
{
if (rl_explicit_arg == 0)
_rl_set_insert_mode (rl_insert_mode ^ 1, 0);

View file

@ -101,7 +101,8 @@ _rl_init_eightbit ()
/* If we have setlocale(3), just check the current LC_CTYPE category
value, and go into eight-bit mode if it's not C or POSIX. */
#if defined (HAVE_SETLOCALE)
char *lspec, *t;
const char *lspec;
char *t;
/* Set the LC_CTYPE locale category from environment variables. */
lspec = _rl_get_locale_var ("LC_CTYPE");
@ -127,7 +128,8 @@ _rl_init_eightbit ()
return (0);
#else /* !HAVE_SETLOCALE */
char *lspec, *t;
const char *lspec;
char *t;
int i;
/* We don't have setlocale. Finesse it. Check the environment for the

View file

@ -304,7 +304,7 @@ extern int rl_bind_keyseq_if_unbound PARAMS((const char *, rl_command_func_t *))
extern int rl_bind_keyseq_if_unbound_in_map PARAMS((const char *, rl_command_func_t *, Keymap));
extern int rl_generic_bind PARAMS((int, const char *, char *, Keymap));
extern char *rl_variable_value PARAMS((const char *));
extern const char *rl_variable_value PARAMS((const char *));
extern int rl_variable_bind PARAMS((const char *, const char *));
/* Backwards compatibility, use rl_bind_keyseq_in_map instead. */
@ -343,7 +343,7 @@ extern void rl_set_keymap PARAMS((Keymap));
extern Keymap rl_get_keymap PARAMS((void));
/* Undocumented; used internally only. */
extern void rl_set_keymap_from_edit_mode PARAMS((void));
extern char *rl_get_keymap_name_from_edit_mode PARAMS((void));
extern const char *rl_get_keymap_name_from_edit_mode PARAMS((void));
/* Functions for manipulating the funmap, which maps command names to functions. */
extern int rl_add_funmap_entry PARAMS((const char *, rl_command_func_t *));
@ -406,7 +406,7 @@ extern void rl_set_screen_size PARAMS((int, int));
extern void rl_get_screen_size PARAMS((int *, int *));
extern void rl_reset_screen_size PARAMS((void));
extern char *rl_get_termcap PARAMS((const char *));
extern const char *rl_get_termcap PARAMS((const char *));
/* Functions for character input. */
extern int rl_stuff_char PARAMS((int));

View file

@ -77,7 +77,7 @@ typedef struct __rl_search_context
int sline_len;
int sline_index;
char *search_terminators;
const char *search_terminators;
} _rl_search_cxt;
/* Callback data for reading numeric arguments */
@ -164,7 +164,7 @@ extern int rl_set_retained_kills PARAMS((int));
extern void _rl_set_screen_size PARAMS((int, int));
/* undo.c */
extern int _rl_fix_last_undo_of_type PARAMS((int, int, int));
extern int _rl_fix_last_undo_of_type PARAMS((enum undo_code, int, int));
/* util.c */
extern char *_rl_savestring PARAMS((const char *));
@ -359,7 +359,7 @@ extern int _rl_vis_botlin;
extern int _rl_last_c_pos;
extern int _rl_suppress_redisplay;
extern int _rl_want_redisplay;
extern char *rl_display_prompt;
extern const char *rl_display_prompt;
/* isearch.c */
extern char *_rl_isearch_terminators;
@ -398,17 +398,17 @@ extern _rl_search_cxt *_rl_nscxt;
/* terminal.c */
extern int _rl_enable_keypad;
extern int _rl_enable_meta;
extern char *_rl_term_clreol;
extern char *_rl_term_clrpag;
extern char *_rl_term_im;
extern char *_rl_term_ic;
extern char *_rl_term_ei;
extern char *_rl_term_DC;
extern char *_rl_term_up;
extern char *_rl_term_dc;
extern char *_rl_term_cr;
extern char *_rl_term_IC;
extern char *_rl_term_forward_char;
extern const char *_rl_term_clreol;
extern const char *_rl_term_clrpag;
extern const char *_rl_term_im;
extern const char *_rl_term_ic;
extern const char *_rl_term_ei;
extern const char *_rl_term_DC;
extern const char *_rl_term_up;
extern const char *_rl_term_dc;
extern const char *_rl_term_cr;
extern const char *_rl_term_IC;
extern const char *_rl_term_forward_char;
extern int _rl_screenheight;
extern int _rl_screenwidth;
extern int _rl_screenchars;

View file

@ -764,7 +764,7 @@ rl_deprep_terminal ()
int
rl_restart_output (count, key)
int count, key;
int count __attribute__((unused)), key __attribute__((unused));
{
#if defined (__MINGW32__)
return 0;
@ -802,7 +802,7 @@ rl_restart_output (count, key)
int
rl_stop_output (count, key)
int count, key;
int count __attribute__((unused)), key __attribute__((unused));
{
#if defined (__MINGW32__)
return 0;

View file

@ -211,7 +211,7 @@ _rl_nsearch_init (dir, pchar)
rl_end = rl_point = 0;
p = _rl_make_prompt_for_search (pchar ? pchar : ':');
rl_message ("%s", p, 0);
rl_message ("%s", p);
free (p);
RL_SETSTATE(RL_STATE_NSEARCH);
@ -383,7 +383,7 @@ noninc_search (dir, pchar)
code calls this, KEY will be `?'. */
int
rl_noninc_forward_search (count, key)
int count, key;
int count __attribute__((unused)), key;
{
return noninc_search (1, (key == '?') ? '?' : 0);
}
@ -392,7 +392,7 @@ rl_noninc_forward_search (count, key)
calls this, KEY will be `/'. */
int
rl_noninc_reverse_search (count, key)
int count, key;
int count __attribute__((unused)), key;
{
return noninc_search (-1, (key == '/') ? '/' : 0);
}
@ -401,7 +401,7 @@ rl_noninc_reverse_search (count, key)
for. If there is no saved search string, abort. */
int
rl_noninc_forward_search_again (count, key)
int count, key;
int count __attribute__((unused)), key __attribute__((unused));
{
int r;
@ -418,7 +418,7 @@ rl_noninc_forward_search_again (count, key)
for. If there is no saved search string, abort. */
int
rl_noninc_reverse_search_again (count, key)
int count, key;
int count __attribute__((unused)), key __attribute__((unused));
{
int r;

View file

@ -104,34 +104,36 @@ char PC, *BC, *UP;
#endif /* __linux__ */
/* Some strings to control terminal actions. These are output by tputs (). */
char *_rl_term_clreol;
char *_rl_term_clrpag;
char *_rl_term_cr;
char *_rl_term_backspace;
char *_rl_term_goto;
char *_rl_term_pc;
const char *_rl_term_clreol;
const char *_rl_term_clrpag;
const char *_rl_term_cr;
const char *_rl_term_backspace;
char _rl_term_backspace_default[2] = { '\b', 0 };
const char *_rl_term_goto;
const char *_rl_term_pc;
/* Non-zero if we determine that the terminal can do character insertion. */
int _rl_terminal_can_insert = 0;
/* How to insert characters. */
char *_rl_term_im;
char *_rl_term_ei;
char *_rl_term_ic;
char *_rl_term_ip;
char *_rl_term_IC;
const char *_rl_term_im;
const char *_rl_term_ei;
const char *_rl_term_ic;
const char *_rl_term_ip;
const char *_rl_term_IC;
/* How to delete characters. */
char *_rl_term_dc;
char *_rl_term_DC;
const char *_rl_term_dc;
const char *_rl_term_DC;
char *_rl_term_forward_char;
const char *_rl_term_forward_char;
/* How to go up a line. */
char *_rl_term_up;
const char *_rl_term_up;
char _rl_term_up_default[2] = { 0, 0 };
/* A visible bell; char if the terminal can be made to flash the screen. */
static char *_rl_visible_bell;
static const char *_rl_visible_bell;
/* Non-zero means the terminal can auto-wrap lines. */
int _rl_term_autowrap = -1;
@ -141,33 +143,33 @@ static int term_has_meta;
/* The sequences to write to turn on and off the meta key, if this
terminal has one. */
static char *_rl_term_mm;
static char *_rl_term_mo;
static const char *_rl_term_mm;
static const char *_rl_term_mo;
/* The key sequences output by the arrow keys, if this terminal has any. */
static char *_rl_term_ku;
static char *_rl_term_kd;
static char *_rl_term_kr;
static char *_rl_term_kl;
static const char *_rl_term_ku;
static const char *_rl_term_kd;
static const char *_rl_term_kr;
static const char *_rl_term_kl;
/* How to initialize and reset the arrow keys, if this terminal has any. */
static char *_rl_term_ks;
static char *_rl_term_ke;
static const char *_rl_term_ks;
static const char *_rl_term_ke;
/* The key sequences sent by the Home and End keys, if any. */
static char *_rl_term_kh;
static char *_rl_term_kH;
static char *_rl_term_at7; /* @7 */
static const char *_rl_term_kh;
static const char *_rl_term_kH;
static const char *_rl_term_at7; /* @7 */
/* Delete key */
static char *_rl_term_kD;
static const char *_rl_term_kD;
/* Insert key */
static char *_rl_term_kI;
static const char *_rl_term_kI;
/* Cursor control */
static char *_rl_term_vs; /* very visible */
static char *_rl_term_ve; /* normal */
static const char *_rl_term_vs; /* very visible */
static const char *_rl_term_ve; /* normal */
static void bind_termcap_arrow_keys PARAMS((Keymap));
@ -362,7 +364,7 @@ rl_resize_terminal ()
struct _tc_string {
const char *tc_var;
char **tc_value;
const char **tc_value;
};
/* This should be kept sorted, just in case we decide to change the
@ -409,7 +411,7 @@ get_term_capabilities (bp)
char **bp;
{
#if !defined (__DJGPP__) /* XXX - doesn't DJGPP have a termcap library? */
register int i;
register unsigned int i;
for (i = 0; i < NUM_TC_STRINGS; i++)
*(tc_strings[i].tc_value) = tgetstr ((char *)tc_strings[i].tc_var, bp);
@ -496,8 +498,9 @@ _rl_init_terminal_io (terminal_name)
tgoto if _rl_term_IC or _rl_term_DC is defined, but just in case we
change that later... */
PC = '\0';
BC = _rl_term_backspace = "\b";
UP = _rl_term_up;
_rl_term_backspace = _rl_term_backspace_default;
BC = (char*)_rl_term_backspace;
UP = (char*)_rl_term_up;
return 0;
}
@ -507,8 +510,8 @@ _rl_init_terminal_io (terminal_name)
/* Set up the variables that the termcap library expects the application
to provide. */
PC = _rl_term_pc ? *_rl_term_pc : 0;
BC = _rl_term_backspace;
UP = _rl_term_up;
BC = (char*)_rl_term_backspace;
UP = (char*)_rl_term_up;
if (!_rl_term_cr)
_rl_term_cr = "\r";
@ -568,11 +571,11 @@ bind_termcap_arrow_keys (map)
_rl_keymap = xkeymap;
}
char *
const char *
rl_get_termcap (cap)
const char *cap;
{
register int i;
register unsigned int i;
if (tcap_initialized == 0)
return ((char *)NULL);

View file

@ -410,7 +410,7 @@ rl_backward (count, key)
/* Move to the beginning of the line. */
int
rl_beg_of_line (count, key)
int count, key;
int count __attribute__((unused)), key __attribute__((unused));
{
rl_point = 0;
return 0;
@ -419,7 +419,7 @@ rl_beg_of_line (count, key)
/* Move to the end of the line. */
int
rl_end_of_line (count, key)
int count, key;
int count __attribute__((unused)), key __attribute__((unused));
{
rl_point = rl_end;
return 0;
@ -527,7 +527,7 @@ rl_backward_word (count, key)
/* Clear the current line. Numeric argument to C-l does this. */
int
rl_refresh_line (ignore1, ignore2)
int ignore1, ignore2;
int ignore1 __attribute__((unused)), ignore2 __attribute__((unused));
{
int curr_line;
@ -566,7 +566,7 @@ rl_clear_screen (count, key)
int
rl_arrow_keys (count, c)
int count, c;
int count, c __attribute__((unused));
{
int ch;
@ -884,7 +884,7 @@ _rl_insert_next_callback (data)
int
rl_quoted_insert (count, key)
int count, key;
int count, key __attribute__((unused));
{
/* Let's see...should the callback interface futz with signal handling? */
#if defined (HANDLE_SIGNALS)
@ -907,7 +907,7 @@ rl_quoted_insert (count, key)
/* Insert a tab character. */
int
rl_tab_insert (count, key)
int count, key;
int count, key __attribute__((unused));
{
return (_rl_insert_char (count, '\t'));
}
@ -917,7 +917,7 @@ rl_tab_insert (count, key)
meaning in the future. */
int
rl_newline (count, key)
int count, key;
int count __attribute__((unused)), key __attribute__((unused));
{
rl_done = 1;
@ -951,7 +951,7 @@ rl_newline (count, key)
is special cased. */
int
rl_do_lowercase_version (ignore1, ignore2)
int ignore1, ignore2;
int ignore1 __attribute__((unused)), ignore2 __attribute__((unused));
{
return 0;
}
@ -1118,7 +1118,7 @@ rl_rubout_or_delete (count, key)
/* Delete all spaces and tabs around point. */
int
rl_delete_horizontal_space (count, ignore)
int count, ignore;
int count __attribute__((unused)), ignore __attribute__((unused));
{
int start = rl_point;
@ -1163,9 +1163,9 @@ rl_delete_or_show_completions (count, key)
A K*rn shell style function. */
int
rl_insert_comment (count, key)
int count, key;
int count __attribute__((unused)), key;
{
char *rl_comment_text;
const char *rl_comment_text;
int rl_comment_len;
rl_beg_of_line (1, key);
@ -1202,7 +1202,7 @@ rl_insert_comment (count, key)
/* Uppercase the word at point. */
int
rl_upcase_word (count, key)
int count, key;
int count, key __attribute__((unused));
{
return (rl_change_case (count, UpCase));
}
@ -1210,7 +1210,7 @@ rl_upcase_word (count, key)
/* Lowercase the word at point. */
int
rl_downcase_word (count, key)
int count, key;
int count, key __attribute__((unused));
{
return (rl_change_case (count, DownCase));
}
@ -1218,7 +1218,7 @@ rl_downcase_word (count, key)
/* Upcase the first letter, downcase the rest. */
int
rl_capitalize_word (count, key)
int count, key;
int count, key __attribute__((unused));
{
return (rl_change_case (count, CapCase));
}
@ -1381,7 +1381,7 @@ rl_transpose_words (count, key)
then transpose the characters before point. */
int
rl_transpose_chars (count, key)
int count, key;
int count, key __attribute__((unused));
{
#if defined (HANDLE_MULTIBYTE)
char *dummy;
@ -1560,7 +1560,7 @@ _rl_char_search_callback (data)
int
rl_char_search (count, key)
int count, key;
int count, key __attribute__((unused));
{
#if defined (READLINE_CALLBACKS)
if (RL_ISSTATE (RL_STATE_CALLBACK))
@ -1578,7 +1578,7 @@ rl_char_search (count, key)
int
rl_backward_char_search (count, key)
int count, key;
int count, key __attribute__((unused));
{
#if defined (READLINE_CALLBACKS)
if (RL_ISSTATE (RL_STATE_CALLBACK))
@ -1615,7 +1615,7 @@ _rl_set_mark_at_pos (position)
/* A bindable command to set the mark. */
int
rl_set_mark (count, key)
int count, key;
int count, key __attribute__((unused));
{
return (_rl_set_mark_at_pos (rl_explicit_arg ? count : rl_point));
}
@ -1623,7 +1623,7 @@ rl_set_mark (count, key)
/* Exchange the position of mark and point. */
int
rl_exchange_point_and_mark (count, key)
int count, key;
int count __attribute__((unused)), key __attribute__((unused));
{
if (rl_mark > rl_end)
rl_mark = -1;

View file

@ -196,7 +196,7 @@ tilde_expand (string)
int result_size, result_index;
result_index = result_size = 0;
if (result = strchr (string, '~'))
if ((result = strchr (string, '~')))
result = (char *)xmalloc (result_size = (strlen (string) + 16));
else
result = (char *)xmalloc (result_size = (strlen (string) + 1));

View file

@ -231,7 +231,8 @@ rl_do_undo ()
int
_rl_fix_last_undo_of_type (type, start, end)
int type, start, end;
enum undo_code type;
int start, end;
{
UNDO_LIST *rl;
@ -289,7 +290,7 @@ rl_modifying (start, end)
/* Revert the current line to its previous state. */
int
rl_revert_line (count, key)
int count, key;
int count __attribute__((unused)), key __attribute__((unused));
{
if (!rl_undo_list)
rl_ding ();
@ -309,7 +310,7 @@ rl_revert_line (count, key)
/* Do some undoing of things that were done. */
int
rl_undo_command (count, key)
int count, key;
int count, key __attribute__((unused));
{
if (count < 0)
return 0; /* Nothing to do. */

View file

@ -81,8 +81,13 @@ rl_alphabetic (c)
#if defined (HANDLE_MULTIBYTE)
int
_rl_walphabetic (wc)
wchar_t wc;
/*
Portability issue with VisualAge C++ Professional / C for AIX Compiler, Version 6:
"util.c", line 84.1: 1506-343 (S) Redeclaration of _rl_walphabetic differs
from previous declaration on line 110 of "rlmbutil.h".
So, put type in the function signature here.
*/
_rl_walphabetic (wchar_t wc)
{
int c;
@ -115,14 +120,14 @@ _rl_abort_internal ()
int
rl_abort (count, key)
int count, key;
int count __attribute__((unused)), key __attribute__((unused));
{
return (_rl_abort_internal ());
}
int
rl_tty_status (count, key)
int count, key;
int count __attribute__((unused)), key __attribute__((unused));
{
#if defined (TIOCSTAT)
ioctl (1, TIOCSTAT, (char *)0);
@ -172,7 +177,7 @@ rl_extend_line_buffer (len)
/* A function for simple tilde expansion. */
int
rl_tilde_expand (ignore, key)
int ignore, key;
int ignore __attribute__((unused)), key __attribute__((unused));
{
register int start, end;
char *homedir, *temp;

View file

@ -131,7 +131,7 @@ static int _rl_vi_callback_char_search PARAMS((_rl_callback_generic_arg *));
void
_rl_vi_initialize_line ()
{
register int i;
register size_t i;
for (i = 0; i < sizeof (vi_mark_chars) / sizeof (int); i++)
vi_mark_chars[i] = -1;
@ -190,7 +190,7 @@ _rl_vi_stuff_insert (count)
puts you back into insert mode. */
int
rl_vi_redo (count, c)
int count, c;
int count, c __attribute__((unused));
{
int r;
@ -238,7 +238,7 @@ rl_vi_undo (count, key)
/* Yank the nth arg from the previous line into this line at point. */
int
rl_vi_yank_arg (count, key)
int count, key;
int count, key __attribute__((unused));
{
/* Readline thinks that the first word on a line is the 0th, while vi
thinks the first word on a line is the 1st. Compensate. */
@ -321,7 +321,7 @@ rl_vi_search (count, key)
/* Completion, from vi's point of view. */
int
rl_vi_complete (ignore, key)
int ignore, key;
int ignore __attribute__((unused)), key;
{
if ((rl_point < rl_end) && (!whitespace (rl_line_buffer[rl_point])))
{
@ -348,7 +348,7 @@ rl_vi_complete (ignore, key)
/* Tilde expansion for vi mode. */
int
rl_vi_tilde_expand (ignore, key)
int ignore, key;
int ignore __attribute__((unused)), key;
{
rl_tilde_expand (0, key);
rl_vi_start_inserting (key, 1, rl_arg_sign);
@ -419,7 +419,7 @@ rl_vi_end_word (count, key)
/* Move forward a word the way that 'W' does. */
int
rl_vi_fWord (count, ignore)
int count, ignore;
int count, ignore __attribute__((unused));
{
while (count-- && rl_point < (rl_end - 1))
{
@ -436,7 +436,7 @@ rl_vi_fWord (count, ignore)
int
rl_vi_bWord (count, ignore)
int count, ignore;
int count, ignore __attribute__((unused));
{
while (count-- && rl_point > 0)
{
@ -460,7 +460,7 @@ rl_vi_bWord (count, ignore)
int
rl_vi_eWord (count, ignore)
int count, ignore;
int count, ignore __attribute__((unused));
{
while (count-- && rl_point < (rl_end - 1))
{
@ -491,7 +491,7 @@ rl_vi_eWord (count, ignore)
int
rl_vi_fword (count, ignore)
int count, ignore;
int count, ignore __attribute__((unused));
{
while (count-- && rl_point < (rl_end - 1))
{
@ -517,7 +517,7 @@ rl_vi_fword (count, ignore)
int
rl_vi_bword (count, ignore)
int count, ignore;
int count, ignore __attribute__((unused));
{
while (count-- && rl_point > 0)
{
@ -556,7 +556,7 @@ rl_vi_bword (count, ignore)
int
rl_vi_eword (count, ignore)
int count, ignore;
int count, ignore __attribute__((unused));
{
while (count-- && rl_point < rl_end - 1)
{
@ -581,7 +581,7 @@ rl_vi_eword (count, ignore)
int
rl_vi_insert_beg (count, key)
int count, key;
int count __attribute__((unused)), key;
{
rl_beg_of_line (1, key);
rl_vi_insertion_mode (1, key);
@ -610,7 +610,7 @@ _rl_vi_append_forward (key)
int
rl_vi_append_mode (count, key)
int count, key;
int count __attribute__((unused)), key;
{
_rl_vi_append_forward (key);
rl_vi_start_inserting (key, 1, rl_arg_sign);
@ -619,7 +619,7 @@ rl_vi_append_mode (count, key)
int
rl_vi_append_eol (count, key)
int count, key;
int count __attribute__((unused)), key;
{
rl_end_of_line (1, key);
rl_vi_append_mode (1, key);
@ -629,7 +629,7 @@ rl_vi_append_eol (count, key)
/* What to do in the case of C-d. */
int
rl_vi_eof_maybe (count, c)
int count, c;
int count __attribute__((unused)), c __attribute__((unused));
{
return (rl_newline (1, '\n'));
}
@ -640,7 +640,7 @@ rl_vi_eof_maybe (count, c)
switching keymaps. */
int
rl_vi_insertion_mode (count, key)
int count, key;
int count __attribute__((unused)), key;
{
_rl_keymap = vi_insertion_keymap;
_rl_vi_last_key_before_insert = key;
@ -703,7 +703,7 @@ _rl_vi_done_inserting ()
int
rl_vi_movement_mode (count, key)
int count, key;
int count __attribute__((unused)), key;
{
if (rl_point > 0)
rl_backward_char (1, key);
@ -783,7 +783,7 @@ _rl_vi_change_mbchar_case (count)
int
rl_vi_change_case (count, ignore)
int count, ignore;
int count, ignore __attribute__((unused));
{
int c, p;
@ -1031,7 +1031,7 @@ rl_digit_loop1 ()
int
rl_vi_delete_to (count, key)
int count, key;
int count __attribute__((unused)), key;
{
int c;
@ -1057,7 +1057,7 @@ rl_vi_delete_to (count, key)
int
rl_vi_change_to (count, key)
int count, key;
int count __attribute__((unused)), key;
{
int c, start_pos;
@ -1110,7 +1110,7 @@ rl_vi_change_to (count, key)
int
rl_vi_yank_to (count, key)
int count, key;
int count __attribute__((unused)), key;
{
int c, save;
@ -1202,7 +1202,7 @@ rl_vi_delete (count, key)
int
rl_vi_back_to_indent (count, key)
int count, key;
int count __attribute__((unused)), key;
{
rl_beg_of_line (1, key);
while (rl_point < rl_end && whitespace (rl_line_buffer[rl_point]))
@ -1212,7 +1212,7 @@ rl_vi_back_to_indent (count, key)
int
rl_vi_first_print (count, key)
int count, key;
int count __attribute__((unused)), key;
{
return (rl_vi_back_to_indent (1, key));
}
@ -1319,7 +1319,7 @@ rl_vi_char_search (count, key)
/* Match brackets */
int
rl_vi_match (ignore, key)
int ignore, key;
int ignore __attribute__((unused)), key;
{
int count = 1, brack, pos, tmp, pre;
@ -1426,7 +1426,7 @@ rl_vi_bracktype (c)
static int
_rl_vi_change_char (count, c, mb)
int count, c;
char *mb;
char *mb __attribute__((unused));
{
int p;
@ -1458,8 +1458,8 @@ _rl_vi_change_char (count, c, mb)
static int
_rl_vi_callback_getchar (mb, mlen)
char *mb;
int mlen;
char *mb __attribute__((unused));
int mlen __attribute__((unused));
{
int c;
@ -1494,7 +1494,7 @@ _rl_vi_callback_change_char (data)
int
rl_vi_change_char (count, key)
int count, key;
int count, key __attribute__((unused));
{
int c;
char mb[MB_LEN_MAX];
@ -1582,7 +1582,7 @@ rl_vi_overstrike_delete (count, key)
int
rl_vi_replace (count, key)
int count, key;
int count __attribute__((unused)), key __attribute__((unused));
{
int i;
@ -1663,7 +1663,7 @@ _rl_vi_set_mark ()
#if defined (READLINE_CALLBACKS)
static int
_rl_vi_callback_set_mark (data)
_rl_callback_generic_arg *data;
_rl_callback_generic_arg *data __attribute__((unused));
{
_rl_callback_func = 0;
_rl_want_redisplay = 1;
@ -1674,7 +1674,7 @@ _rl_vi_callback_set_mark (data)
int
rl_vi_set_mark (count, key)
int count, key;
int count __attribute__((unused)), key __attribute__((unused));
{
#if defined (READLINE_CALLBACKS)
if (RL_ISSTATE (RL_STATE_CALLBACK))
@ -1721,7 +1721,7 @@ _rl_vi_goto_mark ()
#if defined (READLINE_CALLBACKS)
static int
_rl_vi_callback_goto_mark (data)
_rl_callback_generic_arg *data;
_rl_callback_generic_arg *data __attribute__((unused));
{
_rl_callback_func = 0;
_rl_want_redisplay = 1;
@ -1732,7 +1732,7 @@ _rl_vi_callback_goto_mark (data)
int
rl_vi_goto_mark (count, key)
int count, key;
int count __attribute__((unused)), key __attribute__((unused));
{
#if defined (READLINE_CALLBACKS)
if (RL_ISSTATE (RL_STATE_CALLBACK))

View file

@ -231,16 +231,19 @@ esac
AC_DEFUN([MYSQL_CHECK_LIB_TERMCAP],
[
AC_CACHE_VAL(mysql_cv_termcap_lib,
[AC_CHECK_LIB(ncursesw, tgetent, mysql_cv_termcap_lib=libncursesw,
[AC_CHECK_LIB(ncurses, tgetent, mysql_cv_termcap_lib=libncurses,
[AC_CHECK_LIB(curses, tgetent, mysql_cv_termcap_lib=libcurses,
[AC_CHECK_LIB(termcap, tgetent, mysql_cv_termcap_lib=libtermcap,
[AC_CHECK_LIB(tinfo, tgetent, mysql_cv_termcap_lib=libtinfo,
mysql_cv_termcap_lib=NOT_FOUND)])])])])
mysql_cv_termcap_lib=NOT_FOUND)])])])])])
AC_MSG_CHECKING(for termcap functions library)
if test "$mysql_cv_termcap_lib" = "NOT_FOUND"; then
AC_MSG_ERROR([No curses/termcap library found])
elif test "$mysql_cv_termcap_lib" = "libtermcap"; then
TERMCAP_LIB=-ltermcap
elif test "$mysql_cv_termcap_lib" = "libncursesw"; then
TERMCAP_LIB=-lncursesw
elif test "$mysql_cv_termcap_lib" = "libncurses"; then
TERMCAP_LIB=-lncurses
elif test "$mysql_cv_termcap_lib" = "libtinfo"; then
@ -453,6 +456,10 @@ fi
AC_DEFUN([MYSQL_STACK_DIRECTION],
[AC_CACHE_CHECK(stack direction for C alloca, ac_cv_c_stack_direction,
[AC_TRY_RUN([#include <stdlib.h>
/* Prevent compiler optimization by HP's compiler, see bug#42213 */
#if defined(__HP_cc) || defined (__HP_aCC) || defined (__hpux)
#pragma noinline
#endif
int find_stack_direction ()
{
static char *addr = 0;

View file

@ -70,12 +70,16 @@ AC_CHECK_HEADERS(wctype.h)
AC_CHECK_HEADERS(wchar.h)
AC_CHECK_HEADERS(langinfo.h)
AC_CHECK_FUNC(mbsrtowcs, AC_DEFINE([HAVE_MBSRTOWCS],[],[Define if you have mbsrtowcs]))
AC_CHECK_FUNC(mbrtowc, AC_DEFINE([HAVE_MBRTOWC],[],[Define if you have mbrtowc]))
AC_CHECK_FUNC(mbrlen, AC_DEFINE([HAVE_MBRLEN],[],[Define if you have mbrlen]))
AC_CHECK_FUNC(wctomb, AC_DEFINE([HAVE_WCTOMB],[],[Define if you have wctomb]))
AC_CHECK_FUNC(wcwidth, AC_DEFINE([HAVE_WCWIDTH],[],[Define if you have wcwidth]))
AC_CHECK_FUNC(wcsdup, AC_DEFINE([HAVE_WCSDUP],[],[Define if you check wcsdup]))
AC_CHECK_FUNC(mbrlen, AC_DEFINE(HAVE_MBRLEN,[],[Define if you have mbrlen]))
AC_CHECK_FUNC(mbscmp, AC_DEFINE(HAVE_MBSCMP,[],[Define if you have mbscmp]))
AC_CHECK_FUNC(mbsrtowcs, AC_DEFINE(HAVE_MBSRTOWCS,[],[Define if you have mbsrtowcs]))
AC_CHECK_FUNC(wcrtomb, AC_DEFINE(HAVE_WCRTOMB,[],[Define if you have wcrtomb]))
AC_CHECK_FUNC(mbrtowc, AC_DEFINE(HAVE_MBRTOWC,[],[Define if you have mbrtowc]))
AC_CHECK_FUNC(wcscoll, AC_DEFINE(HAVE_WCSCOLL,[],[Define if you have wcscoll]))
AC_CHECK_FUNC(wcsdup, AC_DEFINE(HAVE_WCSDUP,[],[Define if you have wcsdup]))
AC_CHECK_FUNC(wcwidth, AC_DEFINE(HAVE_WCWIDTH,[],[Define if you have wcwidth]))
AC_CHECK_FUNC(wctype, AC_DEFINE(HAVE_WCTYPE,[],[Define if you have wctype]))
AC_CACHE_CHECK([for mbstate_t], mysql_cv_have_mbstate_t,
[AC_TRY_COMPILE([
@ -88,6 +92,8 @@ if test $mysql_cv_have_mbstate_t = yes; then
AC_DEFINE([HAVE_MBSTATE_T],[],[Define if mysql_cv_have_mbstate_t=yes])
fi
AC_CHECK_FUNCS(iswlower iswupper towlower towupper iswctype)
AC_CACHE_CHECK([for nl_langinfo and CODESET], mysql_cv_langinfo_codeset,
[AC_TRY_LINK(
[#include <langinfo.h>],
@ -97,4 +103,41 @@ if test $mysql_cv_langinfo_codeset = yes; then
AC_DEFINE([HAVE_LANGINFO_CODESET],[],[Define if mysql_cv_langinfo_codeset=yes])
fi
dnl check for wchar_t in <wchar.h>
AC_CACHE_CHECK([for wchar_t in wchar.h], bash_cv_type_wchar_t,
[AC_TRY_COMPILE(
[#include <wchar.h>
],
[
wchar_t foo;
foo = 0;
], bash_cv_type_wchar_t=yes, bash_cv_type_wchar_t=no)])
if test $bash_cv_type_wchar_t = yes; then
AC_DEFINE(HAVE_WCHAR_T, 1, [systems should define this type here])
fi
dnl check for wctype_t in <wctype.h>
AC_CACHE_CHECK([for wctype_t in wctype.h], bash_cv_type_wctype_t,
[AC_TRY_COMPILE(
[#include <wctype.h>],
[
wctype_t foo;
foo = 0;
], bash_cv_type_wctype_t=yes, bash_cv_type_wctype_t=no)])
if test $bash_cv_type_wctype_t = yes; then
AC_DEFINE(HAVE_WCTYPE_T, 1, [systems should define this type here])
fi
dnl check for wint_t in <wctype.h>
AC_CACHE_CHECK([for wint_t in wctype.h], bash_cv_type_wint_t,
[AC_TRY_COMPILE(
[#include <wctype.h>],
[
wint_t foo;
foo = 0;
], bash_cv_type_wint_t=yes, bash_cv_type_wint_t=no)])
if test $bash_cv_type_wint_t = yes; then
AC_DEFINE(HAVE_WINT_T, 1, [systems should define this type here])
fi
])

View file

@ -13,7 +13,7 @@ AC_CANONICAL_SYSTEM
#
# When merging new MySQL releases, update the version number to match the
# MySQL version number, but reset the maria subrelease (-beta1).
AM_INIT_AUTOMAKE(mysql, 5.1.35-maria-beta1)
AM_INIT_AUTOMAKE(mysql, 5.1.38-maria-beta1)
AM_CONFIG_HEADER([include/config.h:config.h.in])
PROTOCOL_VERSION=10
@ -605,10 +605,11 @@ AC_SUBST(NOINST_LDFLAGS)
# Check if we are using Linux and a glibc compiled with static nss
# (this is true on the MySQL build machines to avoid NSS problems)
#
AC_CHECK_TOOL([NM], [nm])
if test "$TARGET_LINUX" = "true" -a "$static_nss" = ""
then
tmp=`nm /usr/lib*/libc.a | grep _nss_files_getaliasent_r`
tmp=`$NM ${other_libc_lib:-/usr/lib*}/libc.a | grep _nss_files_getaliasent_r1`
if test -n "$tmp"
then
STATIC_NSS_FLAGS="-lc -lnss_files -lnss_dns -lresolv"
@ -1626,7 +1627,7 @@ esac
# Build optimized or debug version ?
# First check for gcc and g++
if test "$ac_cv_prog_gcc" = "yes"
if test "$GCC" = "yes"
then
DEBUG_CFLAGS="-g"
DEBUG_OPTIMIZE_CC="-O"
@ -1634,9 +1635,16 @@ then
else
DEBUG_CFLAGS="-g"
DEBUG_OPTIMIZE_CC=""
case $SYSTEM_TYPE in
*solaris*)
OPTIMIZE_CFLAGS="-O1"
;;
*)
OPTIMIZE_CFLAGS="-O"
;;
esac
fi
if test "$ac_cv_prog_cxx_g" = "yes"
if test "$GXX" = "yes"
then
DEBUG_CXXFLAGS="-g"
DEBUG_OPTIMIZE_CXX="-O"
@ -1644,7 +1652,14 @@ then
else
DEBUG_CXXFLAGS="-g"
DEBUG_OPTIMIZE_CXX=""
case $SYSTEM_TYPE in
*solaris*)
OPTIMIZE_CXXFLAGS="-O1"
;;
*)
OPTIMIZE_CXXFLAGS="-O"
;;
esac
fi
case $SYSTEM_TYPE in
@ -2088,6 +2103,25 @@ case "$mysql_cv_sys_os" in
# unsupported priority values are passed to pthread_setschedprio.
# Since the only supported value is 1, treat it as inexistent.
;;
SunOS) # Bug#42599 error: `pthread_setschedprio' was not declared in this scope
# In some installations, the pthread.h header used by GCC does not
# declare the pthread_setscheprio prototype, but the function is
# implemented. Since the function is used in C++ code, ensure that
# the function prototype is present.
AC_MSG_CHECKING([whether pthread_setschedprio is declared])
AC_LANG_PUSH([C++])
AC_COMPILE_IFELSE([
AC_LANG_PROGRAM([#include <pthread.h>],
[(void)(pthread_setschedprio);])],
[ac_cv_func_pthread_setschedprio=yes],
[ac_cv_func_pthread_setschedprio=no])
AC_LANG_POP([C++])
AC_MSG_RESULT([$ac_cv_func_pthread_setschedprio])
if test "$ac_cv_func_pthread_setschedprio" = yes; then
AC_DEFINE(HAVE_PTHREAD_SETSCHEDPRIO, 1,
[Define to 1 if you have the `pthread_setschedprio' function.])
fi
;;
*) AC_CHECK_FUNCS(pthread_setschedprio)
;;
esac
@ -2097,6 +2131,27 @@ esac
AC_MSG_CHECKING(for isinf in <math.h>)
AC_TRY_LINK([#include <math.h>], [float f = 0.0; int r = isinf(f); return r],
AC_MSG_RESULT(yes)
AC_MSG_CHECKING(whether isinf() is safe to use in C code)
AC_TRY_RUN([
#include <math.h>
int main()
{
double a= 10.0;
double b= 1e308;
return !isinf(a * b);
}
],
[AC_MSG_RESULT(yes)],
[AC_MSG_RESULT(no)
AC_DEFINE([HAVE_BROKEN_ISINF], [1],
[Define to 1 if isinf() uses 80-bit register for intermediate values])
],
[
# Let's be optimistic when cross-compiling, since the only compiler known
# to be affected by this isinf() bug is GCC 4.3 on 32-bit x86.
AC_MSG_RESULT([[cross-compiling, assuming 'yes']])
])
AC_MSG_CHECKING(whether isinf() can be used in C++ code)
AC_LANG_SAVE
AC_LANG_CPLUSPLUS

View file

@ -32,6 +32,7 @@
.\" === Set line length
.\".ll 6.5i
.TL
.warn 0
D B U G
.P 0
C Program Debugging Package

View file

@ -224,7 +224,7 @@ int main(int argc, char **argv)
}
else if (verbose)
{
printf("file %s= %llu bytes (%lu pages)...\n", argv[1], size, pages);
printf("file %s = %llu bytes (%lu pages)...\n", argv[optind], size, pages);
printf("checking pages in range %lu to %lu\n", start_page, use_end_page ? end_page : (pages - 1));
}

View file

@ -115,7 +115,7 @@ static void usage(void)
{
print_version();
puts("This software comes with ABSOLUTELY NO WARRANTY. This is free software,\nand you are welcome to modify and redistribute it under the GPL license\n");
printf("Print a description for a system error code or an error code from\na MyISAM/ISAM/BDB table handler.\n");
printf("Print a description for a system error code or a MySQL error code.\n");
printf("If you want to get the error for a negative error code, you should use\n-- before the first error code to tell perror that there was no more options.\n\n");
printf("Usage: %s [OPTIONS] [ERRORCODE [ERRORCODE...]]\n",my_progname);
my_print_help(my_long_options);

View file

@ -789,7 +789,8 @@ void processReply(SSL& ssl)
{
if (ssl.GetError()) return;
if (DoProcessReply(ssl)) {
if (DoProcessReply(ssl))
{
// didn't complete process
if (!ssl.getSocket().IsNonBlocking()) {
// keep trying now, blocking ok
@ -873,7 +874,8 @@ void sendServerKeyExchange(SSL& ssl, BufferOutput buffer)
// send change cipher
void sendChangeCipher(SSL& ssl, BufferOutput buffer)
{
if (ssl.getSecurity().get_parms().entity_ == server_end) {
if (ssl.getSecurity().get_parms().entity_ == server_end)
{
if (ssl.getSecurity().get_resuming())
ssl.verifyState(clientKeyExchangeComplete);
else

View file

@ -95,7 +95,8 @@ inline void Mode_BASE::Process(byte* out, const byte* in, word32 sz)
{
if (mode_ == ECB)
ECB_Process(out, in, sz);
else if (mode_ == CBC) {
else if (mode_ == CBC)
{
if (dir_ == ENCRYPTION)
CBC_Encrypt(out, in, sz);
else

View file

@ -780,7 +780,8 @@ void CertDecoder::GetDate(DateType dt)
memcpy(date, source_.get_current(), length);
source_.advance(length);
if (!ValidateDate(date, b, dt) && verify_) {
if (!ValidateDate(date, b, dt) && verify_)
{
if (dt == BEFORE)
source_.SetError(BEFORE_DATE_E);
else
@ -1062,7 +1063,8 @@ word32 DecodeDSA_Signature(byte* decoded, const byte* encoded, word32 sz)
return 0;
}
word32 rLen = GetLength(source);
if (rLen != 20) {
if (rLen != 20)
{
if (rLen == 21) { // zero at front, eat
source.next();
--rLen;
@ -1085,7 +1087,8 @@ word32 DecodeDSA_Signature(byte* decoded, const byte* encoded, word32 sz)
return 0;
}
word32 sLen = GetLength(source);
if (sLen != 20) {
if (sLen != 20)
{
if (sLen == 21) {
source.next(); // zero at front, eat
--sLen;

View file

@ -131,7 +131,7 @@ extern "C" {
#define DEFAULT_BASEDIR "sys:/"
#define SHAREDIR "share/"
#define DEFAULT_CHARSET_HOME "sys:/mysql/"
#define DATADIR "data/"
#define MYSQL_DATADIR "data/"
/* 64-bit file system calls */
#define SIZEOF_OFF_T 8

View file

@ -17,15 +17,6 @@
#define BIG_TABLES
#ifdef __WIN2000__
/* We have to do this define before including windows.h to get the AWE API
functions */
#define _WIN32_WINNT 0x0500
#else
/* Get NT 4.0 functions */
#define _WIN32_WINNT 0x0400
#endif
#if defined(_MSC_VER) && _MSC_VER >= 1400
/* Avoid endless warnings about sprintf() etc. being unsafe. */
#define _CRT_SECURE_NO_DEPRECATE 1
@ -354,13 +345,15 @@ inline ulonglong double2ulonglong(double d)
#ifdef _CUSTOMCONFIG_
#include <custom_conf.h>
#else
#ifndef CMAKE_CONFIGD
#define DEFAULT_MYSQL_HOME "c:\\mysql"
#define DATADIR "c:\\mysql\\data"
#define MYSQL_DATADIR "c:\\mysql\\data"
#define PACKAGE "mysql"
#define DEFAULT_BASEDIR "C:\\"
#define SHAREDIR "share"
#define DEFAULT_CHARSET_HOME "C:/mysql/"
#endif
#endif
#ifndef DEFAULT_HOME_ENV
#define DEFAULT_HOME_ENV MYSQL_HOME
#endif

View file

@ -108,7 +108,7 @@ my_bool my_hash_check(HASH *hash); /* Only in debug library */
my_bool my_hash_iterate(HASH *hash, my_hash_walk_action action, void *argument);
#define my_hash_clear(H) bzero((char*) (H), sizeof(*(H)))
#define my_hash_inited(H) ((H)->array.buffer != 0)
#define my_hash_inited(H) ((H)->blength != 0)
#define my_hash_init_opt(A,B,C,D,E,F,G,H) \
(!my_hash_inited(A) && _my_hash_init(A,0,B,C,D,E,F,G, H CALLER_INFO))

View file

@ -286,7 +286,7 @@ typedef struct charset_info_st
#define ILLEGAL_CHARSET_INFO_NUMBER (~0U)
extern CHARSET_INFO my_charset_bin;
extern MYSQL_PLUGIN_IMPORT CHARSET_INFO my_charset_bin;
extern CHARSET_INFO my_charset_big5_chinese_ci;
extern CHARSET_INFO my_charset_big5_bin;
extern CHARSET_INFO my_charset_cp932_japanese_ci;
@ -299,7 +299,7 @@ extern CHARSET_INFO my_charset_gb2312_chinese_ci;
extern CHARSET_INFO my_charset_gb2312_bin;
extern CHARSET_INFO my_charset_gbk_chinese_ci;
extern CHARSET_INFO my_charset_gbk_bin;
extern CHARSET_INFO my_charset_latin1;
extern MYSQL_PLUGIN_IMPORT CHARSET_INFO my_charset_latin1;
extern CHARSET_INFO my_charset_latin1_german2_ci;
extern CHARSET_INFO my_charset_latin1_bin;
extern CHARSET_INFO my_charset_latin2_czech_ci;
@ -316,7 +316,7 @@ extern CHARSET_INFO my_charset_utf8_general_ci;
extern CHARSET_INFO my_charset_utf8_unicode_ci;
extern CHARSET_INFO my_charset_utf8_bin;
extern CHARSET_INFO my_charset_cp1250_czech_ci;
extern CHARSET_INFO my_charset_filename;
extern MYSQL_PLUGIN_IMPORT CHARSET_INFO my_charset_filename;
/* declarations for simple charsets */
extern size_t my_strnxfrm_simple(CHARSET_INFO *, uchar *, size_t,

View file

@ -450,7 +450,8 @@ enum ha_base_keytype {
#define HA_ERR_FILE_TOO_SHORT 175 /* File too short */
#define HA_ERR_WRONG_CRC 176 /* Wrong CRC on page */
#define HA_ERR_ROW_NOT_VISIBLE 177
#define HA_ERR_LAST 177 /* Copy of last error nr */
#define HA_ERR_TOO_MANY_CONCURRENT_TRXS 178 /*Too many active concurrent transactions */
#define HA_ERR_LAST 178 /* Copy of last error nr */
/* Number of different errors */
#define HA_ERR_ERRORS (HA_ERR_LAST - HA_ERR_FIRST + 1)

View file

@ -281,7 +281,7 @@
#endif
/* The client defines this to avoid all thread code */
#if defined(UNDEF_THREADS_HACK)
#if defined(MYSQL_CLIENT_NO_THREADS) || defined(UNDEF_THREADS_HACK)
#undef THREAD
#undef HAVE_LINUXTHREADS
#undef HAVE_NPTL
@ -594,40 +594,6 @@ typedef unsigned short ushort;
#define test_all_bits(a,b) (((a) & (b)) == (b))
#define set_bits(type, bit_count) (sizeof(type)*8 <= (bit_count) ? ~(type) 0 : ((((type) 1) << (bit_count)) - (type) 1))
#define array_elements(A) ((uint) (sizeof(A)/sizeof(A[0])))
#ifndef HAVE_RINT
/**
All integers up to this number can be represented exactly as double precision
values (DBL_MANT_DIG == 53 for IEEE 754 hardware).
*/
#define MAX_EXACT_INTEGER ((1LL << DBL_MANT_DIG) - 1)
/**
rint(3) implementation for platforms that do not have it.
Always rounds to the nearest integer with ties being rounded to the nearest
even integer to mimic glibc's rint() behavior in the "round-to-nearest"
FPU mode. Hardware-specific optimizations are possible (frndint on x86).
Unlike this implementation, hardware will also honor the FPU rounding mode.
*/
static inline double rint(double x)
{
double f, i;
f = modf(x, &i);
/*
All doubles with absolute values > MAX_EXACT_INTEGER are even anyway,
no need to check it.
*/
if (x > 0.0)
i += (double) ((f > 0.5) || (f == 0.5 &&
i <= (double) MAX_EXACT_INTEGER &&
(longlong) i % 2));
else
i -= (double) ((f < -0.5) || (f == -0.5 &&
i >= (double) -MAX_EXACT_INTEGER &&
(longlong) i % 2));
return i;
}
#endif /* HAVE_RINT */
/* Define some general constants */
#ifndef TRUE
@ -920,10 +886,20 @@ typedef SOCKET_SIZE_TYPE size_socket;
#endif
#ifdef HAVE_ISINF
/* isinf() can be used in both C and C++ code */
#define my_isinf(X) isinf(X)
/* Check if C compiler is affected by GCC bug #39228 */
#if !defined(__cplusplus) && defined(HAVE_BROKEN_ISINF)
/* Force store/reload of the argument to/from a 64-bit double */
static inline double my_isinf(double x)
{
volatile double t= x;
return isinf(t);
}
#else
#define my_isinf(X) (!isfinite(X) && !isnan(X))
/* System-provided isinf() is available and safe to use */
#define my_isinf(X) isinf(X)
#endif
#else /* !HAVE_ISINF */
#define my_isinf(X) (!finite(X) && !isnan(X))
#endif
/* Define missing math constants. */
@ -949,6 +925,7 @@ typedef long long my_ptrdiff_t;
#define MY_ALIGN(A,L) (((A) + (L) - 1) & ~((L) - 1))
#define ALIGN_SIZE(A) MY_ALIGN((A),sizeof(double))
#define ALIGN_MAX_UNIT (sizeof(double))
/* Size to make adressable obj. */
#define ALIGN_PTR(A, t) ((t*) MY_ALIGN((A), sizeof(double)))
#define OFFSET(t, f) ((size_t)(char *)&((t *)0)->f)
@ -1582,6 +1559,54 @@ inline void operator delete[](void*, void*) { /* Do nothing */ }
#define bool In_C_you_should_use_my_bool_instead()
#endif
#ifndef HAVE_RINT
/**
All integers up to this number can be represented exactly as double precision
values (DBL_MANT_DIG == 53 for IEEE 754 hardware).
*/
#define MAX_EXACT_INTEGER ((1LL << DBL_MANT_DIG) - 1)
/**
rint(3) implementation for platforms that do not have it.
Always rounds to the nearest integer with ties being rounded to the nearest
even integer to mimic glibc's rint() behavior in the "round-to-nearest"
FPU mode. Hardware-specific optimizations are possible (frndint on x86).
Unlike this implementation, hardware will also honor the FPU rounding mode.
*/
static inline double rint(double x)
{
double f, i;
f = modf(x, &i);
/*
All doubles with absolute values > MAX_EXACT_INTEGER are even anyway,
no need to check it.
*/
if (x > 0.0)
i += (double) ((f > 0.5) || (f == 0.5 &&
i <= (double) MAX_EXACT_INTEGER &&
(longlong) i % 2));
else
i -= (double) ((f < -0.5) || (f == -0.5 &&
i >= (double) -MAX_EXACT_INTEGER &&
(longlong) i % 2));
return i;
}
#endif /* HAVE_RINT */
/*
MYSQL_PLUGIN_IMPORT macro is used to export mysqld data
(i.e variables) for usage in storage engine loadable plugins.
Outside of Windows, it is dummy.
*/
#ifndef MYSQL_PLUGIN_IMPORT
#if (defined(_WIN32) && defined(MYSQL_DYNAMIC_PLUGIN))
#define MYSQL_PLUGIN_IMPORT __declspec(dllimport)
#else
#define MYSQL_PLUGIN_IMPORT
#endif
#endif
/* Provide __func__ macro definition for platforms that miss it. */
#if __STDC_VERSION__ < 199901L
# if __GNUC__ >= 2

View file

@ -229,8 +229,8 @@ extern uint my_large_page_size;
#endif
/* charsets */
extern CHARSET_INFO *default_charset_info;
extern CHARSET_INFO *all_charsets[256];
extern MYSQL_PLUGIN_IMPORT CHARSET_INFO *default_charset_info;
extern MYSQL_PLUGIN_IMPORT CHARSET_INFO *all_charsets[256];
extern CHARSET_INFO compiled_charsets[];
/* statistics */
@ -245,8 +245,8 @@ extern void (*my_sigtstp_cleanup)(void),
(*my_sigtstp_restart)(void),
(*my_abort_hook)(int);
/* Executed when comming from shell */
extern int NEAR my_umask, /* Default creation mask */
NEAR my_umask_dir,
extern MYSQL_PLUGIN_IMPORT int NEAR my_umask; /* Default creation mask */
extern int NEAR my_umask_dir,
NEAR my_recived_signals, /* Signals we have got */
NEAR my_safe_to_handle_signal, /* Set when allowed to SIGTSTP */
NEAR my_dont_interrupt; /* call remember_intr when set */
@ -525,7 +525,7 @@ typedef int (*qsort2_cmp)(const void *, const void *, const void *);
((info)->write_pos + (Count) <=(info)->write_end ?\
(memcpy((info)->write_pos, (Buffer), (size_t)(Count)),\
((info)->write_pos+=(Count)),0) : \
(*(info)->write_function)((info),(Buffer),(Count)))
(*(info)->write_function)((info),(uchar *)(Buffer),(Count)))
#define my_b_get(info) \
((info)->read_pos != (info)->read_end ?\

View file

@ -138,8 +138,8 @@ typedef struct st_handler_check_param
/* Following is used to check if rows are visible */
ulonglong max_trid, max_found_trid;
ulonglong not_visible_rows_found;
size_t use_buffers, read_buffer_length, write_buffer_length;
ulonglong use_buffers; /* Used as param to getopt() */
size_t read_buffer_length, write_buffer_length;
size_t sort_buffer_length, sort_key_blocks;
ulong rec_per_key_part[HA_MAX_KEY_SEG * HA_MAX_POSSIBLE_KEY];
double new_rec_per_key_part[HA_MAX_KEY_SEG * HA_MAX_POSSIBLE_KEY];

View file

@ -47,6 +47,7 @@ typedef struct st_mymerge_info /* Struct from h_info */
ulonglong deleted; /* Deleted records in database */
ulonglong recpos; /* Pos for last used record */
ulonglong data_file_length;
ulonglong dupp_key_pos; /* Offset of the Duplicate key in the merge table */
uint reclength; /* Recordlength */
int errkey; /* With key was dupplicated on err */
uint options; /* HA_OPTION_... used */
@ -88,7 +89,8 @@ extern MYRG_INFO *myrg_parent_open(const char *parent_name,
void *callback_param);
extern int myrg_attach_children(MYRG_INFO *m_info, int handle_locking,
MI_INFO *(*callback)(void*),
void *callback_param);
void *callback_param,
my_bool *need_compat_check);
extern int myrg_detach_children(MYRG_INFO *m_info);
extern int myrg_panic(enum ha_panic_function function);
extern int myrg_rfirst(MYRG_INFO *file,uchar *buf,int inx);

View file

@ -16,6 +16,16 @@
#ifndef _my_plugin_h
#define _my_plugin_h
/*
On Windows, exports from DLL need to be declared
*/
#if (defined(_WIN32) && defined(MYSQL_DYNAMIC_PLUGIN))
#define MYSQL_PLUGIN_EXPORT extern "C" __declspec(dllexport)
#else
#define MYSQL_PLUGIN_EXPORT
#endif
#ifdef __cplusplus
class THD;
class Item;
@ -90,9 +100,9 @@ int PSIZE= sizeof(struct st_mysql_plugin); \
struct st_mysql_plugin DECLS[]= {
#else
#define __MYSQL_DECLARE_PLUGIN(NAME, VERSION, PSIZE, DECLS) \
int _mysql_plugin_interface_version_= MYSQL_PLUGIN_INTERFACE_VERSION; \
int _mysql_sizeof_struct_st_plugin_= sizeof(struct st_mysql_plugin); \
struct st_mysql_plugin _mysql_plugin_declarations_[]= {
MYSQL_PLUGIN_EXPORT int _mysql_plugin_interface_version_= MYSQL_PLUGIN_INTERFACE_VERSION; \
MYSQL_PLUGIN_EXPORT int _mysql_sizeof_struct_st_plugin_= sizeof(struct st_mysql_plugin); \
MYSQL_PLUGIN_EXPORT struct st_mysql_plugin _mysql_plugin_declarations_[]= {
#endif
#define mysql_declare_plugin(NAME) \

View file

@ -27,6 +27,10 @@ extern "C" {
struct st_thr_lock;
extern ulong locks_immediate,locks_waited ;
/*
Important: if a new lock type is added, a matching lock description
must be added to sql_test.cc's lock_descriptions array.
*/
enum thr_lock_type { TL_IGNORE=-1,
TL_UNLOCK, /* UNLOCK ANY LOCK */
/*

View file

@ -110,6 +110,14 @@ typedef my_socket YASSL_SOCKET_T;
#include <openssl/ssl.h>
#include <openssl/err.h>
enum enum_ssl_init_error
{
SSL_INITERR_NOERROR= 0, SSL_INITERR_CERT, SSL_INITERR_KEY,
SSL_INITERR_NOMATCH, SSL_INITERR_BAD_PATHS, SSL_INITERR_CIPHERS,
SSL_INITERR_MEMFAIL, SSL_INITERR_LASTERR
};
const char* sslGetErrString(enum enum_ssl_init_error err);
struct st_VioSSLFd
{
SSL_CTX *ssl_context;
@ -125,7 +133,7 @@ struct st_VioSSLFd
struct st_VioSSLFd
*new_VioSSLAcceptorFd(const char *key_file, const char *cert_file,
const char *ca_file,const char *ca_path,
const char *cipher);
const char *cipher, enum enum_ssl_init_error* error);
void free_vio_ssl_acceptor_fd(struct st_VioSSLFd *fd);
#endif /* HAVE_OPENSSL */

View file

@ -21,7 +21,7 @@
# This file is public domain and comes with NO WARRANTY of any kind
target = libmysqlclient.la
target_defs = -DUNDEF_THREADS_HACK -DDONT_USE_RAID @LIB_EXTRA_CCFLAGS@
target_defs = -DMYSQL_CLIENT_NO_THREADS -DDONT_USE_RAID @LIB_EXTRA_CCFLAGS@
LIBS = @CLIENT_LIBS@
INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include \
$(openssl_includes) @ZLIB_INCLUDES@
@ -104,7 +104,7 @@ do-lib-dist:
echo "# A very minimal Makefile to compile" > $$dir/Makefile; \
echo "# the minimized libmysql library" >> $$dir/Makefile; \
echo "# This file is autogenerated from Makefile.am" >> $$dir/Makefile; \
echo 'CFLAGS= -I. -DUNDEF_THREADS_HACK' >>$$dir/Makefile; \
echo 'CFLAGS= -I. -DMYSQL_CLIENT_NO_THREADS' >>$$dir/Makefile; \
echo "obj=$$objs" >>$$dir/Makefile; \
echo 'all: libmysql.a' >>$$dir/Makefile; \
echo 'libmysql.a: $$(obj)' >>$$dir/Makefile; \

View file

@ -86,7 +86,7 @@ BUILT_SOURCES = link_sources
CLEANFILES = $(target_libadd) $(SHLIBOBJS) \
$(target) $(BUILT_SOURCES)
DEFS = -DDEFAULT_CHARSET_HOME="\"$(MYSQLBASEdir)\"" \
-DDATADIR="\"$(MYSQLDATAdir)\"" \
-DMYSQL_DATADIR="\"$(MYSQLDATAdir)\"" \
-DDEFAULT_HOME_ENV=MYSQL_HOME \
-DDEFAULT_GROUP_SUFFIX_ENV=MYSQL_GROUP_SUFFIX \
-DDEFAULT_SYSCONFDIR="\"$(sysconfdir)\"" \

View file

@ -87,70 +87,13 @@ FOREACH(rpath ${VIO_SOURCES})
SET(LIB_SOURCES ${LIB_SOURCES} ../vio/${rpath})
ENDFOREACH(rpath)
# Engines
INCLUDE(${CMAKE_SOURCE_DIR}/storage/heap/CMakeLists.txt)
FOREACH(rpath ${HEAP_SOURCES})
SET(LIB_SOURCES ${LIB_SOURCES} ../storage/heap/${rpath})
FOREACH (ENGINE_LIB ${MYSQLD_STATIC_ENGINE_LIBS})
INCLUDE(${CMAKE_SOURCE_DIR}/storage/${ENGINE_LIB}/CMakeLists.txt)
STRING(TOUPPER ${ENGINE_LIB} ENGINE_LIB_UPPER)
FOREACH(rpath ${${ENGINE_LIB_UPPER}_SOURCES})
SET(LIB_SOURCES ${LIB_SOURCES} ${CMAKE_SOURCE_DIR}/storage/${ENGINE_LIB}/${rpath})
ENDFOREACH(rpath)
INCLUDE(${CMAKE_SOURCE_DIR}/storage/myisam/CMakeLists.txt)
FOREACH(rpath ${MYISAM_SOURCES})
SET(LIB_SOURCES ${LIB_SOURCES} ../storage/myisam/${rpath})
ENDFOREACH(rpath)
INCLUDE(${CMAKE_SOURCE_DIR}/storage/myisammrg/CMakeLists.txt)
FOREACH(rpath ${MYISAMMRG_SOURCES})
SET(LIB_SOURCES ${LIB_SOURCES} ../storage/myisammrg/${rpath})
ENDFOREACH(rpath)
IF(WITH_ARCHIVE_STORAGE_ENGINE)
INCLUDE(${CMAKE_SOURCE_DIR}/storage/archive/CMakeLists.txt)
FOREACH(rpath ${ARCHIVE_SOURCES})
SET(LIB_SOURCES ${LIB_SOURCES} ../storage/archive/${rpath})
ENDFOREACH(rpath)
ENDIF(WITH_ARCHIVE_STORAGE_ENGINE)
IF(WITH_BLACKHOLE_STORAGE_ENGINE)
INCLUDE(${CMAKE_SOURCE_DIR}/storage/blackhole/CMakeLists.txt)
FOREACH(rpath ${BLACKHOLE_SOURCES})
SET(LIB_SOURCES ${LIB_SOURCES} ../storage/blackhole/${rpath})
ENDFOREACH(rpath)
ENDIF(WITH_BLACKHOLE_STORAGE_ENGINE)
IF(WITH_EXAMPLE_STORAGE_ENGINE)
INCLUDE(${CMAKE_SOURCE_DIR}/storage/example/CMakeLists.txt)
FOREACH(rpath ${EXAMPLE_SOURCES})
SET(LIB_SOURCES ${LIB_SOURCES} ../storage/example/${rpath})
ENDFOREACH(rpath)
ENDIF(WITH_EXAMPLE_STORAGE_ENGINE)
IF(WITH_FEDERATED_STORAGE_ENGINE)
INCLUDE(${CMAKE_SOURCE_DIR}/storage/federated/CMakeLists.txt)
FOREACH(rpath ${FEDERATED_SOURCES})
SET(LIB_SOURCES ${LIB_SOURCES} ../storage/federated/${rpath})
ENDFOREACH(rpath)
ENDIF(WITH_FEDERATED_STORAGE_ENGINE)
IF(WITH_INNOBASE_STORAGE_ENGINE)
INCLUDE(${CMAKE_SOURCE_DIR}/storage/xtradb/CMakeLists.txt)
FOREACH(rpath ${INNOBASE_SOURCES})
SET(LIB_SOURCES ${LIB_SOURCES} ../storage/xtradb/${rpath})
ENDFOREACH(rpath)
ENDIF(WITH_INNOBASE_STORAGE_ENGINE)
IF(WITH_CSV_STORAGE_ENGINE)
INCLUDE(${CMAKE_SOURCE_DIR}/storage/csv/CMakeLists.txt)
FOREACH(rpath ${CSV_SOURCES})
SET(LIB_SOURCES ${LIB_SOURCES} ../storage/csv/${rpath})
ENDFOREACH(rpath)
ENDIF(WITH_CSV_STORAGE_ENGINE)
IF(WITH_MARIA_STORAGE_ENGINE)
INCLUDE(${CMAKE_SOURCE_DIR}/storage/maria/CMakeLists.txt)
FOREACH(rpath ${MARIA_SOURCES})
SET(LIB_SOURCES ${LIB_SOURCES} ../storage/maria/${rpath})
ENDFOREACH(rpath)
ENDIF(WITH_MARIA_STORAGE_ENGINE)
ENDFOREACH(ENGINE_LIB)
SET(SOURCE_SUBLIBS FALSE)

View file

@ -26,7 +26,7 @@ pkgplugindir = $(pkglibdir)/plugin
EXTRA_DIST = libmysqld.def CMakeLists.txt
DEFS = -DEMBEDDED_LIBRARY -DMYSQL_SERVER \
-DDEFAULT_MYSQL_HOME="\"$(MYSQLBASEdir)\"" \
-DDATADIR="\"$(MYSQLDATAdir)\"" \
-DMYSQL_DATADIR="\"$(MYSQLDATAdir)\"" \
-DSHAREDIR="\"$(MYSQLSHAREdir)\"" \
-DPLUGINDIR="\"$(pkgplugindir)\""
INCLUDES= -I$(top_builddir)/include -I$(top_srcdir)/include \

View file

@ -79,4 +79,4 @@ public:
uint emb_count_querycache_size(THD *thd);
int emb_load_querycache_result(THD *thd, Querycache_stream *src);
void emb_store_querycache_result(Querycache_stream *dst, THD* thd);
void net_send_eof(THD *thd, uint server_status, uint total_warn_count);
bool net_send_eof(THD *thd, uint server_status, uint total_warn_count);

View file

@ -803,11 +803,11 @@ MYSQL_DATA *THD::alloc_new_dataset()
*/
static
void
bool
write_eof_packet(THD *thd, uint server_status, uint total_warn_count)
{
if (!thd->mysql) // bootstrap file handling
return;
return FALSE;
/*
The following test should never be true, but it's better to do it
because if 'is_fatal_error' is set the server is not going to execute
@ -822,6 +822,7 @@ write_eof_packet(THD *thd, uint server_status, uint total_warn_count)
*/
thd->cur_data->embedded_info->warning_count=
(thd->spcont ? 0 : min(total_warn_count, 65535));
return FALSE;
}
@ -1032,31 +1033,34 @@ bool Protocol_binary::write()
@sa Server implementation of net_send_ok in protocol.cc for
description of the arguments.
@return The function does not return errors.
@return
@retval TRUE An error occurred
@retval FALSE Success
*/
void
bool
net_send_ok(THD *thd,
uint server_status, uint total_warn_count,
ha_rows affected_rows, ulonglong id, const char *message)
{
DBUG_ENTER("emb_net_send_ok");
MYSQL_DATA *data;
bool error;
MYSQL *mysql= thd->mysql;
if (!mysql) // bootstrap file handling
DBUG_VOID_RETURN;
DBUG_RETURN(FALSE);
if (!(data= thd->alloc_new_dataset()))
return;
return TRUE;
data->embedded_info->affected_rows= affected_rows;
data->embedded_info->insert_id= id;
if (message)
strmake(data->embedded_info->info, message,
sizeof(data->embedded_info->info)-1);
write_eof_packet(thd, server_status, total_warn_count);
error= write_eof_packet(thd, server_status, total_warn_count);
thd->cur_data= 0;
DBUG_VOID_RETURN;
DBUG_RETURN(error);
}
@ -1065,27 +1069,41 @@ net_send_ok(THD *thd,
@sa net_send_ok
@return This function does not return errors.
@return
@retval TRUE An error occurred
@retval FALSE Success
*/
void
bool
net_send_eof(THD *thd, uint server_status, uint total_warn_count)
{
write_eof_packet(thd, server_status, total_warn_count);
bool error= write_eof_packet(thd, server_status, total_warn_count);
thd->cur_data= 0;
return error;
}
void net_send_error_packet(THD *thd, uint sql_errno, const char *err)
bool net_send_error_packet(THD *thd, uint sql_errno, const char *err)
{
MYSQL_DATA *data= thd->cur_data ? thd->cur_data : thd->alloc_new_dataset();
struct embedded_query_result *ei= data->embedded_info;
MYSQL_DATA *data= thd->cur_data;
struct embedded_query_result *ei;
if (!thd->mysql) // bootstrap file handling
{
fprintf(stderr, "ERROR: %d %s\n", sql_errno, err);
return TRUE;
}
if (!data)
data= thd->alloc_new_dataset();
ei= data->embedded_info;
ei->last_errno= sql_errno;
strmake(ei->info, err, sizeof(ei->info)-1);
strmov(ei->sqlstate, mysql_errno_to_sqlstate(sql_errno));
ei->server_status= thd->server_status;
thd->cur_data= 0;
return FALSE;
}

View file

@ -23,7 +23,7 @@ EXTRA_DIST = $(man1_MANS) $(man8_MANS)
# "make_win_*" are not needed in Unix binary packages,
install-data-hook:
rm -f $(DESTDIR)$(manlibdir)/man1/make_win_*
rm -f $(DESTDIR)$(mandir)/man1/make_win_*
# Don't update the files from bitkeeper
%::SCCS/s.%

View file

@ -1,137 +1,262 @@
'\" t
.\" Title: \fBcomp_err\fR
.\" Author:
.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
.\" Date: 03/31/2009
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009
.\" Manual: MySQL Database System
.\" Source: MySQL 5.1
.\" Language: English
.\"
.TH "\fBCOMP_ERR\fR" "1" "03/31/2009" "MySQL 5.1" "MySQL Database System"
.TH "\FBCOMP_ERR\FR" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System"
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.\" comp_err
.SH "NAME"
comp_err \- compile MySQL error message file
.SH "SYNOPSIS"
.HP 19
.HP \w'\fBcomp_err\ [\fR\fB\fIoptions\fR\fR\fB]\fR\ 'u
\fBcomp_err [\fR\fB\fIoptions\fR\fR\fB]\fR
.SH "DESCRIPTION"
.PP
\fBcomp_err\fR
creates the
\fIerrmsg.sys\fR
errmsg\&.sys
file that is used by
\fBmysqld\fR
to determine the error messages to display for different error codes.
to determine the error messages to display for different error codes\&.
\fBcomp_err\fR
normally is run automatically when MySQL is built. It compiles the
\fIerrmsg.sys\fR
normally is run automatically when MySQL is built\&. It compiles the
errmsg\&.sys
file from the plaintext file located at
\fIsql/share/errmsg.txt\fR
in MySQL source distributions.
sql/share/errmsg\&.txt
in MySQL source distributions\&.
.PP
\fBcomp_err\fR
also generates
\fImysqld_error.h\fR,
\fImysqld_ername.h\fR, and
\fIsql_state.h\fR
header files.
mysqld_error\&.h,
mysqld_ername\&.h, and
sql_state\&.h
header files\&.
.PP
For more information about how error messages are defined, see the MySQL Internals Manual.
For more information about how error messages are defined, see the MySQL Internals Manual\&.
.PP
Invoke
\fBcomp_err\fR
like this:
.sp
.RS 3n
.if n \{\
.RS 4
.\}
.nf
shell> \fBcomp_err [\fR\fB\fIoptions\fR\fR\fB]\fR
.fi
.if n \{\
.RE
.\}
.PP
\fBcomp_err\fR
understands the options described in the following list.
.TP 3n
\(bu
supports the options described in the following list\&.
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" comp_err: help option
.\" help option: comp_err
\fB\-\-help\fR,
\fB\-?\fR
.sp
Display a help message and exit.
.TP 3n
\(bu
Display a help message and exit\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" comp_err: charset option
.\" charset option: comp_err
\fB\-\-charset=\fR\fB\fIpath\fR\fR\fB, \-C \fR\fB\fIpath\fR\fR
.sp
The character set directory. The default is
\fI../sql/share/charsets\fR.
.TP 3n
\(bu
The character set directory\&. The default is
\&.\&./sql/share/charsets\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" comp_err: debug option
.\" debug option: comp_err
\fB\-\-debug=\fR\fB\fIdebug_options\fR\fR\fB, \-# \fR\fB\fIdebug_options\fR\fR
.sp
Write a debugging log. The
Write a debugging log\&. A typical
\fIdebug_options\fR
string often is
\'d:t:O,\fIfile_name\fR'. The default is
\'d:t:O,/tmp/comp_err.trace'.
.TP 3n
\(bu
string is
\'d:t:O,\fIfile_name\fR\'\&. The default is
\'d:t:O,/tmp/comp_err\&.trace\'\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" comp_err: debug-info option
.\" debug-info option: comp_err
\fB\-\-debug\-info\fR,
\fB\-T\fR
.sp
Print some debugging information when the program exits.
.TP 3n
\(bu
Print some debugging information when the program exits\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" comp_err: header_file option
.\" header_file option: comp_err
\fB\-\-header_file=\fR\fB\fIfile_name\fR\fR\fB, \-H \fR\fB\fIfile_name\fR\fR
.sp
The name of the error header file. The default is
\fImysqld_error.h\fR.
.TP 3n
\(bu
The name of the error header file\&. The default is
mysqld_error\&.h\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" comp_err: in_file option
.\" in_file option: comp_err
\fB\-\-in_file=\fR\fB\fIfile_name\fR\fR\fB, \-F \fR\fB\fIfile_name\fR\fR
.sp
The name of the input file. The default is
\fI../sql/share/errmsg.txt\fR.
.TP 3n
\(bu
The name of the input file\&. The default is
\&.\&./sql/share/errmsg\&.txt\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" comp_err: name_file option
.\" name_file option: comp_err
\fB\-\-name_file=\fR\fB\fIfile_name\fR\fR\fB, \-N \fR\fB\fIfile_name\fR\fR
.sp
The name of the error name file. The default is
\fImysqld_ername.h\fR.
.TP 3n
\(bu
The name of the error name file\&. The default is
mysqld_ername\&.h\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" comp_err: out_dir option
.\" out_dir option: comp_err
\fB\-\-out_dir=\fR\fB\fIpath\fR\fR\fB, \-D \fR\fB\fIpath\fR\fR
.sp
The name of the output base directory. The default is
\fI../sql/share/\fR.
.TP 3n
\(bu
The name of the output base directory\&. The default is
\&.\&./sql/share/\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" comp_err: out_file option
.\" out_file option: comp_err
\fB\-\-out_file=\fR\fB\fIfile_name\fR\fR\fB, \-O \fR\fB\fIfile_name\fR\fR
.sp
The name of the output file. The default is
\fIerrmsg.sys\fR.
.TP 3n
\(bu
The name of the output file\&. The default is
errmsg\&.sys\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" comp_err: statefile option
.\" statefile option: comp_err
\fB\-\-statefile=\fR\fB\fIfile_name\fR\fR\fB, \-S \fR\fB\fIfile_name\fR\fR
.sp
The name for the SQLSTATE header file. The default is
\fIsql_state.h\fR.
.TP 3n
\(bu
The name for the SQLSTATE header file\&. The default is
sql_state\&.h\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" comp_err: version option
.\" version option: comp_err
\fB\-\-version\fR,
\fB\-V\fR
.sp
Display version information and exit.
Display version information and exit\&.
.RE
.SH "COPYRIGHT"
.br
.PP
Copyright 2007\-2008 MySQL AB, 2009 Sun Microsystems, Inc.
Copyright 2007-2008 MySQL AB, 2009 Sun Microsystems, Inc.
.PP
This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.
.PP
This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
.PP
You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110\-1301 USA or see http://www.gnu.org/licenses/.
You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/.
.sp
.SH "SEE ALSO"
For more information, please refer to the MySQL Reference Manual,
which may already be installed locally and which is also available
online at http://dev.mysql.com/doc/.
.SH AUTHOR
MySQL AB (http://www.mysql.com/).
Sun Microsystems, Inc. (http://www.mysql.com/).

View file

@ -1,81 +1,144 @@
'\" t
.\" Title: \fBinnochecksum\fR
.\" Author:
.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
.\" Date: 03/31/2009
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009
.\" Manual: MySQL Database System
.\" Source: MySQL 5.1
.\" Language: English
.\"
.TH "\fBINNOCHECKSUM\fR" "1" "03/31/2009" "MySQL 5.1" "MySQL Database System"
.TH "\FBINNOCHECKSUM\FR" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System"
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.\" innochecksum
.SH "NAME"
innochecksum \- offline InnoDB file checksum utility
.SH "SYNOPSIS"
.HP 33
.HP \w'\fBinnochecksum\ [\fR\fB\fIoptions\fR\fR\fB]\ \fR\fB\fIfile_name\fR\fR\ 'u
\fBinnochecksum [\fR\fB\fIoptions\fR\fR\fB] \fR\fB\fIfile_name\fR\fR
.SH "DESCRIPTION"
.PP
\fBinnochecksum\fR
prints checksums for
InnoDB
files.
files\&.
.PP
Invoke
\fBinnochecksum\fR
like this:
.sp
.RS 3n
.if n \{\
.RS 4
.\}
.nf
shell> \fBinnochecksum [\fR\fB\fIoptions\fR\fR\fB] \fR\fB\fIfile_name\fR\fR
.fi
.if n \{\
.RE
.\}
.PP
\fBinnochecksum\fR
understands the options described in the following list. For options that refer to page numbers, the numbers are zero\-based.
.TP 3n
\(bu
supports the options described in the following list\&. For options that refer to page numbers, the numbers are zero\-based\&.
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB\-c\fR
.sp
Print a count of the number of pages in the file.
.TP 3n
\(bu
Print a count of the number of pages in the file\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB\-d\fR
.sp
Debug mode; prints checksums for each page.
.TP 3n
\(bu
Debug mode; prints checksums for each page\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB\-e \fR\fB\fInum\fR\fR
.sp
End at this page number.
.TP 3n
\(bu
End at this page number\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB\-p \fR\fB\fInum\fR\fR
.sp
Check only this page number.
.TP 3n
\(bu
Check only this page number\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB\-s \fR\fB\fInum\fR\fR
.sp
Start at this page number.
.TP 3n
\(bu
Start at this page number\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB\-v\fR
.sp
Verbose mode; print a progress indicator every five seconds.
Verbose mode; print a progress indicator every five seconds\&.
.RE
.SH "COPYRIGHT"
.br
.PP
Copyright 2007\-2008 MySQL AB, 2009 Sun Microsystems, Inc.
Copyright 2007-2008 MySQL AB, 2009 Sun Microsystems, Inc.
.PP
This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.
.PP
This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
.PP
You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110\-1301 USA or see http://www.gnu.org/licenses/.
You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/.
.sp
.SH "SEE ALSO"
For more information, please refer to the MySQL Reference Manual,
which may already be installed locally and which is also available
online at http://dev.mysql.com/doc/.
.SH AUTHOR
MySQL AB (http://www.mysql.com/).
Sun Microsystems, Inc. (http://www.mysql.com/).

View file

@ -1,106 +1,185 @@
'\" t
.\" Title: \fBmake_win_bin_dist\fR
.\" Author:
.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
.\" Date: 03/31/2009
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009
.\" Manual: MySQL Database System
.\" Source: MySQL 5.1
.\" Language: English
.\"
.TH "\fBMAKE_WIN_BIN_DIST" "1" "03/31/2009" "MySQL 5.1" "MySQL Database System"
.TH "\FBMAKE_WIN_BIN_DIST" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System"
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.\" make_win_bin_dist
.SH "NAME"
make_win_bin_dist \- package MySQL distribution as ZIP archive
.SH "SYNOPSIS"
.HP 60
\fBmake_win_bin_dist [\fR\fB\fIoptions\fR\fR\fB] \fR\fB\fIpackage_basename\fR\fR\fB [\fR\fB\fIcopy_def\fR\fR\fB ...]\fR
.HP \w'\fBmake_win_bin_dist\ [\fR\fB\fIoptions\fR\fR\fB]\ \fR\fB\fIpackage_basename\fR\fR\fB\ [\fR\fB\fIcopy_def\fR\fR\fB\ \&.\&.\&.]\fR\ 'u
\fBmake_win_bin_dist [\fR\fB\fIoptions\fR\fR\fB] \fR\fB\fIpackage_basename\fR\fR\fB [\fR\fB\fIcopy_def\fR\fR\fB \&.\&.\&.]\fR
.SH "DESCRIPTION"
.PP
This script is used on Windows after building a MySQL distribution from source to create executable programs. It packages the binaries and support files into a ZIP archive that can be unpacked at the location where you want to install MySQL.
This script is used on Windows after building a MySQL distribution from source to create executable programs\&. It packages the binaries and support files into a ZIP archive that can be unpacked at the location where you want to install MySQL\&.
.PP
\fBmake_win_bin_dist\fR
is a shell script, so you must have Cygwin installed to use it.
is a shell script, so you must have Cygwin installed to use it\&.
.PP
This program's use is subject to change. Currently, you invoke it as follows from the root directory of your source distribution:
This program\'s use is subject to change\&. Currently, you invoke it as follows from the root directory of your source distribution:
.sp
.RS 3n
.if n \{\
.RS 4
.\}
.nf
shell> \fBmake_win_bin_dist [\fR\fB\fIoptions\fR\fR\fB] \fR\fB\fIpackage_basename\fR\fR\fB [\fR\fB\fIcopy_def\fR\fR\fB ...]\fR
shell> \fBmake_win_bin_dist [\fR\fB\fIoptions\fR\fR\fB] \fR\fB\fIpackage_basename\fR\fR\fB [\fR\fB\fIcopy_def\fR\fR\fB \&.\&.\&.]\fR
.fi
.if n \{\
.RE
.\}
.PP
The
\fIpackage_basename\fR
argument provides the basename for the resulting ZIP archive. This name will be the name of the directory that results from unpacking the archive.
argument provides the basename for the resulting ZIP archive\&. This name will be the name of the directory that results from unpacking the archive\&.
.PP
Because you might want to include files of directories from other builds, you can instruct this script do copy them in for you, via
\fIcopy_def\fR
arguments, which of which is of the form
\fIrelative_dest_name\fR=\fIsource_name\fR.
\fIrelative_dest_name\fR=\fIsource_name\fR\&.
.PP
Example:
.sp
.RS 3n
.if n \{\
.RS 4
.\}
.nf
bin/mysqld\-max.exe=../my\-max\-build/sql/release/mysqld.exe
bin/mysqld\-max\&.exe=\&.\&./my\-max\-build/sql/release/mysqld\&.exe
.fi
.if n \{\
.RE
.\}
.PP
If you specify a directory, the entire directory will be copied.
If you specify a directory, the entire directory will be copied\&.
.PP
\fBmake_win_bin_dist\fR
understands the following options:
.TP 3n
\(bu
supports the following options:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" make_win_bin_dist: debug option
.\" debug option: make_win_bin_dist
\fB\-\-debug\fR
.sp
Pack the debug binaries and produce an error if they were not built.
.TP 3n
\(bu
Pack the debug binaries and produce an error if they were not built\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" make_win_bin_dist: embedded option
.\" embedded option: make_win_bin_dist
\fB\-\-embedded\fR
.sp
Pack the embedded server and produce an error if it was not built. The default is to pack it if it was built.
.TP 3n
\(bu
Pack the embedded server and produce an error if it was not built\&. The default is to pack it if it was built\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" make_win_bin_dist: exe-suffix option
.\" exe-suffix option: make_win_bin_dist
\fB\-\-exe\-suffix=\fR\fB\fIsuffix\fR\fR
.sp
Add a suffix to the basename of the
\fBmysql\fR
binary. For example, a suffix of
binary\&. For example, a suffix of
\-abc
produces a binary named
\fBmysqld\-abc.exe\fR.
.TP 3n
\(bu
\fBmysqld\-abc\&.exe\fR\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" make_win_bin_dist: no-debug option
.\" no-debug option: make_win_bin_dist
\fB\-\-no\-debug\fR
.sp
Don't pack the debug binaries even if they were built.
.TP 3n
\(bu
Do not pack the debug binaries even if they were built\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" make_win_bin_dist: no-embedded option
.\" no-embedded option: make_win_bin_dist
\fB\-\-no\-embedded\fR
.sp
Don't pack the embedded server even if it was built.
.TP 3n
\(bu
Do not pack the embedded server even if it was built\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" make_win_bin_dist: only-debug option
.\" only-debug option: make_win_bin_dist
\fB\-\-only\-debug\fR
.sp
Use this option when the target for this build was
Debug, and you just want to replace the normal binaries with debug versions (that is, do not use separate
\fIdebug\fR
directories).
debug
directories)\&.
.RE
.SH "COPYRIGHT"
.br
.PP
Copyright 2007\-2008 MySQL AB, 2009 Sun Microsystems, Inc.
Copyright 2007-2008 MySQL AB, 2009 Sun Microsystems, Inc.
.PP
This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.
.PP
This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
.PP
You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110\-1301 USA or see http://www.gnu.org/licenses/.
You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/.
.sp
.SH "SEE ALSO"
For more information, please refer to the MySQL Reference Manual,
which may already be installed locally and which is also available
online at http://dev.mysql.com/doc/.
.SH AUTHOR
MySQL AB (http://www.mysql.com/).
Sun Microsystems, Inc. (http://www.mysql.com/).

View file

@ -1,61 +1,76 @@
'\" t
.\" Title: \fBmsql2mysql\fR
.\" Author:
.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
.\" Date: 03/31/2009
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009
.\" Manual: MySQL Database System
.\" Source: MySQL 5.1
.\" Language: English
.\"
.TH "\fBMSQL2MYSQL\fR" "1" "03/31/2009" "MySQL 5.1" "MySQL Database System"
.TH "\FBMSQL2MYSQL\FR" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System"
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.\" msql2mysql
.SH "NAME"
msql2mysql \- convert mSQL programs for use with MySQL
.SH "SYNOPSIS"
.HP 28
\fBmsql2mysql\fR\fB\fIC\-source\-file\fR\fR\fB ...\fR
.HP \w'\fBmsql2mysql\fR\fB\fIC\-source\-file\fR\fR\fB\ \&.\&.\&.\fR\ 'u
\fBmsql2mysql\fR\fB\fIC\-source\-file\fR\fR\fB \&.\&.\&.\fR
.SH "DESCRIPTION"
.PP
Initially, the MySQL C API was developed to be very similar to that for the mSQL database system. Because of this, mSQL programs often can be converted relatively easily for use with MySQL by changing the names of the C API functions.
Initially, the MySQL C API was developed to be very similar to that for the mSQL database system\&. Because of this, mSQL programs often can be converted relatively easily for use with MySQL by changing the names of the C API functions\&.
.PP
The
\fBmsql2mysql\fR
utility performs the conversion of mSQL C API function calls to their MySQL equivalents.
utility performs the conversion of mSQL C API function calls to their MySQL equivalents\&.
\fBmsql2mysql\fR
converts the input file in place, so make a copy of the original before converting it. For example, use
converts the input file in place, so make a copy of the original before converting it\&. For example, use
\fBmsql2mysql\fR
like this:
.sp
.RS 3n
.if n \{\
.RS 4
.\}
.nf
shell> \fBcp client\-prog.c client\-prog.c.orig\fR
shell> \fBmsql2mysql client\-prog.c\fR
client\-prog.c converted
shell> \fBcp client\-prog\&.c client\-prog\&.c\&.orig\fR
shell> \fBmsql2mysql client\-prog\&.c\fR
client\-prog\&.c converted
.fi
.if n \{\
.RE
.\}
.PP
Then examine
\fIclient\-prog.c\fR
and make any post\-conversion revisions that may be necessary.
client\-prog\&.c
and make any post\-conversion revisions that may be necessary\&.
.PP
\fBmsql2mysql\fR
uses the
\fBreplace\fR
utility to make the function name substitutions. See
\fBreplace\fR(1).
utility to make the function name substitutions\&. See
\fBreplace\fR(1)\&.
.SH "COPYRIGHT"
.br
.PP
Copyright 2007\-2008 MySQL AB, 2009 Sun Microsystems, Inc.
Copyright 2007-2008 MySQL AB, 2009 Sun Microsystems, Inc.
.PP
This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.
.PP
This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
.PP
You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110\-1301 USA or see http://www.gnu.org/licenses/.
You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/.
.sp
.SH "SEE ALSO"
For more information, please refer to the MySQL Reference Manual,
which may already be installed locally and which is also available
online at http://dev.mysql.com/doc/.
.SH AUTHOR
MySQL AB (http://www.mysql.com/).
Sun Microsystems, Inc. (http://www.mysql.com/).

View file

@ -1,111 +1,210 @@
'\" t
.\" Title: \fBmy_print_defaults\fR
.\" Author:
.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
.\" Date: 03/31/2009
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009
.\" Manual: MySQL Database System
.\" Source: MySQL 5.1
.\" Language: English
.\"
.TH "\fBMY_PRINT_DEFAULTS" "1" "03/31/2009" "MySQL 5.1" "MySQL Database System"
.TH "\FBMY_PRINT_DEFAULTS" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System"
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.\" my_print_defaults
.SH "NAME"
my_print_defaults \- display options from option files
.SH "SYNOPSIS"
.HP 45
\fBmy_print_defaults [\fR\fB\fIoptions\fR\fR\fB] \fR\fB\fIoption_group\fR\fR\fB ...\fR
.HP \w'\fBmy_print_defaults\ [\fR\fB\fIoptions\fR\fR\fB]\ \fR\fB\fIoption_group\fR\fR\fB\ \&.\&.\&.\fR\ 'u
\fBmy_print_defaults [\fR\fB\fIoptions\fR\fR\fB] \fR\fB\fIoption_group\fR\fR\fB \&.\&.\&.\fR
.SH "DESCRIPTION"
.PP
\fBmy_print_defaults\fR
displays the options that are present in option groups of option files. The output indicates what options will be used by programs that read the specified option groups. For example, the
displays the options that are present in option groups of option files\&. The output indicates what options will be used by programs that read the specified option groups\&. For example, the
\fBmysqlcheck\fR
program reads the
[mysqlcheck]
and
[client]
option groups. To see what options are present in those groups in the standard option files, invoke
option groups\&. To see what options are present in those groups in the standard option files, invoke
\fBmy_print_defaults\fR
like this:
.sp
.RS 3n
.if n \{\
.RS 4
.\}
.nf
shell> \fBmy_print_defaults mysqlcheck client\fR
\-\-user=myusername
\-\-password=secret
\-\-host=localhost
.fi
.if n \{\
.RE
.\}
.PP
The output consists of options, one per line, in the form that they would be specified on the command line.
The output consists of options, one per line, in the form that they would be specified on the command line\&.
.PP
\fBmy_print_defaults\fR
understands the following options:
.TP 3n
\(bu
supports the following options:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" my_print_defaults: help option
.\" help option: my_print_defaults
\fB\-\-help\fR,
\fB\-?\fR
.sp
Display a help message and exit.
.TP 3n
\(bu
Display a help message and exit\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" my_print_defaults: config-file option
.\" config-file option: my_print_defaults
\fB\-\-config\-file=\fR\fB\fIfile_name\fR\fR,
.\" my_print_defaults: defaults-file option
.\" defaults-file option: my_print_defaults
\fB\-\-defaults\-file=\fR\fB\fIfile_name\fR\fR,
\fB\-c \fR\fB\fIfile_name\fR\fR
.sp
Read only the given option file.
.TP 3n
\(bu
Read only the given option file\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" my_print_defaults: debug option
.\" debug option: my_print_defaults
\fB\-\-debug=\fR\fB\fIdebug_options\fR\fR\fB, \-# \fR\fB\fIdebug_options\fR\fR
.sp
Write a debugging log. The
Write a debugging log\&. A typical
\fIdebug_options\fR
string often is
\'d:t:o,\fIfile_name\fR'. The default is
\'d:t:o,/tmp/my_print_defaults.trace'.
.TP 3n
\(bu
string is
\'d:t:o,\fIfile_name\fR\'\&. The default is
\'d:t:o,/tmp/my_print_defaults\&.trace\'\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" my_print_defaults: defaults-extra-file option
.\" defaults-extra-file option: my_print_defaults
\fB\-\-defaults\-extra\-file=\fR\fB\fIfile_name\fR\fR,
.\" my_print_defaults: extra-file option
.\" extra-file option: my_print_defaults
\fB\-\-extra\-file=\fR\fB\fIfile_name\fR\fR,
\fB\-e \fR\fB\fIfile_name\fR\fR
.sp
Read this option file after the global option file but (on Unix) before the user option file.
.TP 3n
\(bu
Read this option file after the global option file but (on Unix) before the user option file\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" my_print_defaults: defaults-group-suffix option
.\" defaults-group-suffix option: my_print_defaults
\fB\-\-defaults\-group\-suffix=\fR\fB\fIsuffix\fR\fR,
\fB\-g \fR\fB\fIsuffix\fR\fR
.sp
In addition to the groups named on the command line, read groups that have the given suffix.
.TP 3n
\(bu
In addition to the groups named on the command line, read groups that have the given suffix\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" my_print_defaults: no-defaults option
.\" no-defaults option: my_print_defaults
\fB\-\-no\-defaults\fR,
\fB\-n\fR
.sp
Return an empty string.
.TP 3n
\(bu
Return an empty string\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" my_print_defaults: verbose option
.\" verbose option: my_print_defaults
\fB\-\-verbose\fR,
\fB\-v\fR
.sp
Verbose mode. Print more information about what the program does.
.TP 3n
\(bu
Verbose mode\&. Print more information about what the program does\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" my_print_defaults: version option
.\" version option: my_print_defaults
\fB\-\-version\fR,
\fB\-V\fR
.sp
Display version information and exit.
Display version information and exit\&.
.RE
.SH "COPYRIGHT"
.br
.PP
Copyright 2007\-2008 MySQL AB, 2009 Sun Microsystems, Inc.
Copyright 2007-2008 MySQL AB, 2009 Sun Microsystems, Inc.
.PP
This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.
.PP
This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
.PP
You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110\-1301 USA or see http://www.gnu.org/licenses/.
You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/.
.sp
.SH "SEE ALSO"
For more information, please refer to the MySQL Reference Manual,
which may already be installed locally and which is also available
online at http://dev.mysql.com/doc/.
.SH AUTHOR
MySQL AB (http://www.mysql.com/).
Sun Microsystems, Inc. (http://www.mysql.com/).

View file

@ -1,19 +1,28 @@
'\" t
.\" Title: \fBmyisam_ftdump\fR
.\" Author:
.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
.\" Date: 03/31/2009
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009
.\" Manual: MySQL Database System
.\" Source: MySQL 5.1
.\" Language: English
.\"
.TH "\fBMYISAM_FTDUMP\fR" "1" "03/31/2009" "MySQL 5.1" "MySQL Database System"
.TH "\FBMYISAM_FTDUMP\FR" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System"
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.\" myisam_ftdump
.SH "NAME"
myisam_ftdump \- display full\-text index information
.SH "SYNOPSIS"
.HP 43
.HP \w'\fBmyisam_ftdump\ [\fR\fB\fIoptions\fR\fR\fB]\ \fR\fB\fItbl_name\fR\fR\fB\ \fR\fB\fIindex_num\fR\fR\ 'u
\fBmyisam_ftdump [\fR\fB\fIoptions\fR\fR\fB] \fR\fB\fItbl_name\fR\fR\fB \fR\fB\fIindex_num\fR\fR
.SH "DESCRIPTION"
.PP
@ -22,7 +31,7 @@ displays information about
FULLTEXT
indexes in
MyISAM
tables. It reads the
tables\&. It reads the
MyISAM
index file directly, so it must be run on the server host where the table is located
.PP
@ -30,21 +39,25 @@ Invoke
\fBmyisam_ftdump\fR
like this:
.sp
.RS 3n
.if n \{\
.RS 4
.\}
.nf
shell> \fBmyisam_ftdump [\fR\fB\fIoptions\fR\fR\fB] \fR\fB\fItbl_name\fR\fR\fB \fR\fB\fIindex_num\fR\fR
.fi
.if n \{\
.RE
.\}
.PP
The
\fItbl_name\fR
argument should be the name of a
MyISAM
table. You can also specify a table by naming its index file (the file with the
\fI.MYI\fR
suffix). If you do not invoke
table\&. You can also specify a table by naming its index file (the file with the
\&.MYI
suffix)\&. If you do not invoke
\fBmyisam_ftdump\fR
in the directory where the table files are located, the table or index file name must be preceded by the path name to the table's database directory. Index numbers begin with 0.
in the directory where the table files are located, the table or index file name must be preceded by the path name to the table\'s database directory\&. Index numbers begin with 0\&.
.PP
Example: Suppose that the
test
@ -52,7 +65,9 @@ database contains a table named
mytexttablel
that has the following definition:
.sp
.RS 3n
.if n \{\
.RS 4
.\}
.nf
CREATE TABLE mytexttable
(
@ -62,7 +77,9 @@ CREATE TABLE mytexttable
FULLTEXT (txt)
);
.fi
.if n \{\
.RE
.\}
.PP
The index on
id
@ -70,82 +87,152 @@ is index 0 and the
FULLTEXT
index on
txt
is index 1. If your working directory is the
is index 1\&. If your working directory is the
test
database directory, invoke
\fBmyisam_ftdump\fR
as follows:
.sp
.RS 3n
.if n \{\
.RS 4
.\}
.nf
shell> \fBmyisam_ftdump mytexttable 1\fR
.fi
.if n \{\
.RE
.\}
.PP
If the path name to the
test
database directory is
\fI/usr/local/mysql/data/test\fR, you can also specify the table name argument using that path name. This is useful if you do not invoke
/usr/local/mysql/data/test, you can also specify the table name argument using that path name\&. This is useful if you do not invoke
\fBmyisam_ftdump\fR
in the database directory:
.sp
.RS 3n
.if n \{\
.RS 4
.\}
.nf
shell> \fBmyisam_ftdump /usr/local/mysql/data/test/mytexttable 1\fR
.fi
.if n \{\
.RE
.\}
.PP
\fBmyisam_ftdump\fR
understands the following options:
.TP 3n
\(bu
supports the following options:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" myisam_ftdump: help option
.\" help option: myisam_ftdump
\fB\-\-help\fR,
\fB\-h\fR
\fB\-?\fR
.sp
Display a help message and exit.
.TP 3n
\(bu
Display a help message and exit\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" myisam_ftdump: count option
.\" count option: myisam_ftdump
\fB\-\-count\fR,
\fB\-c\fR
.sp
Calculate per\-word statistics (counts and global weights).
.TP 3n
\(bu
Calculate per\-word statistics (counts and global weights)\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" myisam_ftdump: dump option
.\" dump option: myisam_ftdump
\fB\-\-dump\fR,
\fB\-d\fR
.sp
Dump the index, including data offsets and word weights.
.TP 3n
\(bu
Dump the index, including data offsets and word weights\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" myisam_ftdump: length option
.\" length option: myisam_ftdump
\fB\-\-length\fR,
\fB\-l\fR
.sp
Report the length distribution.
.TP 3n
\(bu
Report the length distribution\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" myisam_ftdump: stats option
.\" stats option: myisam_ftdump
\fB\-\-stats\fR,
\fB\-s\fR
.sp
Report global index statistics. This is the default operation if no other operation is specified.
.TP 3n
\(bu
Report global index statistics\&. This is the default operation if no other operation is specified\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" myisam_ftdump: verbose option
.\" verbose option: myisam_ftdump
\fB\-\-verbose\fR,
\fB\-v\fR
.sp
Verbose mode. Print more output about what the program does.
Verbose mode\&. Print more output about what the program does\&.
.RE
.SH "COPYRIGHT"
.br
.PP
Copyright 2007\-2008 MySQL AB, 2009 Sun Microsystems, Inc.
Copyright 2007-2008 MySQL AB, 2009 Sun Microsystems, Inc.
.PP
This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.
.PP
This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
.PP
You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110\-1301 USA or see http://www.gnu.org/licenses/.
You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/.
.sp
.SH "SEE ALSO"
For more information, please refer to the MySQL Reference Manual,
which may already be installed locally and which is also available
online at http://dev.mysql.com/doc/.
.SH AUTHOR
MySQL AB (http://www.mysql.com/).
Sun Microsystems, Inc. (http://www.mysql.com/).

File diff suppressed because it is too large Load diff

View file

@ -1,129 +1,241 @@
'\" t
.\" Title: \fBmyisamlog\fR
.\" Author:
.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
.\" Date: 03/31/2009
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009
.\" Manual: MySQL Database System
.\" Source: MySQL 5.1
.\" Language: English
.\"
.TH "\fBMYISAMLOG\fR" "1" "03/31/2009" "MySQL 5.1" "MySQL Database System"
.TH "\FBMYISAMLOG\FR" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System"
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.\" myisamlog
.\" isamlog
.SH "NAME"
myisamlog \- display MyISAM log file contents
.SH "SYNOPSIS"
.HP 46
\fBmyisamlog [\fR\fB\fIoptions\fR\fR\fB] [\fR\fB\fIlog_file\fR\fR\fB [\fR\fB\fItbl_name\fR\fR\fB] ...]\fR
.HP \w'\fBmyisamlog\ [\fR\fB\fIoptions\fR\fR\fB]\ [\fR\fB\fIlog_file\fR\fR\fB\ [\fR\fB\fItbl_name\fR\fR\fB]\ \&.\&.\&.]\fR\ 'u
\fBmyisamlog [\fR\fB\fIoptions\fR\fR\fB] [\fR\fB\fIlog_file\fR\fR\fB [\fR\fB\fItbl_name\fR\fR\fB] \&.\&.\&.]\fR
.SH "DESCRIPTION"
.PP
\fBmyisamlog\fR
processes the contents of a
MyISAM
log file.
log file\&.
.PP
Invoke
\fBmyisamlog\fR
like this:
.sp
.RS 3n
.if n \{\
.RS 4
.\}
.nf
shell> \fBmyisamlog [\fR\fB\fIoptions\fR\fR\fB] [\fR\fB\fIlog_file\fR\fR\fB [\fR\fB\fItbl_name\fR\fR\fB] ...]\fR
shell> \fBisamlog [\fR\fB\fIoptions\fR\fR\fB] [\fR\fB\fIlog_file\fR\fR\fB [\fR\fB\fItbl_name\fR\fR\fB] ...]\fR
shell> \fBmyisamlog [\fR\fB\fIoptions\fR\fR\fB] [\fR\fB\fIlog_file\fR\fR\fB [\fR\fB\fItbl_name\fR\fR\fB] \&.\&.\&.]\fR
shell> \fBisamlog [\fR\fB\fIoptions\fR\fR\fB] [\fR\fB\fIlog_file\fR\fR\fB [\fR\fB\fItbl_name\fR\fR\fB] \&.\&.\&.]\fR
.fi
.if n \{\
.RE
.\}
.PP
The default operation is update (\fB\-u\fR). If a recovery is done (\fB\-r\fR), all writes and possibly updates and deletes are done and errors are only counted. The default log file name is
\fImyisam.log\fR
The default operation is update (\fB\-u\fR)\&. If a recovery is done (\fB\-r\fR), all writes and possibly updates and deletes are done and errors are only counted\&. The default log file name is
myisam\&.log
for
\fBmyisamlog\fR
and
\fIisam.log\fR
isam\&.log
for
\fBisamlog\fR
if no
\fIlog_file\fR
argument is given. If tables are named on the command line, only those tables are updated.
argument is given\&. If tables are named on the command line, only those tables are updated\&.
.PP
\fBmyisamlog\fR
understands the following options:
.TP 3n
\(bu
supports the following options:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB\-?\fR,
\fB\-I\fR
.sp
Display a help message and exit.
.TP 3n
\(bu
Display a help message and exit\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB\-c \fR\fB\fIN\fR\fR
.sp
Execute only
\fIN\fR
commands.
.TP 3n
\(bu
commands\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB\-f \fR\fB\fIN\fR\fR
.sp
Specify the maximum number of open files.
.TP 3n
\(bu
Specify the maximum number of open files\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB\-i\fR
.sp
Display extra information before exiting.
.TP 3n
\(bu
Display extra information before exiting\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB\-o \fR\fB\fIoffset\fR\fR
.sp
Specify the starting offset.
.TP 3n
\(bu
Specify the starting offset\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB\-p \fR\fB\fIN\fR\fR
.sp
Remove
\fIN\fR
components from path.
.TP 3n
\(bu
components from path\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB\-r\fR
.sp
Perform a recovery operation.
.TP 3n
\(bu
Perform a recovery operation\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB\-R \fR\fB\fIrecord_pos_file record_pos\fR\fR
.sp
Specify record position file and record position.
.TP 3n
\(bu
Specify record position file and record position\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB\-u\fR
.sp
Perform an update operation.
.TP 3n
\(bu
Perform an update operation\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB\-v\fR
.sp
Verbose mode. Print more output about what the program does. This option can be given multiple times to produce more and more output.
.TP 3n
\(bu
Verbose mode\&. Print more output about what the program does\&. This option can be given multiple times to produce more and more output\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB\-w \fR\fB\fIwrite_file\fR\fR
.sp
Specify the write file.
.TP 3n
\(bu
Specify the write file\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB\-V\fR
.sp
Display version information.
Display version information\&.
.RE
.SH "COPYRIGHT"
.br
.PP
Copyright 2007\-2008 MySQL AB, 2009 Sun Microsystems, Inc.
Copyright 2007-2008 MySQL AB, 2009 Sun Microsystems, Inc.
.PP
This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.
.PP
This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
.PP
You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110\-1301 USA or see http://www.gnu.org/licenses/.
You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/.
.sp
.SH "SEE ALSO"
For more information, please refer to the MySQL Reference Manual,
which may already be installed locally and which is also available
online at http://dev.mysql.com/doc/.
.SH AUTHOR
MySQL AB (http://www.mysql.com/).
Sun Microsystems, Inc. (http://www.mysql.com/).

View file

@ -1,198 +1,351 @@
'\" t
.\" Title: \fBmyisampack\fR
.\" Author:
.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
.\" Date: 03/31/2009
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009
.\" Manual: MySQL Database System
.\" Source: MySQL 5.1
.\" Language: English
.\"
.TH "\fBMYISAMPACK\fR" "1" "03/31/2009" "MySQL 5.1" "MySQL Database System"
.TH "\FBMYISAMPACK\FR" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System"
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.\" myisampack
.\" compressed tables
.\" tables: compressed
.\" MyISAM: compressed tables
.SH "NAME"
myisampack \- generate compressed, read\-only MyISAM tables
.SH "SYNOPSIS"
.HP 35
\fBmyisampack [\fR\fB\fIoptions\fR\fR\fB] \fR\fB\fIfile_name\fR\fR\fB ...\fR
.HP \w'\fBmyisampack\ [\fR\fB\fIoptions\fR\fR\fB]\ \fR\fB\fIfile_name\fR\fR\fB\ \&.\&.\&.\fR\ 'u
\fBmyisampack [\fR\fB\fIoptions\fR\fR\fB] \fR\fB\fIfile_name\fR\fR\fB \&.\&.\&.\fR
.SH "DESCRIPTION"
.PP
The
\fBmyisampack\fR
utility compresses
MyISAM
tables.
tables\&.
\fBmyisampack\fR
works by compressing each column in the table separately. Usually,
works by compressing each column in the table separately\&. Usually,
\fBmyisampack\fR
packs the data file 40%\-70%.
packs the data file 40%\(en70%\&.
.PP
When the table is used later, the server reads into memory the information needed to decompress columns. This results in much better performance when accessing individual rows, because you only have to uncompress exactly one row.
When the table is used later, the server reads into memory the information needed to decompress columns\&. This results in much better performance when accessing individual rows, because you only have to uncompress exactly one row\&.
.PP
MySQL uses
mmap()
when possible to perform memory mapping on compressed tables. If
when possible to perform memory mapping on compressed tables\&. If
mmap()
does not work, MySQL falls back to normal read/write file operations.
does not work, MySQL falls back to normal read/write file operations\&.
.PP
Please note the following:
.TP 3n
\(bu
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
If the
\fBmysqld\fR
server was invoked with external locking disabled, it is not a good idea to invoke
\fBmyisampack\fR
if the table might be updated by the server during the packing process. It is safest to compress tables with the server stopped.
.TP 3n
\(bu
After packing a table, it becomes read only. This is generally intended (such as when accessing packed tables on a CD). Allowing writes to a packed table is on our TODO list, but with low priority.
if the table might be updated by the server during the packing process\&. It is safest to compress tables with the server stopped\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
After packing a table, it becomes read only\&. This is generally intended (such as when accessing packed tables on a CD)\&. Allowing writes to a packed table is on our TODO list, but with low priority\&.
.RE
.PP
Invoke
\fBmyisampack\fR
like this:
.sp
.RS 3n
.if n \{\
.RS 4
.\}
.nf
shell> \fBmyisampack [\fR\fB\fIoptions\fR\fR\fB] \fR\fB\fIfile_name\fR\fR\fB ...\fR
shell> \fBmyisampack [\fR\fB\fIoptions\fR\fR\fB] \fR\fB\fIfile_name\fR\fR\fB \&.\&.\&.\fR
.fi
.if n \{\
.RE
.\}
.PP
Each file name argument should be the name of an index (\fI.MYI\fR) file. If you are not in the database directory, you should specify the path name to the file. It is permissible to omit the
\fI.MYI\fR
extension.
Each file name argument should be the name of an index (\&.MYI) file\&. If you are not in the database directory, you should specify the path name to the file\&. It is permissible to omit the
\&.MYI
extension\&.
.PP
After you compress a table with
\fBmyisampack\fR, you should use
\fBmyisamchk \-rq\fR
to rebuild its indexes.
\fBmyisamchk\fR(1).
to rebuild its indexes\&.
\fBmyisamchk\fR(1)\&.
.PP
\fBmyisampack\fR
supports the following options:
.TP 3n
\(bu
supports the options in the following list\&. It also reads option files and supports the options for processing them described at
Section\ \&4.2.3.3.1, \(lqCommand-Line Options that Affect Option-File Handling\(rq\&.
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" myisampack: help option
.\" help option: myisampack
\fB\-\-help\fR,
\fB\-?\fR
.sp
Display a help message and exit.
.TP 3n
\(bu
Display a help message and exit\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" myisampack: backup option
.\" backup option: myisampack
\fB\-\-backup\fR,
\fB\-b\fR
.sp
Make a backup of each table's data file using the name
\fI\fItbl_name\fR\fR\fI.OLD\fR.
.TP 3n
\(bu
Make a backup of each table\'s data file using the name
\fItbl_name\fR\&.OLD\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" myisampack: character-sets-dir option
.\" character-sets-dir option: myisampack
\fB\-\-character\-sets\-dir=\fR\fB\fIpath\fR\fR
.sp
The directory where character sets are installed. See
Section\ 9.2, \(lqThe Character Set Used for Data and Sorting\(rq.
.TP 3n
\(bu
The directory where character sets are installed\&. See
Section\ \&9.2, \(lqThe Character Set Used for Data and Sorting\(rq\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" myisampack: debug option
.\" debug option: myisampack
\fB\-\-debug[=\fR\fB\fIdebug_options\fR\fR\fB]\fR,
\fB\-# [\fR\fB\fIdebug_options\fR\fR\fB]\fR
.sp
Write a debugging log. The
Write a debugging log\&. A typical
\fIdebug_options\fR
string often is
\'d:t:o,\fIfile_name\fR'.
.TP 3n
\(bu
string is
\'d:t:o,\fIfile_name\fR\'\&. The default is
\'d:t:o\'\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" myisampack: force option
.\" force option: myisampack
\fB\-\-force\fR,
\fB\-f\fR
.sp
Produce a packed table even if it becomes larger than the original or if the intermediate file from an earlier invocation of
\fBmyisampack\fR
exists. (\fBmyisampack\fR
exists\&. (\fBmyisampack\fR
creates an intermediate file named
\fI\fItbl_name\fR\fR\fI.TMD\fR
in the database directory while it compresses the table. If you kill
\fItbl_name\fR\&.TMD
in the database directory while it compresses the table\&. If you kill
\fBmyisampack\fR, the
\fI.TMD\fR
file might not be deleted.) Normally,
\&.TMD
file might not be deleted\&.) Normally,
\fBmyisampack\fR
exits with an error if it finds that
\fI\fItbl_name\fR\fR\fI.TMD\fR
exists. With
\fItbl_name\fR\&.TMD
exists\&. With
\fB\-\-force\fR,
\fBmyisampack\fR
packs the table anyway.
.TP 3n
\(bu
packs the table anyway\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" myisampack: join option
.\" join option: myisampack
\fB\-\-join=\fR\fB\fIbig_tbl_name\fR\fR,
\fB\-j \fR\fB\fIbig_tbl_name\fR\fR
.sp
Join all tables named on the command line into a single packed table
\fIbig_tbl_name\fR. All tables that are to be combined
\fIbig_tbl_name\fR\&. All tables that are to be combined
\fImust\fR
have identical structure (same column names and types, same indexes, and so forth).
have identical structure (same column names and types, same indexes, and so forth)\&.
.sp
\fIbig_tbl_name\fR
must not exist prior to the join operation. All source tables named on the command line to be merged into
must not exist prior to the join operation\&. All source tables named on the command line to be merged into
\fIbig_tbl_name\fR
must exist. The source tables are read for the join operation but not modified. The join operation does not create a
\fI.frm\fR
must exist\&. The source tables are read for the join operation but not modified\&. The join operation does not create a
\&.frm
file for
\fIbig_tbl_name\fR, so after the join operation finishes, copy the
\fI.frm\fR
\&.frm
file from one of the source tables and name it
\fI\fIbig_tbl_name\fR\fR\fI.frm\fR.
.TP 3n
\(bu
\fIbig_tbl_name\fR\&.frm\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" myisampack: silent option
.\" silent option: myisampack
\fB\-\-silent\fR,
\fB\-s\fR
.sp
Silent mode. Write output only when errors occur.
.TP 3n
\(bu
Silent mode\&. Write output only when errors occur\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" myisampack: test option
.\" test option: myisampack
\fB\-\-test\fR,
\fB\-t\fR
.sp
Do not actually pack the table, just test packing it.
.TP 3n
\(bu
Do not actually pack the table, just test packing it\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" myisampack: tmpdir option
.\" tmpdir option: myisampack
\fB\-\-tmpdir=\fR\fB\fIpath\fR\fR,
\fB\-T \fR\fB\fIpath\fR\fR
.sp
Use the named directory as the location where
\fBmyisampack\fR
creates temporary files.
.TP 3n
\(bu
creates temporary files\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" myisampack: verbose option
.\" verbose option: myisampack
\fB\-\-verbose\fR,
\fB\-v\fR
.sp
Verbose mode. Write information about the progress of the packing operation and its result.
.TP 3n
\(bu
Verbose mode\&. Write information about the progress of the packing operation and its result\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" myisampack: version option
.\" version option: myisampack
\fB\-\-version\fR,
\fB\-V\fR
.sp
Display version information and exit.
.TP 3n
\(bu
Display version information and exit\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" myisampack: wait option
.\" wait option: myisampack
\fB\-\-wait\fR,
\fB\-w\fR
.sp
Wait and retry if the table is in use. If the
Wait and retry if the table is in use\&. If the
\fBmysqld\fR
server was invoked with external locking disabled, it is not a good idea to invoke
\fBmyisampack\fR
if the table might be updated by the server during the packing process.
.sp
if the table might be updated by the server during the packing process\&.
.RE
.\" examples: compressed tables
.PP
The following sequence of commands illustrates a typical table compression session:
.sp
.RS 3n
.if n \{\
.RS 4
.\}
.nf
shell> \fBls \-l station.*\fR
\-rw\-rw\-r\-\- 1 monty my 994128 Apr 17 19:00 station.MYD
\-rw\-rw\-r\-\- 1 monty my 53248 Apr 17 19:00 station.MYI
\-rw\-rw\-r\-\- 1 monty my 5767 Apr 17 19:00 station.frm
shell> \fBls \-l station\&.*\fR
\-rw\-rw\-r\-\- 1 monty my 994128 Apr 17 19:00 station\&.MYD
\-rw\-rw\-r\-\- 1 monty my 53248 Apr 17 19:00 station\&.MYI
\-rw\-rw\-r\-\- 1 monty my 5767 Apr 17 19:00 station\&.frm
shell> \fBmyisamchk \-dvv station\fR
MyISAM file: station
Isam\-version: 2
@ -207,7 +360,7 @@ Record format: Fixed length
table description:
Key Start Len Index Type Root Blocksize Rec/key
1 2 4 unique unsigned long 1024 1024 1
2 32 30 multip. text 10240 1024 1
2 32 30 multip\&. text 10240 1024 1
Field Start Length Type
1 1 1
2 2 4
@ -266,19 +419,19 @@ Field Start Length Type
55 807 20
56 827 4
57 831 4
shell> \fBmyisampack station.MYI\fR
Compressing station.MYI: (1192 records)
shell> \fBmyisampack station\&.MYI\fR
Compressing station\&.MYI: (1192 records)
\- Calculating statistics
normal: 20 empty\-space: 16 empty\-zero: 12 empty\-fill: 11
pre\-space: 0 end\-space: 12 table\-lookups: 5 zero: 7
Original trees: 57 After join: 17
\- Compressing file
87.14%
87\&.14%
Remember to run myisamchk \-rq on compressed tables
shell> \fBls \-l station.*\fR
\-rw\-rw\-r\-\- 1 monty my 127874 Apr 17 19:00 station.MYD
\-rw\-rw\-r\-\- 1 monty my 55296 Apr 17 19:04 station.MYI
\-rw\-rw\-r\-\- 1 monty my 5767 Apr 17 19:00 station.frm
shell> \fBls \-l station\&.*\fR
\-rw\-rw\-r\-\- 1 monty my 127874 Apr 17 19:00 station\&.MYD
\-rw\-rw\-r\-\- 1 monty my 55296 Apr 17 19:04 station\&.MYI
\-rw\-rw\-r\-\- 1 monty my 5767 Apr 17 19:00 station\&.frm
shell> \fBmyisamchk \-dvv station\fR
MyISAM file: station
Isam\-version: 2
@ -293,7 +446,7 @@ Record format: Compressed
table description:
Key Start Len Index Type Root Blocksize Rec/key
1 2 4 unique unsigned long 10240 1024 1
2 32 30 multip. text 54272 1024 1
2 32 30 multip\&. text 54272 1024 1
Field Start Length Type Huff tree Bits
1 1 1 constant 1 0
2 2 4 zerofill(1) 2 9
@ -353,171 +506,341 @@ Field Start Length Type Huff tree Bits
56 827 4 no zeros, zerofill(2) 2 9
57 831 4 no zeros, zerofill(1) 2 9
.fi
.if n \{\
.RE
.\}
.PP
\fBmyisampack\fR
displays the following kinds of information:
.TP 3n
\(bu
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
normal
.sp
The number of columns for which no extra packing is used.
.TP 3n
\(bu
The number of columns for which no extra packing is used\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
empty\-space
.sp
The number of columns containing values that are only spaces. These occupy one bit.
.TP 3n
\(bu
The number of columns containing values that are only spaces\&. These occupy one bit\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
empty\-zero
.sp
The number of columns containing values that are only binary zeros. These occupy one bit.
.TP 3n
\(bu
The number of columns containing values that are only binary zeros\&. These occupy one bit\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
empty\-fill
.sp
The number of integer columns that do not occupy the full byte range of their type. These are changed to a smaller type. For example, a
The number of integer columns that do not occupy the full byte range of their type\&. These are changed to a smaller type\&. For example, a
BIGINT
column (eight bytes) can be stored as a
TINYINT
column (one byte) if all its values are in the range from
\-128
to
127.
.TP 3n
\(bu
127\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
pre\-space
.sp
The number of decimal columns that are stored with leading spaces. In this case, each value contains a count for the number of leading spaces.
.TP 3n
\(bu
The number of decimal columns that are stored with leading spaces\&. In this case, each value contains a count for the number of leading spaces\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
end\-space
.sp
The number of columns that have a lot of trailing spaces. In this case, each value contains a count for the number of trailing spaces.
.TP 3n
\(bu
The number of columns that have a lot of trailing spaces\&. In this case, each value contains a count for the number of trailing spaces\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
table\-lookup
.sp
The column had only a small number of different values, which were converted to an
ENUM
before Huffman compression.
.TP 3n
\(bu
before Huffman compression\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
zero
.sp
The number of columns for which all values are zero.
.TP 3n
\(bu
The number of columns for which all values are zero\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
Original trees
.sp
The initial number of Huffman trees.
.TP 3n
\(bu
The initial number of Huffman trees\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
After join
.sp
The number of distinct Huffman trees left after joining trees to save some header space.
.sp
The number of distinct Huffman trees left after joining trees to save some header space\&.
.RE
.PP
After a table has been compressed,
\fBmyisamchk \-dvv\fR
prints additional information about each column:
.TP 3n
\(bu
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
Type
.sp
The data type. The value may contain any of the following descriptors:
.RS 3n
.TP 3n
\(bu
The data type\&. The value may contain any of the following descriptors:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
constant
.sp
All rows have the same value.
.TP 3n
\(bu
All rows have the same value\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
no endspace
.sp
Do not store endspace.
.TP 3n
\(bu
Do not store endspace\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
no endspace, not_always
.sp
Do not store endspace and do not do endspace compression for all values.
.TP 3n
\(bu
Do not store endspace and do not do endspace compression for all values\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
no endspace, no empty
.sp
Do not store endspace. Do not store empty values.
.TP 3n
\(bu
Do not store endspace\&. Do not store empty values\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
table\-lookup
.sp
The column was converted to an
ENUM.
.TP 3n
\(bu
ENUM\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
zerofill(\fIN\fR)
.sp
The most significant
\fIN\fR
bytes in the value are always 0 and are not stored.
.TP 3n
\(bu
bytes in the value are always 0 and are not stored\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
no zeros
.sp
Do not store zeros.
.TP 3n
\(bu
Do not store zeros\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
always zero
.sp
Zero values are stored using one bit.
Zero values are stored using one bit\&.
.RE
.TP 3n
\(bu
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
Huff tree
.sp
The number of the Huffman tree associated with the column.
.TP 3n
\(bu
The number of the Huffman tree associated with the column\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
Bits
.sp
The number of bits used in the Huffman tree.
.sp
The number of bits used in the Huffman tree\&.
.RE
.PP
After you run
\fBmyisampack\fR, you must run
\fBmyisamchk\fR
to re\-create any indexes. At this time, you can also sort the index blocks and create statistics needed for the MySQL optimizer to work more efficiently:
to re\-create any indexes\&. At this time, you can also sort the index blocks and create statistics needed for the MySQL optimizer to work more efficiently:
.sp
.RS 3n
.if n \{\
.RS 4
.\}
.nf
shell> \fBmyisamchk \-rq \-\-sort\-index \-\-analyze \fR\fB\fItbl_name\fR\fR\fB.MYI\fR
shell> \fBmyisamchk \-rq \-\-sort\-index \-\-analyze \fR\fB\fItbl_name\fR\fR\fB\&.MYI\fR
.fi
.if n \{\
.RE
.\}
.PP
After you have installed the packed table into the MySQL database directory, you should execute
\fBmysqladmin flush\-tables\fR
to force
\fBmysqld\fR
to start using the new table.
to start using the new table\&.
.PP
To unpack a packed table, use the
\fB\-\-unpack\fR
option to
\fBmyisamchk\fR.
\fBmyisamchk\fR\&.
.SH "COPYRIGHT"
.br
.PP
Copyright 2007\-2008 MySQL AB, 2009 Sun Microsystems, Inc.
Copyright 2007-2008 MySQL AB, 2009 Sun Microsystems, Inc.
.PP
This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.
.PP
This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
.PP
You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110\-1301 USA or see http://www.gnu.org/licenses/.
You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/.
.sp
.SH "SEE ALSO"
For more information, please refer to the MySQL Reference Manual,
which may already be installed locally and which is also available
online at http://dev.mysql.com/doc/.
.SH AUTHOR
MySQL AB (http://www.mysql.com/).
Sun Microsystems, Inc. (http://www.mysql.com/).

View file

@ -1,234 +1,519 @@
.\" Title: \fBmysql\-stress\-test.pl\fR
.\" Author:
.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
.\" Date: 03/27/2009
'\" t
.\" Title: \fBmysql-stress-test.pl\fR
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/08/2009
.\" Manual: MySQL Database System
.\" Source: MySQL
.\" Language: English
.\"
.TH "\fBMYSQL\-STRESS\-TEST" "1" "03/27/2009" "MySQL" "MySQL Database System"
.TH "\FBMYSQL\-STRESS\-TE" "1" "08/08/2009" "MySQL" "MySQL Database System"
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.\" mysql-stress-test.pl
.SH "NAME"
mysql\-stress\-test.pl \- server stress test program
mysql-stress-test.pl \- server stress test program
.SH "SYNOPSIS"
.HP 31
\fBmysql\-stress\-test.pl [\fR\fB\fIoptions\fR\fR\fB]\fR
.HP \w'\fBmysql\-stress\-test\&.pl\ [\fR\fB\fIoptions\fR\fR\fB]\fR\ 'u
\fBmysql\-stress\-test\&.pl [\fR\fB\fIoptions\fR\fR\fB]\fR
.SH "DESCRIPTION"
.PP
The
\fBmysql\-stress\-test.pl\fR
Perl script performs stress\-testing of the MySQL server. (MySQL 5.0 and up only)
\fBmysql\-stress\-test\&.pl\fR
Perl script performs stress\-testing of the MySQL server\&. (MySQL 5\&.0 and up only)
.PP
\fBmysql\-stress\-test.pl\fR
requires a version of Perl that has been built with threads support.
\fBmysql\-stress\-test\&.pl\fR
requires a version of Perl that has been built with threads support\&.
.PP
Invoke
\fBmysql\-stress\-test.pl\fR
\fBmysql\-stress\-test\&.pl\fR
like this:
.sp
.RS 3n
.if n \{\
.RS 4
.\}
.nf
shell> \fBmysql\-stress\-test.pl [\fR\fB\fIoptions\fR\fR\fB]\fR
shell> \fBmysql\-stress\-test\&.pl [\fR\fB\fIoptions\fR\fR\fB]\fR
.fi
.if n \{\
.RE
.\}
.PP
\fBmysql\-stress\-test.pl\fR
\fBmysql\-stress\-test\&.pl\fR
supports the following options:
.TP 3n
\(bu
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-stress-test.pl: help option
.\" help option: mysql-stress-test.pl
\fB\-\-help\fR
.sp
Display a help message and exit.
.TP 3n
\(bu
Display a help message and exit\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-stress-test.pl: abort-on-error option
.\" abort-on-error option: mysql-stress-test.pl
\fB\-\-abort\-on\-error\fR
.sp
Unknown.
.TP 3n
\(bu
Unknown\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-stress-test.pl: check-tests-file option
.\" check-tests-file option: mysql-stress-test.pl
\fB\-\-check\-tests\-file\fR
.sp
Periodically check the file that lists the tests to be run. If it has been modified, reread the file. This can be useful if you update the list of tests to be run during a stress test.
.TP 3n
\(bu
Periodically check the file that lists the tests to be run\&. If it has been modified, reread the file\&. This can be useful if you update the list of tests to be run during a stress test\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-stress-test.pl: cleanup option
.\" cleanup option: mysql-stress-test.pl
\fB\-\-cleanup\fR
.sp
Force cleanup of the working directory.
.TP 3n
\(bu
Force cleanup of the working directory\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-stress-test.pl: log-error-details option
.\" log-error-details option: mysql-stress-test.pl
\fB\-\-log\-error\-details\fR
.sp
Log error details in the global error log file.
.TP 3n
\(bu
Log error details in the global error log file\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-stress-test.pl: loop-count option
.\" loop-count option: mysql-stress-test.pl
\fB\-\-loop\-count=\fR\fB\fIN\fR\fR
.sp
In sequential test mode, the number of loops to execute before exiting.
.TP 3n
\(bu
In sequential test mode, the number of loops to execute before exiting\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-stress-test.pl: mysqltest option
.\" mysqltest option: mysql-stress-test.pl
\fB\-\-mysqltest=\fR\fB\fIpath\fR\fR
.sp
The path name to the
\fBmysqltest\fR
program.
.TP 3n
\(bu
program\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-stress-test.pl: server-database option
.\" server-database option: mysql-stress-test.pl
\fB\-\-server\-database=\fR\fB\fIdb_name\fR\fR
.sp
The database to use for the tests.
.TP 3n
\(bu
The database to use for the tests\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-stress-test.pl: server-host option
.\" server-host option: mysql-stress-test.pl
\fB\-\-server\-host=\fR\fB\fIhost_name\fR\fR
.sp
The host name of the local host to use for making a TCP/IP connection to the local server. By default, the connection is made to
The host name of the local host to use for making a TCP/IP connection to the local server\&. By default, the connection is made to
localhost
using a Unix socket file.
.TP 3n
\(bu
using a Unix socket file\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-stress-test.pl: server-logs-dir option
.\" server-logs-dir option: mysql-stress-test.pl
\fB\-\-server\-logs\-dir=\fR\fB\fIpath\fR\fR
.sp
This option is required.
This option is required\&.
\fIpath\fR
is the directory where all client session logs will be stored. Usually this is the shared directory that is associated with the server used for testing.
.TP 3n
\(bu
is the directory where all client session logs will be stored\&. Usually this is the shared directory that is associated with the server used for testing\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-stress-test.pl: server-password option
.\" server-password option: mysql-stress-test.pl
\fB\-\-server\-password=\fR\fB\fIpassword\fR\fR
.sp
The password to use when connecting to the server.
.TP 3n
\(bu
The password to use when connecting to the server\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-stress-test.pl: server-port option
.\" server-port option: mysql-stress-test.pl
\fB\-\-server\-port=\fR\fB\fIport_num\fR\fR
.sp
The TCP/IP port number to use for connecting to the server. The default is 3306.
.TP 3n
\(bu
The TCP/IP port number to use for connecting to the server\&. The default is 3306\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-stress-test.pl: server-socket option
.\" server-socket option: mysql-stress-test.pl
\fB\-\-server\-socket=\fR\fB\fIfile_name\fR\fR
.sp
For connections to
localhost, the Unix socket file to use, or, on Windows, the name of the named pipe to use. The default if
\fI/tmp/mysql.sock\fR.
.TP 3n
\(bu
localhost, the Unix socket file to use, or, on Windows, the name of the named pipe to use\&. The default if
/tmp/mysql\&.sock\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-stress-test.pl: server-user option
.\" server-user option: mysql-stress-test.pl
\fB\-\-server\-user=\fR\fB\fIuser_name\fR\fR
.sp
The MySQL user name to use when connecting to the server. The default is
root.
.TP 3n
\(bu
The MySQL user name to use when connecting to the server\&. The default is
root\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-stress-test.pl: sleep-time option
.\" sleep-time option: mysql-stress-test.pl
\fB\-\-sleep\-time=\fR\fB\fIN\fR\fR
.sp
The delay in seconds between test executions.
.TP 3n
\(bu
The delay in seconds between test executions\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-stress-test.pl: stress-basedir option
.\" stress-basedir option: mysql-stress-test.pl
\fB\-\-stress\-basedir=\fR\fB\fIpath\fR\fR
.sp
This option is required.
This option is required\&.
\fIpath\fR
is the working directory for the test run. It is used as the temporary location for result tracking during testing.
.TP 3n
\(bu
is the working directory for the test run\&. It is used as the temporary location for result tracking during testing\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-stress-test.pl: stress-datadir option
.\" stress-datadir option: mysql-stress-test.pl
\fB\-\-stress\-datadir=\fR\fB\fIpath\fR\fR
.sp
The directory of data files to be used during testing. The default location is the
\fIdata\fR
The directory of data files to be used during testing\&. The default location is the
data
directory under the location given by the
\fB\-\-stress\-suite\-basedir\fR
option.
.TP 3n
\(bu
option\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-stress-test.pl: stress-init-file option
.\" stress-init-file option: mysql-stress-test.pl
\fB\-\-stress\-init\-file[=\fR\fB\fIpath\fR\fR\fB]\fR
.sp
\fIfile_name\fR
is the location of the file that contains the list of tests. If missing, the default file is
\fIstress_init.txt\fR
in the test suite directory.
.TP 3n
\(bu
is the location of the file that contains the list of tests\&. If missing, the default file is
stress_init\&.txt
in the test suite directory\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-stress-test.pl: stress-mode option
.\" stress-mode option: mysql-stress-test.pl
\fB\-\-stress\-mode=\fR\fB\fImode\fR\fR
.sp
This option indicates the test order in stress\-test mode. The
This option indicates the test order in stress\-test mode\&. The
\fImode\fR
value is either
random
to select tests in random order or
seq
to run tests in each thread in the order specified in the test list file. The default mode is
random.
.TP 3n
\(bu
to run tests in each thread in the order specified in the test list file\&. The default mode is
random\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-stress-test.pl: stress-suite-basedir option
.\" stress-suite-basedir option: mysql-stress-test.pl
\fB\-\-stress\-suite\-basedir=\fR\fB\fIpath\fR\fR
.sp
This option is required.
This option is required\&.
\fIpath\fR
is the directory that has the
\fIt\fR
t
and
\fIr\fR
subdirectories containing the test case and result files. This directory is also the default location of the
\fIstress\-test.txt\fR
file that contains the list of tests. (A different location can be specified with the
subdirectories containing the test case and result files\&. This directory is also the default location of the
stress\-test\&.txt
file that contains the list of tests\&. (A different location can be specified with the
\fB\-\-stress\-tests\-file\fR
option.)
.TP 3n
\(bu
option\&.)
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-stress-test.pl: stress-tests-file option
.\" stress-tests-file option: mysql-stress-test.pl
\fB\-\-stress\-tests\-file[=\fR\fB\fIfile_name\fR\fR\fB]\fR
.sp
Use this option to run the stress tests.
Use this option to run the stress tests\&.
\fIfile_name\fR
is the location of the file that contains the list of tests. If
is the location of the file that contains the list of tests\&. If
\fIfile_name\fR
is omitted, the default file is
\fIstress\-test.txt\fR
in the stress suite directory. (See
\fB\-\-stress\-suite\-basedir\fR.)
.TP 3n
\(bu
stress\-test\&.txt
in the stress suite directory\&. (See
\fB\-\-stress\-suite\-basedir\fR\&.)
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-stress-test.pl: suite option
.\" suite option: mysql-stress-test.pl
\fB\-\-suite=\fR\fB\fIsuite_name\fR\fR
.sp
Run the named test suite. The default name is
Run the named test suite\&. The default name is
main
(the regular test suite located in the
\fImysql\-test\fR
directory).
.TP 3n
\(bu
mysql\-test
directory)\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-stress-test.pl: test-count option
.\" test-count option: mysql-stress-test.pl
\fB\-\-test\-count=\fR\fB\fIN\fR\fR
.sp
The number of tests to execute before exiting.
.TP 3n
\(bu
The number of tests to execute before exiting\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-stress-test.pl: test-duration option
.\" test-duration option: mysql-stress-test.pl
\fB\-\-test\-duration=\fR\fB\fIN\fR\fR
.sp
The duration of stress testing in seconds.
.TP 3n
\(bu
The duration of stress testing in seconds\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-stress-test.pl: test-suffix option
.\" test-suffix option: mysql-stress-test.pl
\fB\-\-test\-suffix=\fR\fB\fIstr\fR\fR
.sp
Unknown.
.TP 3n
\(bu
Unknown\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-stress-test.pl: threads option
.\" threads option: mysql-stress-test.pl
\fB\-\-threads=\fR\fB\fIN\fR\fR
.sp
The number of threads. The default is 1.
.TP 3n
\(bu
The number of threads\&. The default is 1\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-stress-test.pl: verbose option
.\" verbose option: mysql-stress-test.pl
\fB\-\-verbose\fR
.sp
Verbose mode. Print more information about what the program does.
Verbose mode\&. Print more information about what the program does\&.
.RE
.SH "COPYRIGHT"
.br
.PP
Copyright 2007\-2008 MySQL AB, 2009 Sun Microsystems, Inc.
Copyright 2007-2008 MySQL AB, 2009 Sun Microsystems, Inc.
.PP
This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.
.PP
This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
.PP
You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110\-1301 USA or see http://www.gnu.org/licenses/.
You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/.
.sp
.SH "SEE ALSO"
For more information, please refer to the MySQL Reference Manual,
which may already be installed locally and which is also available
online at http://dev.mysql.com/doc/.
.SH AUTHOR
MySQL AB (http://www.mysql.com/).
Sun Microsystems, Inc. (http://www.mysql.com/).

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,111 +1,192 @@
'\" t
.\" Title: \fBmysql.server\fR
.\" Author:
.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
.\" Date: 03/31/2009
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009
.\" Manual: MySQL Database System
.\" Source: MySQL 5.1
.\" Language: English
.\"
.TH "\fBMYSQL.SERVER\fR" "1" "03/31/2009" "MySQL 5.1" "MySQL Database System"
.TH "\FBMYSQL\&.SERVER\FR" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System"
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.\" mysql.server
.SH "NAME"
mysql.server \- MySQL server startup script
.SH "SYNOPSIS"
.HP 19
.HP \w'\fBmysql\ {start|stop}\fR\ 'u
\fBmysql {start|stop}\fR
.SH "DESCRIPTION"
.PP
MySQL distributions on Unix include a script named
\fBmysql.server\fR. It can be used on systems such as Linux and Solaris that use System V\-style run directories to start and stop system services. It is also used by the Mac OS X Startup Item for MySQL.
\fBmysql\&.server\fR\&. It can be used on systems such as Linux and Solaris that use System V\-style run directories to start and stop system services\&. It is also used by the Mac OS X Startup Item for MySQL\&.
.PP
\fBmysql.server\fR
\fBmysql\&.server\fR
can be found in the
\fIsupport\-files\fR
directory under your MySQL installation directory or in a MySQL source distribution.
support\-files
directory under your MySQL installation directory or in a MySQL source distribution\&.
.PP
If you use the Linux server RPM package (MySQL\-server\-\fIVERSION\fR.rpm), the
\fBmysql.server\fR
If you use the Linux server RPM package (MySQL\-server\-\fIVERSION\fR\&.rpm), the
\fBmysql\&.server\fR
script will be installed in the
\fI/etc/init.d\fR
/etc/init\&.d
directory with the name
\fImysql\fR. 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.
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\&.
.PP
Some vendors provide RPM packages that install a startup script under a different name such as
\fBmysqld\fR.
\fBmysqld\fR\&.
.PP
If you install MySQL from a source distribution or using a binary distribution format that does not install
\fBmysql.server\fR
automatically, you can install it manually. Instructions are provided in
Section\ 2.11.2.2, \(lqStarting and Stopping MySQL Automatically\(rq.
\fBmysql\&.server\fR
automatically, you can install it manually\&. Instructions are provided in
Section\ \&2.11.2.2, \(lqStarting and Stopping MySQL Automatically\(rq\&.
.PP
\fBmysql.server\fR
\fBmysql\&.server\fR
reads options from the
[mysql.server]
[mysql\&.server]
and
[mysqld]
sections of option files. For backward compatibility, it also reads
sections of option files\&. For backward compatibility, it also reads
[mysql_server]
sections, although you should rename such sections to
[mysql.server]
when using MySQL 5.1.
[mysql\&.server]
when using MySQL 5\&.1\&.
.PP
\fBmysql.server\fR
understands the following options:
.TP 3n
\(bu
\fBmysql\&.server\fR
supports the following options:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql.server: basedir option
.\" basedir option: mysql.server
\fB\-\-basedir=\fR\fB\fIpath\fR\fR
.sp
The path to the MySQL installation directory.
.TP 3n
\(bu
The path to the MySQL installation directory\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql.server: datadir option
.\" datadir option: mysql.server
\fB\-\-datadir=\fR\fB\fIpath\fR\fR
.sp
The path to the MySQL data directory.
.TP 3n
\(bu
The path to the MySQL data directory\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql.server: pid-file option
.\" pid-file option: mysql.server
\fB\-\-pid\-file=\fR\fB\fIfile_name\fR\fR
.sp
The path name of the file in which the server should write its process ID.
.TP 3n
\(bu
The path name of the file in which the server should write its process ID\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql.server: service-startup-timeout option
.\" service-startup-timeout option: mysql.server
\fB\-\-service\-startup\-timeout=\fR\fB\fIfile_name\fR\fR
.sp
How long in seconds to wait for confirmation of server startup. If the server does not start within this time,
\fBmysql.server\fR
exits with an error. The default value is 900. A value of 0 means not to wait at all for startup. Negative values mean to wait forever (no timeout). This option was added in MySQL 5.1.17. Before that, a value of 900 is always used.
.TP 3n
\(bu
How long in seconds to wait for confirmation of server startup\&. If the server does not start within this time,
\fBmysql\&.server\fR
exits with an error\&. The default value is 900\&. A value of 0 means not to wait at all for startup\&. Negative values mean to wait forever (no timeout)\&. This option was added in MySQL 5\&.1\&.17\&. Before that, a value of 900 is always used\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql.server: use-mysqld_safe option
.\" use-mysqld_safe option: mysql.server
\fB\-\-use\-mysqld_safe\fR
.sp
Use
\fBmysqld_safe\fR
to start the server. This is the default.
.TP 3n
\(bu
to start the server\&. This is the default\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql.server: use-manager option
.\" use-manager option: mysql.server
\fB\-\-use\-manager\fR
.sp
Use Instance Manager to start the server.
.TP 3n
\(bu
Use Instance Manager to start the server\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql.server: user option
.\" user option: mysql.server
\fB\-\-user=\fR\fB\fIuser_name\fR\fR
.sp
The login user name to use for running
\fBmysqld\fR.
\fBmysqld\fR\&.
.RE
.SH "COPYRIGHT"
.br
.PP
Copyright 2007\-2008 MySQL AB, 2009 Sun Microsystems, Inc.
Copyright 2007-2008 MySQL AB, 2009 Sun Microsystems, Inc.
.PP
This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.
.PP
This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
.PP
You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110\-1301 USA or see http://www.gnu.org/licenses/.
You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/.
.sp
.SH "SEE ALSO"
For more information, please refer to the MySQL Reference Manual,
which may already be installed locally and which is also available
online at http://dev.mysql.com/doc/.
.SH AUTHOR
MySQL AB (http://www.mysql.com/).
Sun Microsystems, Inc. (http://www.mysql.com/).

View file

@ -1,166 +1,336 @@
'\" t
.\" Title: \fBmysql_client_test\fR
.\" Author:
.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
.\" Date: 03/27/2009
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/08/2009
.\" Manual: MySQL Database System
.\" Source: MySQL
.\" Language: English
.\"
.TH "\fBMYSQL_CLIENT_TEST" "1" "03/27/2009" "MySQL" "MySQL Database System"
.TH "\FBMYSQL_CLIENT_TEST" "1" "08/08/2009" "MySQL" "MySQL Database System"
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.\" mysql_client_test
.\" mysql_client_test_embedded
.SH "NAME"
mysql_client_test \- test client API
.br
mysql_client_test_embedded \- test client API for embedded server
.SH "SYNOPSIS"
.HP 44
\fBmysql_client_test [\fR\fB\fIoptions\fR\fR\fB] [\fR\fB\fItest_name\fR\fR\fB] ...\fR
.HP 53
\fBmysql_client_test_embedded [\fR\fB\fIoptions\fR\fR\fB] [\fR\fB\fItest_name\fR\fR\fB] ...\fR
.HP \w'\fBmysql_client_test\ [\fR\fB\fIoptions\fR\fR\fB]\ [\fR\fB\fItest_name\fR\fR\fB]\ \&.\&.\&.\fR\ 'u
\fBmysql_client_test [\fR\fB\fIoptions\fR\fR\fB] [\fR\fB\fItest_name\fR\fR\fB] \&.\&.\&.\fR
.HP \w'\fBmysql_client_test_embedded\ [\fR\fB\fIoptions\fR\fR\fB]\ [\fR\fB\fItest_name\fR\fR\fB]\ \&.\&.\&.\fR\ 'u
\fBmysql_client_test_embedded [\fR\fB\fIoptions\fR\fR\fB] [\fR\fB\fItest_name\fR\fR\fB] \&.\&.\&.\fR
.SH "DESCRIPTION"
.PP
The
\fBmysql_client_test\fR
program is used for testing aspects of the MySQL client API that cannot be tested using
\fBmysqltest\fR
and its test language.
and its test language\&.
\fBmysql_client_test_embedded\fR
is similar but used for testing the embedded server. Both programs are run as part of the test suite.
is similar but used for testing the embedded server\&. Both programs are run as part of the test suite\&.
.PP
The source code for the programs can be found in in
\fItest/mysql_client_test.c\fR
in a source distribution. The program serves as a good source of examples illustrating how to use various features of the client API.
test/mysql_client_test\&.c
in a source distribution\&. The program serves as a good source of examples illustrating how to use various features of the client API\&.
.PP
\fBmysql_client_test\fR
supports the following options:
.TP 3n
\(bu
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_client_test: help option
.\" help option: mysql_client_test
\fB\-\-help\fR,
\fB\-?\fR
.sp
Display a help message and exit.
.TP 3n
\(bu
Display a help message and exit\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB\-b \fR\fB\fIdir_name\fR\fR,
.\" mysql_client_test: basedir option
.\" basedir option: mysql_client_test
\fB\-\-basedir=\fR\fB\fIdir_name\fR\fR
.sp
The base directory for the tests.
.TP 3n
\(bu
The base directory for the tests\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB\-t \fR\fB\fIcount\fR\fR,
.\" mysql_client_test: count option
.\" count option: mysql_client_test
\fB\-\-count=\fR\fB\fIcount\fR\fR
.sp
The number of times to execute the tests.
.TP 3n
\(bu
The number of times to execute the tests\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_client_test: database option
.\" database option: mysql_client_test
\fB\-\-database=\fR\fB\fIdb_name\fR\fR,
\fB\-D \fR\fB\fIdb_name\fR\fR
.sp
The database to use.
.TP 3n
\(bu
The database to use\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_client_test: debug option
.\" debug option: mysql_client_test
\fB\-\-debug[=\fR\fB\fIdebug_options\fR\fR\fB]\fR,
\fB\-#[\fR\fB\fIdebug_options\fR\fR\fB]\fR
.sp
Write a debugging log if MySQL is built with debugging support. The default
Write a debugging log if MySQL is built with debugging support\&. The default
\fIdebug_options\fR
value is
\'d:t:o,/tmp/mysql_client_test.trace'.
.TP 3n
\(bu
\'d:t:o,/tmp/mysql_client_test\&.trace\'\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB\-g \fR\fB\fIoption\fR\fR,
.\" mysql_client_test: getopt-ll-test option
.\" getopt-ll-test option: mysql_client_test
\fB\-\-getopt\-ll\-test=\fR\fB\fIoption\fR\fR
.sp
Option to use for testing bugs in the
getopt
library.
.TP 3n
\(bu
library\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_client_test: host option
.\" host option: mysql_client_test
\fB\-\-host=\fR\fB\fIhost_name\fR\fR,
\fB\-h \fR\fB\fIhost_name\fR\fR
.sp
Connect to the MySQL server on the given host.
.TP 3n
\(bu
Connect to the MySQL server on the given host\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_client_test: password option
.\" password option: mysql_client_test
\fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR,
\fB\-p[\fR\fB\fIpassword\fR\fR\fB]\fR
.sp
The password to use when connecting to the server. If you use the short option form (\fB\-p\fR), you
The password to use when connecting to the server\&. If you use the short option form (\fB\-p\fR), you
\fIcannot\fR
have a space between the option and the password. If you omit the
have a space between the option and the password\&. If you omit the
\fIpassword\fR
value following the
.\" mysql_client_test: password option
.\" password option: mysql_client_test
\fB\-\-password\fR
or
\fB\-p\fR
option on the command line, you are prompted for one.
.TP 3n
\(bu
option on the command line, you are prompted for one\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_client_test: port option
.\" port option: mysql_client_test
\fB\-\-port=\fR\fB\fIport_num\fR\fR,
\fB\-P \fR\fB\fIport_num\fR\fR
.sp
The TCP/IP port number to use for the connection.
.TP 3n
\(bu
The TCP/IP port number to use for the connection\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB\-A \fR\fB\fIarg\fR\fR,
.\" mysql_client_test: server-arg option
.\" server-arg option: mysql_client_test
\fB\-\-server\-arg=\fR\fB\fIarg\fR\fR
.sp
Argument to send to the embedded server.
.TP 3n
\(bu
Argument to send to the embedded server\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB\-T\fR,
\fB\-\-show\-tests\fR
.sp
Show all test names.
.TP 3n
\(bu
Show all test names\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_client_test: silent option
.\" silent option: mysql_client_test
\fB\-\-silent\fR,
\fB\-s\fR
.sp
Be more silent.
.TP 3n
\(bu
Be more silent\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_client_test: socket option
.\" socket option: mysql_client_test
\fB\-\-socket=\fR\fB\fIpath\fR\fR,
\fB\-S \fR\fB\fIpath\fR\fR
.sp
The socket file to use when connecting to
localhost
(which is the default host).
.TP 3n
\(bu
(which is the default host)\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB\-c\fR,
\fB\-\-testcase\fR
.sp
The option may disable some code when run as a
\fBmysql\-test\-run.pl\fR
test case.
.TP 3n
\(bu
\fBmysql\-test\-run\&.pl\fR
test case\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_client_test: user option
.\" user option: mysql_client_test
\fB\-\-user=\fR\fB\fIuser_name\fR\fR,
\fB\-u \fR\fB\fIuser_name\fR\fR
.sp
The MySQL user name to use when connecting to the server.
.TP 3n
\(bu
The MySQL user name to use when connecting to the server\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB\-v \fR\fB\fIdir_name\fR\fR,
.\" mysql_client_test: vardir option
.\" vardir option: mysql_client_test
\fB\-\-vardir=\fR\fB\fIdir_name\fR\fR
.sp
The data directory for tests. The default is
\fImysql\-test/var\fR.
The data directory for tests\&. The default is
mysql\-test/var\&.
.RE
.SH "COPYRIGHT"
.br
.PP
Copyright 2007\-2008 MySQL AB, 2009 Sun Microsystems, Inc.
Copyright 2007-2008 MySQL AB, 2009 Sun Microsystems, Inc.
.PP
This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.
.PP
This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
.PP
You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110\-1301 USA or see http://www.gnu.org/licenses/.
You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/.
.sp
.SH "SEE ALSO"
For more information, please refer to the MySQL Reference Manual,
which may already be installed locally and which is also available
online at http://dev.mysql.com/doc/.
.SH AUTHOR
MySQL AB (http://www.mysql.com/).
Sun Microsystems, Inc. (http://www.mysql.com/).

View file

@ -1,85 +1,186 @@
'\" t
.\" Title: \fBmysql_config\fR
.\" Author:
.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
.\" Date: 03/31/2009
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009
.\" Manual: MySQL Database System
.\" Source: MySQL 5.1
.\" Language: English
.\"
.TH "\fBMYSQL_CONFIG\fR" "1" "03/31/2009" "MySQL 5.1" "MySQL Database System"
.TH "\FBMYSQL_CONFIG\FR" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System"
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.\" mysql_config
.SH "NAME"
mysql_config \- get compile options for compiling clients
.SH "SYNOPSIS"
.HP 21
.HP \w'\fBmysql_config\ \fR\fB\fIoptions\fR\fR\ 'u
\fBmysql_config \fR\fB\fIoptions\fR\fR
.SH "DESCRIPTION"
.PP
\fBmysql_config\fR
provides you with useful information for compiling your MySQL client and connecting it to MySQL.
provides you with useful information for compiling your MySQL client and connecting it to MySQL\&.
.PP
\fBmysql_config\fR
supports the following options:
.TP 3n
\(bu
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_config: cflags option
.\" cflags option: mysql_config
\fB\-\-cflags\fR
.sp
Compiler flags to find include files and critical compiler flags and defines used when compiling the
libmysqlclient
library. The options returned are tied to the specific compiler that was used when the library was created and might clash with the settings for your own compiler. Use
library\&. The options returned are tied to the specific compiler that was used when the library was created and might clash with the settings for your own compiler\&. Use
\fB\-\-include\fR
for more portable options that contain only include paths.
.TP 3n
\(bu
for more portable options that contain only include paths\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_config: include option
.\" include option: mysql_config
\fB\-\-include\fR
.sp
Compiler options to find MySQL include files.
.TP 3n
\(bu
Compiler options to find MySQL include files\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_config: libmysqld-libs option
.\" libmysqld-libs option: mysql_config
.\" mysql_config: embedded option
.\" embedded option: mysql_config
\fB\-\-libmysqld\-libs\fR,
\fB\-\-embedded\fR
.sp
Libraries and options required to link with the MySQL embedded server.
.TP 3n
\(bu
Libraries and options required to link with the MySQL embedded server\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_config: libs option
.\" libs option: mysql_config
\fB\-\-libs\fR
.sp
Libraries and options required to link with the MySQL client library.
.TP 3n
\(bu
Libraries and options required to link with the MySQL client library\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_config: libs_r option
.\" libs_r option: mysql_config
\fB\-\-libs_r\fR
.sp
Libraries and options required to link with the thread\-safe MySQL client library.
.TP 3n
\(bu
Libraries and options required to link with the thread\-safe MySQL client library\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_config: plugindir option
.\" plugindir option: mysql_config
\fB\-\-plugindir\fR
.sp
The default plugin directory path name, defined when configuring MySQL. This option was added in MySQL 5.1.24.
.TP 3n
\(bu
The default plugin directory path name, defined when configuring MySQL\&. This option was added in MySQL 5\&.1\&.24\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_config: port option
.\" port option: mysql_config
\fB\-\-port\fR
.sp
The default TCP/IP port number, defined when configuring MySQL.
.TP 3n
\(bu
The default TCP/IP port number, defined when configuring MySQL\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_config: socket option
.\" socket option: mysql_config
\fB\-\-socket\fR
.sp
The default Unix socket file, defined when configuring MySQL.
.TP 3n
\(bu
The default Unix socket file, defined when configuring MySQL\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_config: version option
.\" version option: mysql_config
\fB\-\-version\fR
.sp
Version number for the MySQL distribution.
.sp
Version number for the MySQL distribution\&.
.RE
.PP
If you invoke
\fBmysql_config\fR
with no options, it displays a list of all options that it supports, and their values:
.sp
.RS 3n
.if n \{\
.RS 4
.\}
.nf
shell> \fBmysql_config\fR
Usage: /usr/local/mysql/bin/mysql_config [options]
@ -90,42 +191,50 @@ Options:
\-lcrypt \-lnsl \-lm \-L/usr/lib \-lssl \-lcrypto]
\-\-libs_r [\-L/usr/local/mysql/lib/mysql \-lmysqlclient_r
\-lpthread \-lz \-lcrypt \-lnsl \-lm \-lpthread]
\-\-socket [/tmp/mysql.sock]
\-\-socket [/tmp/mysql\&.sock]
\-\-port [3306]
\-\-version [4.0.16]
\-\-version [4\&.0\&.16]
\-\-libmysqld\-libs [\-L/usr/local/mysql/lib/mysql \-lmysqld \-lpthread \-lz
\-lcrypt \-lnsl \-lm \-lpthread \-lrt]
.fi
.if n \{\
.RE
.\}
.PP
You can use
\fBmysql_config\fR
within a command line to include the value that it displays for a particular option. For example, to compile a MySQL client program, use
within a command line to include the value that it displays for a particular option\&. For example, to compile a MySQL client program, use
\fBmysql_config\fR
as follows:
.sp
.RS 3n
.if n \{\
.RS 4
.\}
.nf
shell> \fBCFG=/usr/local/mysql/bin/mysql_config\fR
shell> \fBsh \-c "gcc \-o progname `$CFG \-\-include` progname.c `$CFG \-\-libs`"\fR
shell> \fBsh \-c "gcc \-o progname `$CFG \-\-include` progname\&.c `$CFG \-\-libs`"\fR
.fi
.if n \{\
.RE
.\}
.PP
When you use
\fBmysql_config\fR
this way, be sure to invoke it within backtick (\(lq`\(rq) characters. That tells the shell to execute it and substitute its output into the surrounding command.
this way, be sure to invoke it within backtick (\(lq`\(rq) characters\&. That tells the shell to execute it and substitute its output into the surrounding command\&.
.SH "COPYRIGHT"
.br
.PP
Copyright 2007\-2008 MySQL AB, 2009 Sun Microsystems, Inc.
Copyright 2007-2008 MySQL AB, 2009 Sun Microsystems, Inc.
.PP
This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.
.PP
This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
.PP
You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110\-1301 USA or see http://www.gnu.org/licenses/.
You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/.
.sp
.SH "SEE ALSO"
For more information, please refer to the MySQL Reference Manual,
which may already be installed locally and which is also available
online at http://dev.mysql.com/doc/.
.SH AUTHOR
MySQL AB (http://www.mysql.com/).
Sun Microsystems, Inc. (http://www.mysql.com/).

View file

@ -1,117 +1,232 @@
'\" t
.\" Title: \fBmysql_convert_table_format\fR
.\" Author:
.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
.\" Date: 03/31/2009
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009
.\" Manual: MySQL Database System
.\" Source: MySQL 5.1
.\" Language: English
.\"
.TH "\fBMYSQL_CONVERT_TAB" "1" "03/31/2009" "MySQL 5.1" "MySQL Database System"
.TH "\FBMYSQL_CONVERT_TAB" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System"
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.\" mysql_convert_table_format
.SH "NAME"
mysql_convert_table_format \- convert tables to use a given storage engine
.SH "SYNOPSIS"
.HP 45
.HP \w'\fBmysql_convert_table_format\ [\fR\fB\fIoptions\fR\fR\fB]\ \fR\fB\fIdb_name\fR\fR\ 'u
\fBmysql_convert_table_format [\fR\fB\fIoptions\fR\fR\fB] \fR\fB\fIdb_name\fR\fR
.SH "DESCRIPTION"
.PP
\fBmysql_convert_table_format\fR
converts the tables in a database to use a particular storage engine (MyISAM
by default).
by default)\&.
\fBmysql_convert_table_format\fR
is written in Perl and requires that the
DBI
and
DBD::mysql
Perl modules be installed (see
Section\ 2.15, \(lqPerl Installation Notes\(rq).
Section\ \&2.15, \(lqPerl Installation Notes\(rq)\&.
.PP
Invoke
\fBmysql_convert_table_format\fR
like this:
.sp
.RS 3n
.if n \{\
.RS 4
.\}
.nf
shell> \fBmysql_convert_table_format [\fR\fB\fIoptions\fR\fR\fB]\fR\fB\fIdb_name\fR\fR
.fi
.if n \{\
.RE
.\}
.PP
The
\fIdb_name\fR
argument indicates the database containing the tables to be converted.
argument indicates the database containing the tables to be converted\&.
.PP
\fBmysql_convert_table_format\fR
understands the options described in the following list.
.TP 3n
\(bu
supports the options described in the following list\&.
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_convert_table_format: help option
.\" help option: mysql_convert_table_format
\fB\-\-help\fR
.sp
Display a help message and exit.
.TP 3n
\(bu
Display a help message and exit\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_convert_table_format: force option
.\" force option: mysql_convert_table_format
\fB\-\-force\fR
.sp
Continue even if errors occur.
.TP 3n
\(bu
Continue even if errors occur\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_convert_table_format: host option
.\" host option: mysql_convert_table_format
\fB\-\-host=\fR\fB\fIhost_name\fR\fR
.sp
Connect to the MySQL server on the given host.
.TP 3n
\(bu
Connect to the MySQL server on the given host\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_convert_table_format: password option
.\" password option: mysql_convert_table_format
\fB\-\-password=\fR\fB\fIpassword\fR\fR
.sp
The password to use when connecting to the server. Note that the password value is not optional for this option, unlike for other MySQL programs. You can use an option file to avoid giving the password on the command line.
The password to use when connecting to the server\&. Note that the password value is not optional for this option, unlike for other MySQL programs\&. You can use an option file to avoid giving the password on the command line\&.
.sp
Specifying a password on the command line should be considered insecure. See
Section\ 5.5.6.2, \(lqEnd\-User Guidelines for Password Security\(rq.
.TP 3n
\(bu
Specifying a password on the command line should be considered insecure\&. See
Section\ \&5.5.6.2, \(lqEnd-User Guidelines for Password Security\(rq\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_convert_table_format: port option
.\" port option: mysql_convert_table_format
\fB\-\-port=\fR\fB\fIport_num\fR\fR
.sp
The TCP/IP port number to use for the connection.
.TP 3n
\(bu
The TCP/IP port number to use for the connection\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_convert_table_format: socket option
.\" socket option: mysql_convert_table_format
\fB\-\-socket=\fR\fB\fIpath\fR\fR
.sp
For connections to
localhost, the Unix socket file to use.
.TP 3n
\(bu
localhost, the Unix socket file to use\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_convert_table_format: type option
.\" type option: mysql_convert_table_format
\fB\-\-type=\fR\fB\fIengine_name\fR\fR
.sp
Specify the storage engine that the tables should be converted to use. The default is
Specify the storage engine that the tables should be converted to use\&. The default is
MyISAM
if this option is not given.
.TP 3n
\(bu
if this option is not given\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_convert_table_format: user option
.\" user option: mysql_convert_table_format
\fB\-\-user=\fR\fB\fIuser_name\fR\fR
.sp
The MySQL user name to use when connecting to the server.
.TP 3n
\(bu
The MySQL user name to use when connecting to the server\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_convert_table_format: verbose option
.\" verbose option: mysql_convert_table_format
\fB\-\-verbose\fR
.sp
Verbose mode. Print more information about what the program does.
.TP 3n
\(bu
Verbose mode\&. Print more information about what the program does\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_convert_table_format: version option
.\" version option: mysql_convert_table_format
\fB\-\-version\fR
.sp
Display version information and exit.
Display version information and exit\&.
.RE
.SH "COPYRIGHT"
.br
.PP
Copyright 2007\-2008 MySQL AB, 2009 Sun Microsystems, Inc.
Copyright 2007-2008 MySQL AB, 2009 Sun Microsystems, Inc.
.PP
This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.
.PP
This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
.PP
You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110\-1301 USA or see http://www.gnu.org/licenses/.
You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/.
.sp
.SH "SEE ALSO"
For more information, please refer to the MySQL Reference Manual,
which may already be installed locally and which is also available
online at http://dev.mysql.com/doc/.
.SH AUTHOR
MySQL AB (http://www.mysql.com/).
Sun Microsystems, Inc. (http://www.mysql.com/).

View file

@ -1,20 +1,29 @@
'\" t
.\" Title: \fBmysql_find_rows\fR
.\" Author:
.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
.\" Date: 03/31/2009
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009
.\" Manual: MySQL Database System
.\" Source: MySQL 5.1
.\" Language: English
.\"
.TH "\fBMYSQL_FIND_ROWS\\F" "1" "03/31/2009" "MySQL 5.1" "MySQL Database System"
.TH "\FBMYSQL_FIND_ROWS\F" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System"
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.\" mysql_find_rows
.SH "NAME"
mysql_find_rows \- extract SQL statements from files
.SH "SYNOPSIS"
.HP 42
\fBmysql_find_rows [\fR\fB\fIoptions\fR\fR\fB] [\fR\fB\fIfile_name\fR\fR\fB ...]\fR
.HP \w'\fBmysql_find_rows\ [\fR\fB\fIoptions\fR\fR\fB]\ [\fR\fB\fIfile_name\fR\fR\fB\ \&.\&.\&.]\fR\ 'u
\fBmysql_find_rows [\fR\fB\fIoptions\fR\fR\fB] [\fR\fB\fIfile_name\fR\fR\fB \&.\&.\&.]\fR
.SH "DESCRIPTION"
.PP
\fBmysql_find_rows\fR
@ -22,77 +31,137 @@ reads files containing SQL statements and extracts statements that match a given
USE \fIdb_name\fR
or
SET
statements. The utility was written for use with update log files (as used prior to MySQL 5.0) and as such expects statements to be terminated with semicolon (;) characters. It may be useful with other files that contain SQL statements as long as statements are terminated with semicolons.
statements\&. The utility was written for use with update log files (as used prior to MySQL 5\&.0) and as such expects statements to be terminated with semicolon (;) characters\&. It may be useful with other files that contain SQL statements as long as statements are terminated with semicolons\&.
.PP
Invoke
\fBmysql_find_rows\fR
like this:
.sp
.RS 3n
.if n \{\
.RS 4
.\}
.nf
shell> \fBmysql_find_rows [\fR\fB\fIoptions\fR\fR\fB] [\fR\fB\fIfile_name\fR\fR\fB ...]\fR
shell> \fBmysql_find_rows [\fR\fB\fIoptions\fR\fR\fB] [\fR\fB\fIfile_name\fR\fR\fB \&.\&.\&.]\fR
.fi
.if n \{\
.RE
.\}
.PP
Each
\fIfile_name\fR
argument should be the name of file containing SQL statements. If no file names are given,
argument should be the name of file containing SQL statements\&. If no file names are given,
\fBmysql_find_rows\fR
reads the standard input.
reads the standard input\&.
.PP
Examples:
.sp
.RS 3n
.if n \{\
.RS 4
.\}
.nf
mysql_find_rows \-\-regexp=problem_table \-\-rows=20 < update.log
mysql_find_rows \-\-regexp=problem_table update\-log.1 update\-log.2
mysql_find_rows \-\-regexp=problem_table \-\-rows=20 < update\&.log
mysql_find_rows \-\-regexp=problem_table update\-log\&.1 update\-log\&.2
.fi
.if n \{\
.RE
.\}
.PP
\fBmysql_find_rows\fR
supports the following options:
.TP 3n
\(bu
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_find_rows: help option
.\" help option: mysql_find_rows
\fB\-\-help\fR,
\fB\-\-Information\fR
.sp
Display a help message and exit.
.TP 3n
\(bu
Display a help message and exit\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_find_rows: regexp option
.\" regexp option: mysql_find_rows
\fB\-\-regexp=\fR\fB\fIpattern\fR\fR
.sp
Display queries that match the pattern.
.TP 3n
\(bu
Display queries that match the pattern\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_find_rows: rows option
.\" rows option: mysql_find_rows
\fB\-\-rows=\fR\fB\fIN\fR\fR
.sp
Quit after displaying
\fIN\fR
queries.
.TP 3n
\(bu
queries\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_find_rows: skip-use-db option
.\" skip-use-db option: mysql_find_rows
\fB\-\-skip\-use\-db\fR
.sp
Do not include
USE \fIdb_name\fR
statements in the output.
.TP 3n
\(bu
statements in the output\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_find_rows: start_row option
.\" start_row option: mysql_find_rows
\fB\-\-start_row=\fR\fB\fIN\fR\fR
.sp
Start output from this row.
Start output from this row\&.
.RE
.SH "COPYRIGHT"
.br
.PP
Copyright 2007\-2008 MySQL AB, 2009 Sun Microsystems, Inc.
Copyright 2007-2008 MySQL AB, 2009 Sun Microsystems, Inc.
.PP
This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.
.PP
This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
.PP
You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110\-1301 USA or see http://www.gnu.org/licenses/.
You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/.
.sp
.SH "SEE ALSO"
For more information, please refer to the MySQL Reference Manual,
which may already be installed locally and which is also available
online at http://dev.mysql.com/doc/.
.SH AUTHOR
MySQL AB (http://www.mysql.com/).
Sun Microsystems, Inc. (http://www.mysql.com/).

View file

@ -1,19 +1,28 @@
'\" t
.\" Title: \fBmysql_fix_extensions\fR
.\" Author:
.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
.\" Date: 03/31/2009
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009
.\" Manual: MySQL Database System
.\" Source: MySQL 5.1
.\" Language: English
.\"
.TH "\fBMYSQL_FIX_EXTENSI" "1" "03/31/2009" "MySQL 5.1" "MySQL Database System"
.TH "\FBMYSQL_FIX_EXTENSI" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System"
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.\" mysql_fix_extensions
.SH "NAME"
mysql_fix_extensions \- normalize table file name extensions
.SH "SYNOPSIS"
.HP 30
.HP \w'\fBmysql_fix_extensions\ \fR\fB\fIdata_dir\fR\fR\ 'u
\fBmysql_fix_extensions \fR\fB\fIdata_dir\fR\fR
.SH "DESCRIPTION"
.PP
@ -21,42 +30,48 @@ mysql_fix_extensions \- normalize table file name extensions
converts the extensions for
MyISAM
(or
ISAM) table files to their canonical forms. It looks for files with extensions matching any lettercase variant of
\fI.frm\fR,
\fI.myd\fR,
\fI.myi\fR,
\fI.isd\fR, and
\fI.ism\fR
ISAM) table files to their canonical forms\&. It looks for files with extensions matching any lettercase variant of
\&.frm,
\&.myd,
\&.myi,
\&.isd, and
\&.ism
and renames them to have extensions of
\fI.frm\fR,
\fI.MYD\fR,
\fI.MYI\fR,
\fI.ISD\fR, and
\fI.ISM\fR, respectively. This can be useful after transferring the files from a system with case\-insensitive file names (such as Windows) to a system with case\-sensitive file names.
\&.frm,
\&.MYD,
\&.MYI,
\&.ISD, and
\&.ISM, respectively\&. This can be useful after transferring the files from a system with case\-insensitive file names (such as Windows) to a system with case\-sensitive file names\&.
.PP
Invoke
\fBmysql_fix_extensions\fR
like this, where
\fIdata_dir\fR
is the path name to the MySQL data directory.
is the path name to the MySQL data directory\&.
.sp
.RS 3n
.if n \{\
.RS 4
.\}
.nf
shell> \fBmysql_fix_extensions \fR\fB\fIdata_dir\fR\fR
.fi
.if n \{\
.RE
.\}
.SH "COPYRIGHT"
.br
.PP
Copyright 2007\-2008 MySQL AB, 2009 Sun Microsystems, Inc.
Copyright 2007-2008 MySQL AB, 2009 Sun Microsystems, Inc.
.PP
This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.
.PP
This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
.PP
You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110\-1301 USA or see http://www.gnu.org/licenses/.
You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/.
.sp
.SH "SEE ALSO"
For more information, please refer to the MySQL Reference Manual,
which may already be installed locally and which is also available
online at http://dev.mysql.com/doc/.
.SH AUTHOR
MySQL AB (http://www.mysql.com/).
Sun Microsystems, Inc. (http://www.mysql.com/).

View file

@ -1,123 +1,173 @@
'\" t
.\" Title: \fBmysql_fix_privilege_tables\fR
.\" Author:
.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
.\" Date: 03/31/2009
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009
.\" Manual: MySQL Database System
.\" Source: MySQL 5.1
.\" Language: English
.\"
.TH "\fBMYSQL_FIX_PRIVILE" "1" "03/31/2009" "MySQL 5.1" "MySQL Database System"
.TH "\FBMYSQL_FIX_PRIVILE" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System"
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.\" mysql_fix_privilege_tables
.\" upgrading: grant tables
.\" grant tables: upgrading
.SH "NAME"
mysql_fix_privilege_tables \- upgrade MySQL system tables
.SH "SYNOPSIS"
.HP 52
.HP \w'\fBmysql_fix_privilege_tables\ \-\-password=\fR\fB\fIroot_password\fR\fR\ 'u
\fBmysql_fix_privilege_tables \-\-password=\fR\fB\fIroot_password\fR\fR
.SH "DESCRIPTION"
.PP
Some releases of MySQL introduce changes to the structure of the system tables in the
mysql
database to add new privileges or support new features. When you update to a new version of MySQL, you should update your system tables as well to make sure that their structure is up to date. Otherwise, there might be capabilities that you cannot take advantage of. First, make a backup of your
mysql
database, and then use the following procedure.
.if n \{\
.sp
.\}
.RS 4
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
\fBNote\fR
.ps -1
.br
.PP
As of MySQL 5.1.7,
In MySQL 5\&.1\&.7,
\fBmysql_fix_privilege_tables\fR
is superseded by
\fBmysql_upgrade\fR, which should be used instead. See
\fBmysql_upgrade\fR(1).
was superseded by
\fBmysql_upgrade\fR, which should be used instead\&. See
\fBmysql_upgrade\fR(1)\&.
.sp .5v
.RE
.PP
Some releases of MySQL introduce changes to the structure of the system tables in the
mysql
database to add new privileges or support new features\&. When you update to a new version of MySQL, you should update your system tables as well to make sure that their structure is up to date\&. Otherwise, there might be capabilities that you cannot take advantage of\&.
.PP
\fBmysql_fix_privilege_tables\fR
is an older script that previously was used to uprade the system tables in the
mysql
database after a MySQL upgrade\&.
.PP
Before running
\fBmysql_fix_privilege_tables\fR, make a backup of your
mysql
database\&.
.PP
On Unix or Unix\-like systems, update the system tables by running the
\fBmysql_fix_privilege_tables\fR
script:
.sp
.RS 3n
.if n \{\
.RS 4
.\}
.nf
shell> \fBmysql_fix_privilege_tables\fR
.fi
.if n \{\
.RE
.\}
.PP
You must run this script while the server is running. It attempts to connect to the server running on the local host as
root. If your
You must run this script while the server is running\&. It attempts to connect to the server running on the local host as
root\&. If your
root
account requires a password, indicate the password on the command line like this:
.sp
.RS 3n
.if n \{\
.RS 4
.\}
.nf
shell> \fBmysql_fix_privilege_tables \-\-password=\fR\fB\fIroot_password\fR\fR
.fi
.if n \{\
.RE
.\}
.PP
The
\fBmysql_fix_privilege_tables\fR
script performs any actions necessary to convert your system tables to the current format. You might see some
script performs any actions necessary to convert your system tables to the current format\&. You might see some
Duplicate column name
warnings as it runs; you can ignore them.
warnings as it runs; you can ignore them\&.
.PP
After running the script, stop the server and restart it so that it uses any changes that were made to the system tables.
After running the script, stop the server and restart it so that any changes made to the system tables take effect\&.
.PP
On Windows systems, MySQL distributions include a
\fImysql_fix_privilege_tables.sql\fR
mysql_fix_privilege_tables\&.sql
SQL script that you can run using the
\fBmysql\fR
client. For example, if your MySQL installation is located at
\fIC:\\Program Files\\MySQL\\MySQL Server 5.1\fR, the commands look like this:
client\&. For example, if your MySQL installation is located at
C:\eProgram Files\eMySQL\eMySQL Server 5\&.1, the commands look like this:
.sp
.RS 3n
.if n \{\
.RS 4
.\}
.nf
C:\\> \fBcd "C:\\Program Files\\MySQL\\MySQL Server 5.1"\fR
C:\\> \fBbin\\mysql \-u root \-p mysql\fR
mysql> \fBSOURCE share/mysql_fix_privilege_tables.sql\fR
C:\e> \fBcd "C:\eProgram Files\eMySQL\eMySQL Server 5\&.1"\fR
C:\e> \fBbin\emysql \-u root \-p mysql\fR
mysql> \fBSOURCE share/mysql_fix_privilege_tables\&.sql\fR
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.sp
.\}
.RS 4
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
\fBNote\fR
.ps -1
.br
.PP
Prior to version 5.1.17, this script is found in the
\fIscripts\fR
directory.
Prior to version 5\&.1\&.17, this script is found in the
scripts
directory\&.
.sp .5v
.RE
.PP
The
\fBmysql\fR
command will prompt you for the
root
password; enter it when prompted.
password; enter it when prompted\&.
.PP
If your installation is located in some other directory, adjust the path names appropriately.
If your installation is located in some other directory, adjust the path names appropriately\&.
.PP
As with the Unix procedure, you might see some
Duplicate column name
warnings as
\fBmysql\fR
processes the statements in the
\fImysql_fix_privilege_tables.sql\fR
script; you can ignore them.
mysql_fix_privilege_tables\&.sql
script; you can ignore them\&.
.PP
After running the script, stop the server and restart it.
After running the script, stop the server and restart it\&.
.SH "COPYRIGHT"
.br
.PP
Copyright 2007\-2008 MySQL AB, 2009 Sun Microsystems, Inc.
Copyright 2007-2008 MySQL AB, 2009 Sun Microsystems, Inc.
.PP
This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.
.PP
This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
.PP
You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110\-1301 USA or see http://www.gnu.org/licenses/.
You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/.
.sp
.SH "SEE ALSO"
For more information, please refer to the MySQL Reference Manual,
which may already be installed locally and which is also available
online at http://dev.mysql.com/doc/.
.SH AUTHOR
MySQL AB (http://www.mysql.com/).
Sun Microsystems, Inc. (http://www.mysql.com/).

View file

@ -1,33 +1,46 @@
'\" t
.\" Title: \fBmysql_install_db\fR
.\" Author:
.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
.\" Date: 03/31/2009
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009
.\" Manual: MySQL Database System
.\" Source: MySQL 5.1
.\" Language: English
.\"
.TH "\fBMYSQL_INSTALL_DB\\" "1" "03/31/2009" "MySQL 5.1" "MySQL Database System"
.TH "\FBMYSQL_INSTALL_DB\" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System"
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.\" mysql_install_db
.SH "NAME"
mysql_install_db \- initialize MySQL data directory
.SH "SYNOPSIS"
.HP 27
.HP \w'\fBmysql_install_db\ [\fR\fB\fIoptions\fR\fR\fB]\fR\ 'u
\fBmysql_install_db [\fR\fB\fIoptions\fR\fR\fB]\fR
.SH "DESCRIPTION"
.PP
\fBmysql_install_db\fR
initializes the MySQL data directory and creates the system tables that it contains, if they do not exist.
initializes the MySQL data directory and creates the system tables that it contains, if they do not exist\&.
.PP
To invoke
\fBmysql_install_db\fR, use the following syntax:
.sp
.RS 3n
.if n \{\
.RS 4
.\}
.nf
shell> \fBmysql_install_db [\fR\fB\fIoptions\fR\fR\fB]\fR
.fi
.if n \{\
.RE
.\}
.PP
Because the MySQL server,
\fBmysqld\fR, needs to access the data directory when it runs later, you should either run
@ -40,21 +53,25 @@ and use the
\fB\-\-user\fR
option to indicate the user name that
\fBmysqld\fR
will run as. It might be necessary to specify other options such as
will run as\&. It might be necessary to specify other options such as
\fB\-\-basedir\fR
or
\fB\-\-datadir\fR
if
\fBmysql_install_db\fR
does not use the correct locations for the installation directory or data directory. For example:
does not use the correct locations for the installation directory or data directory\&. For example:
.sp
.RS 3n
.if n \{\
.RS 4
.\}
.nf
shell> \fBbin/mysql_install_db \-\-user=mysql \\\fR
\fB\-\-basedir=/opt/mysql/mysql \\\fR
shell> \fBbin/mysql_install_db \-\-user=mysql \e\fR
\fB\-\-basedir=/opt/mysql/mysql \e\fR
\fB\-\-datadir=/opt/mysql/mysql/data\fR
.fi
.if n \{\
.RE
.\}
.PP
\fBmysql_install_db\fR
needs to invoke
@ -64,90 +81,184 @@ with the
and
\fB\-\-skip\-grant\-tables\fR
options (see
Section\ 2.10.2, \(lqTypical \fBconfigure\fR Options\(rq). If MySQL was configured with the
Section\ \&2.10.2, \(lqTypical configure Options\(rq)\&. If MySQL was configured with the
\fB\-\-disable\-grant\-options\fR
option,
\fB\-\-bootstrap\fR
and
\fB\-\-skip\-grant\-tables\fR
will be disabled. To handle this, set the
will be disabled\&. To handle this, set the
MYSQLD_BOOTSTRAP
environment variable to the full path name of a server that has all options enabled.
environment variable to the full path name of a server that has all options enabled\&.
\fBmysql_install_db\fR
will use that server.
will use that server\&.
.PP
\fBmysql_install_db\fR
supports the options in the following list. It also reads option files and supports the options for processing them described at
Section\ 4.2.3.2.1, \(lqCommand\-Line Options that Affect Option\-File Handling\(rq.
.TP 3n
\(bu
supports the options in the following list\&. It also reads option files and supports the options for processing them described at
Section\ \&4.2.3.3.1, \(lqCommand-Line Options that Affect Option-File Handling\(rq\&.
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_install_db: basedir option
.\" basedir option: mysql_install_db
\fB\-\-basedir=\fR\fB\fIpath\fR\fR
.sp
The path to the MySQL installation directory.
.TP 3n
\(bu
The path to the MySQL installation directory\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_install_db: force option
.\" force option: mysql_install_db
\fB\-\-force\fR
.sp
Causes
Cause
\fBmysql_install_db\fR
to run even if DNS does not work. In that case, grant table entries that normally use host names will use IP addresses.
.TP 3n
\(bu
to run even if DNS does not work\&. In that case, grant table entries that normally use host names will use IP addresses\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_install_db: datadir option
.\" datadir option: mysql_install_db
.\" mysql_install_db: ldata option
.\" ldata option: mysql_install_db
\fB\-\-datadir=\fR\fB\fIpath\fR\fR,
\fB\-\-ldata=\fR\fB\fIpath\fR\fR
.sp
The path to the MySQL data directory.
.TP 3n
\(bu
The path to the MySQL data directory\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_install_db: rpm option
.\" rpm option: mysql_install_db
\fB\-\-rpm\fR
.sp
For internal use. This option is used by RPM files during the MySQL installation process.
.TP 3n
\(bu
For internal use\&. This option is used by RPM files during the MySQL installation process\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_install_db: skip-name-resolve option
.\" skip-name-resolve option: mysql_install_db
\fB\-\-skip\-name\-resolve\fR
.sp
Use IP addresses rather than host names when creating grant table entries. This option can be useful if your DNS does not work.
.TP 3n
\(bu
Use IP addresses rather than host names when creating grant table entries\&. This option can be useful if your DNS does not work\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_install_db: srcdir option
.\" srcdir option: mysql_install_db
\fB\-\-srcdir=\fR\fB\fIpath\fR\fR
.sp
For internal use. The directory under which
For internal use\&. The directory under which
\fBmysql_install_db\fR
looks for support files such as the error message file and the file for populating the help tables. This option was added in MySQL 5.1.14.
.TP 3n
\(bu
looks for support files such as the error message file and the file for populating the help tables\&. This option was added in MySQL 5\&.1\&.14\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_install_db: user option
.\" user option: mysql_install_db
\fB\-\-user=\fR\fB\fIuser_name\fR\fR
.sp
The login user name to use for running
\fBmysqld\fR. Files and directories created by
\fBmysqld\fR\&. Files and directories created by
\fBmysqld\fR
will be owned by this user. You must be
will be owned by this user\&. You must be
root
to use this option. By default,
to use this option\&. By default,
\fBmysqld\fR
runs using your current login name and files and directories that it creates will be owned by you.
.TP 3n
\(bu
runs using your current login name and files and directories that it creates will be owned by you\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_install_db: verbose option
.\" verbose option: mysql_install_db
\fB\-\-verbose\fR
.sp
Verbose mode. Print more information about what the program does.
.TP 3n
\(bu
Verbose mode\&. Print more information about what the program does\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_install_db: windows option
.\" windows option: mysql_install_db
\fB\-\-windows\fR
.sp
For internal use. This option is used for creating Windows distributions.
For internal use\&. This option is used for creating Windows distributions\&.
.RE
.SH "COPYRIGHT"
.br
.PP
Copyright 2007\-2008 MySQL AB, 2009 Sun Microsystems, Inc.
Copyright 2007-2008 MySQL AB, 2009 Sun Microsystems, Inc.
.PP
This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.
.PP
This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
.PP
You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110\-1301 USA or see http://www.gnu.org/licenses/.
You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/.
.sp
.SH "SEE ALSO"
For more information, please refer to the MySQL Reference Manual,
which may already be installed locally and which is also available
online at http://dev.mysql.com/doc/.
.SH AUTHOR
MySQL AB (http://www.mysql.com/).
Sun Microsystems, Inc. (http://www.mysql.com/).

View file

@ -1,67 +1,112 @@
'\" t
.\" Title: \fBmysql_secure_installation\fR
.\" Author:
.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
.\" Date: 03/31/2009
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009
.\" Manual: MySQL Database System
.\" Source: MySQL 5.1
.\" Language: English
.\"
.TH "\fBMYSQL_SECURE_INST" "1" "03/31/2009" "MySQL 5.1" "MySQL Database System"
.TH "\FBMYSQL_SECURE_INST" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System"
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.\" mysql_secure_installation
.SH "NAME"
mysql_secure_installation \- improve MySQL installation security
.SH "SYNOPSIS"
.HP 26
.HP \w'\fBmysql_secure_installation\fR\ 'u
\fBmysql_secure_installation\fR
.SH "DESCRIPTION"
.PP
This program enables you to improve the security of your MySQL installation in the following ways:
.TP 3n
\(bu
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
You can set a password for
root
accounts.
.TP 3n
\(bu
accounts\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
You can remove
root
accounts that are accessible from outside the local host.
.TP 3n
\(bu
You can remove anonymous\-user accounts.
.TP 3n
\(bu
accounts that are accessible from outside the local host\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
You can remove anonymous\-user accounts\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
You can remove the
test
database, which by default can be accessed by anonymous users.
.sp
database, which by default can be accessed by anonymous users\&.
.RE
.PP
Invoke
\fBmysql_secure_installation\fR
without arguments:
.sp
.RS 3n
.if n \{\
.RS 4
.\}
.nf
shell> \fBmysql_secure_installation\fR
.fi
.if n \{\
.RE
.\}
.PP
The script will prompt you to determine which actions to perform.
The script will prompt you to determine which actions to perform\&.
.SH "COPYRIGHT"
.br
.PP
Copyright 2007\-2008 MySQL AB, 2009 Sun Microsystems, Inc.
Copyright 2007-2008 MySQL AB, 2009 Sun Microsystems, Inc.
.PP
This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.
.PP
This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
.PP
You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110\-1301 USA or see http://www.gnu.org/licenses/.
You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/.
.sp
.SH "SEE ALSO"
For more information, please refer to the MySQL Reference Manual,
which may already be installed locally and which is also available
online at http://dev.mysql.com/doc/.
.SH AUTHOR
MySQL AB (http://www.mysql.com/).
Sun Microsystems, Inc. (http://www.mysql.com/).

View file

@ -1,46 +1,59 @@
'\" t
.\" Title: \fBmysql_setpermission\fR
.\" Author:
.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
.\" Date: 03/31/2009
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009
.\" Manual: MySQL Database System
.\" Source: MySQL 5.1
.\" Language: English
.\"
.TH "\fBMYSQL_SETPERMISSI" "1" "03/31/2009" "MySQL 5.1" "MySQL Database System"
.TH "\FBMYSQL_SETPERMISSI" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System"
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.\" mysql_setpermission
.SH "NAME"
mysql_setpermission \- interactively set permissions in grant tables
.SH "SYNOPSIS"
.HP 30
.HP \w'\fBmysql_setpermission\ [\fR\fB\fIoptions\fR\fR\fB]\fR\ 'u
\fBmysql_setpermission [\fR\fB\fIoptions\fR\fR\fB]\fR
.SH "DESCRIPTION"
.PP
\fBmysql_setpermission\fR
is a Perl script that was originally written and contributed by Luuk de Boer. It interactively sets permissions in the MySQL grant tables.
is a Perl script that was originally written and contributed by Luuk de Boer\&. It interactively sets permissions in the MySQL grant tables\&.
\fBmysql_setpermission\fR
is written in Perl and requires that the
DBI
and
DBD::mysql
Perl modules be installed (see
Section\ 2.15, \(lqPerl Installation Notes\(rq).
Section\ \&2.15, \(lqPerl Installation Notes\(rq)\&.
.PP
Invoke
\fBmysql_setpermission\fR
like this:
.sp
.RS 3n
.if n \{\
.RS 4
.\}
.nf
shell> \fBmysql_setpermission [\fR\fB\fIoptions\fR\fR\fB]\fR
.fi
.if n \{\
.RE
.\}
.PP
\fIoptions\fR
should be either
\fB\-\-help\fR
to display the help message, or options that indicate how to connect to the MySQL server. The account used when you connect determines which permissions you have when attempting to modify existing permissions in the grant tables.
to display the help message, or options that indicate how to connect to the MySQL server\&. The account used when you connect determines which permissions you have when attempting to modify existing permissions in the grant tables\&.
.PP
\fBmysql_setpermissions\fR
also reads options from the
@ -48,57 +61,119 @@ also reads options from the
and
[perl]
groups in the
\fI.my.cnf\fR
file in your home directory, if the file exists.
\&.my\&.cnf
file in your home directory, if the file exists\&.
.PP
\fBmysql_setpermission\fR
understands the following options:
.TP 3n
\(bu
supports the following options:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_setpermission: help option
.\" help option: mysql_setpermission
\fB\-\-help\fR
.sp
Display a help message and exit.
.TP 3n
\(bu
Display a help message and exit\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_setpermission: host option
.\" host option: mysql_setpermission
\fB\-\-host=\fR\fB\fIhost_name\fR\fR
.sp
Connect to the MySQL server on the given host.
.TP 3n
\(bu
Connect to the MySQL server on the given host\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_setpermission: password option
.\" password option: mysql_setpermission
\fB\-\-password=\fR\fB\fIpassword\fR\fR
.sp
The password to use when connecting to the server. Note that the password value is not optional for this option, unlike for other MySQL programs. You can use an option file to avoid giving the password on the command line.
The password to use when connecting to the server\&. Note that the password value is not optional for this option, unlike for other MySQL programs\&. You can use an option file to avoid giving the password on the command line\&.
.sp
Specifying a password on the command line should be considered insecure. See
Section\ 5.5.6.2, \(lqEnd\-User Guidelines for Password Security\(rq.
.TP 3n
\(bu
Specifying a password on the command line should be considered insecure\&. See
Section\ \&5.5.6.2, \(lqEnd-User Guidelines for Password Security\(rq\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_setpermission: port option
.\" port option: mysql_setpermission
\fB\-\-port=\fR\fB\fIport_num\fR\fR
.sp
The TCP/IP port number to use for the connection.
.TP 3n
\(bu
The TCP/IP port number to use for the connection\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_setpermission: socket option
.\" socket option: mysql_setpermission
\fB\-\-socket=\fR\fB\fIpath\fR\fR
.sp
For connections to
localhost, the Unix socket file to use.
.TP 3n
\(bu
localhost, the Unix socket file to use\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_setpermission: user option
.\" user option: mysql_setpermission
\fB\-\-user=\fR\fB\fIuser_name\fR\fR
.sp
The MySQL user name to use when connecting to the server.
The MySQL user name to use when connecting to the server\&.
.RE
.SH "COPYRIGHT"
.br
.PP
Copyright 2007\-2008 MySQL AB, 2009 Sun Microsystems, Inc.
Copyright 2007-2008 MySQL AB, 2009 Sun Microsystems, Inc.
.PP
This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.
.PP
This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
.PP
You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110\-1301 USA or see http://www.gnu.org/licenses/.
You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/.
.sp
.SH "SEE ALSO"
For more information, please refer to the MySQL Reference Manual,
which may already be installed locally and which is also available
online at http://dev.mysql.com/doc/.
.SH AUTHOR
MySQL AB (http://www.mysql.com/).
Sun Microsystems, Inc. (http://www.mysql.com/).

View file

@ -1,19 +1,29 @@
'\" t
.\" Title: \fBmysql_tzinfo_to_sql\fR
.\" Author:
.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
.\" Date: 03/31/2009
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009
.\" Manual: MySQL Database System
.\" Source: MySQL 5.1
.\" Language: English
.\"
.TH "\fBMYSQL_TZINFO_TO_S" "1" "03/31/2009" "MySQL 5.1" "MySQL Database System"
.TH "\FBMYSQL_TZINFO_TO_S" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System"
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.\" mysql_tzinfo_to_sql
.\" time zone tables
.SH "NAME"
mysql_tzinfo_to_sql \- load the time zone tables
.SH "SYNOPSIS"
.HP 30
.HP \w'\fBmysql_tzinfo_to_sql\ \fR\fB\fIarguments\fR\fR\ 'u
\fBmysql_tzinfo_to_sql \fR\fB\fIarguments\fR\fR
.SH "DESCRIPTION"
.PP
@ -21,41 +31,49 @@ The
\fBmysql_tzinfo_to_sql\fR
program loads the time zone tables in the
mysql
database. It is used on systems that have a
database\&. It is used on systems that have a
zoneinfo
database (the set of files describing time zones). Examples of such systems are Linux, FreeBSD, Sun Solaris, and Mac OS X. One likely location for these files is the
\fI/usr/share/zoneinfo\fR
directory (\fI/usr/share/lib/zoneinfo\fR
on Solaris). If your system does not have a zoneinfo database, you can use the downloadable package described in
Section\ 9.7, \(lqMySQL Server Time Zone Support\(rq.
database (the set of files describing time zones)\&. Examples of such systems are Linux, FreeBSD, Sun Solaris, and Mac OS X\&. One likely location for these files is the
/usr/share/zoneinfo
directory (/usr/share/lib/zoneinfo
on Solaris)\&. If your system does not have a zoneinfo database, you can use the downloadable package described in
Section\ \&9.7, \(lqMySQL Server Time Zone Support\(rq\&.
.PP
\fBmysql_tzinfo_to_sql\fR
can be invoked several ways:
.sp
.RS 3n
.if n \{\
.RS 4
.\}
.nf
shell> \fBmysql_tzinfo_to_sql \fR\fB\fItz_dir\fR\fR
shell> \fBmysql_tzinfo_to_sql \fR\fB\fItz_file tz_name\fR\fR
shell> \fBmysql_tzinfo_to_sql \-\-leap \fR\fB\fItz_file\fR\fR
.fi
.if n \{\
.RE
.\}
.PP
For the first invocation syntax, pass the zoneinfo directory path name to
\fBmysql_tzinfo_to_sql\fR
and send the output into the
\fBmysql\fR
program. For example:
program\&. For example:
.sp
.RS 3n
.if n \{\
.RS 4
.\}
.nf
shell> \fBmysql_tzinfo_to_sql /usr/share/zoneinfo | mysql \-u root mysql\fR
.fi
.if n \{\
.RE
.\}
.PP
\fBmysql_tzinfo_to_sql\fR
reads your system's time zone files and generates SQL statements from them.
reads your system\'s time zone files and generates SQL statements from them\&.
\fBmysql\fR
processes those statements to load the time zone tables.
processes those statements to load the time zone tables\&.
.PP
The second syntax causes
\fBmysql_tzinfo_to_sql\fR
@ -64,38 +82,48 @@ to load a single time zone file
that corresponds to a time zone name
\fItz_name\fR:
.sp
.RS 3n
.if n \{\
.RS 4
.\}
.nf
shell> \fBmysql_tzinfo_to_sql \fR\fB\fItz_file\fR\fR\fB \fR\fB\fItz_name\fR\fR\fB | mysql \-u root mysql\fR
.fi
.if n \{\
.RE
.\}
.PP
If your time zone needs to account for leap seconds, invoke
\fBmysql_tzinfo_to_sql\fR
using the third syntax, which initializes the leap second information.
using the third syntax, which initializes the leap second information\&.
\fItz_file\fR
is the name of your time zone file:
.sp
.RS 3n
.if n \{\
.RS 4
.\}
.nf
shell> \fBmysql_tzinfo_to_sql \-\-leap \fR\fB\fItz_file\fR\fR\fB | mysql \-u root mysql\fR
.fi
.if n \{\
.RE
.\}
.PP
After running
\fBmysql_tzinfo_to_sql\fR, it is best to restart the server so that it does not continue to use any previously cached time zone data.
\fBmysql_tzinfo_to_sql\fR, it is best to restart the server so that it does not continue to use any previously cached time zone data\&.
.SH "COPYRIGHT"
.br
.PP
Copyright 2007\-2008 MySQL AB, 2009 Sun Microsystems, Inc.
Copyright 2007-2008 MySQL AB, 2009 Sun Microsystems, Inc.
.PP
This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.
.PP
This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
.PP
You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110\-1301 USA or see http://www.gnu.org/licenses/.
You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/.
.sp
.SH "SEE ALSO"
For more information, please refer to the MySQL Reference Manual,
which may already be installed locally and which is also available
online at http://dev.mysql.com/doc/.
.SH AUTHOR
MySQL AB (http://www.mysql.com/).
Sun Microsystems, Inc. (http://www.mysql.com/).

View file

@ -1,190 +1,371 @@
'\" t
.\" Title: \fBmysql_upgrade\fR
.\" Author:
.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
.\" Date: 03/31/2009
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009
.\" Manual: MySQL Database System
.\" Source: MySQL 5.1
.\" Language: English
.\"
.TH "\fBMYSQL_UPGRADE\fR" "1" "03/31/2009" "MySQL 5.1" "MySQL Database System"
.TH "\FBMYSQL_UPGRADE\FR" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System"
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.\" mysql_upgrade
.\" upgrading MySQL
.\" MySQL: upgrading
.SH "NAME"
mysql_upgrade \- check tables for MySQL upgrade
.SH "SYNOPSIS"
.HP 24
.HP \w'\fBmysql_upgrade\ [\fR\fB\fIoptions\fR\fR\fB]\fR\ 'u
\fBmysql_upgrade [\fR\fB\fIoptions\fR\fR\fB]\fR
.SH "DESCRIPTION"
.PP
\fBmysql_upgrade\fR
should be executed each time you upgrade MySQL. It checks all tables in all databases for incompatibilities with the current version of MySQL Server. If a table is found to have a possible incompatibility, it is checked. If any problems are found, the table is repaired.
examines all tables in all databases for incompatibilities with the current version of MySQL Server\&.
\fBmysql_upgrade\fR
also upgrades the system tables so that you can take advantage of new privileges or capabilities that might have been added.
.PP
All checked and repaired tables are marked with the current MySQL version number. This ensures that next time you run
\fBmysql_upgrade\fR
with the same version of the server, it can tell whether there is any need to check or repair the table again.
also upgrades the system tables so that you can take advantage of new privileges or capabilities that might have been added\&.
.PP
\fBmysql_upgrade\fR
also saves the MySQL version number in a file named
\fImysql_upgrade_info\fR
in the data directory. This is used to quickly check if all tables have been checked for this release so that table\-checking can be skipped. To ignore this file, use the
\fB\-\-force\fR
option.
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
\fBCaution\fR
.PP
Some upgrade incompatibilities may require special handling
\fIbefore\fR
you upgrade your MySQL installation and run
\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.
.PP
To check and repair tables and to upgrade the system tables,
\fBmysql_upgrade\fR
executes the following commands:
.sp
.RS 3n
.nf
mysqlcheck \-\-check\-upgrade \-\-all\-databases \-\-auto\-repair
mysql_fix_privilege_tables
mysqlcheck \-\-all\-databases \-\-check\-upgrade \-\-fix\-db\-names \-\-fix\-table\-names
.fi
.RE
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
\fBNote\fR
.PP
Prior to MySQL 5.1.31,
\fBmysql_upgrade\fR
does not run the third command, which is necessary to re\-encode database or table names that contain non\-alphanumeric characters. (They still appear after the upgrade with the
#mysql50#
prefix described in
Section\ 8.2.3, \(lqMapping of Identifiers to File Names\(rq.) If you have such database or table names, execute the third command manually after executing
\fBmysql_upgrade\fR.
.PP
\fBmysql_upgrade\fR
supersedes the older
should be executed each time you upgrade MySQL\&. It supersedes the older
\fBmysql_fix_privilege_tables\fR
script. In MySQL 5.1.7,
\fBmysql_upgrade \fR
was added as a shell script and worked only for Unix systems. As of MySQL 5.1.10,
\fBmysql_upgrade\fR
is an executable binary and is available on all systems. On systems older than those supporting
\fBmysql_upgrade\fR, you can execute the
\fBmysqlcheck\fR
command manually, and then upgrade your system tables as described in
\fBmysql_fix_privilege_tables\fR(1).
script, which should no longer be used\&.
.PP
If you install MySQL from RPM packages on Linux, you must install the server and client RPMs.
If a table is found to have a possible incompatibility,
\fBmysql_upgrade\fR
is included in the server RPM but requires the client RPM because the latter includes
\fBmysqlcheck\fR. (See
Section\ 2.4, \(lqInstalling MySQL from RPM Packages on Linux\(rq.)
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
for manual table repair strategies\&.
.if n \{\
.sp
.\}
.RS 4
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
\fBCaution\fR
.ps -1
.br
.PP
For details about what is checked, see the description of the
FOR UPGRADE
option of the
CHECK TABLE
statement (see
Section\ 12.5.2.3, \(lqCHECK TABLE Syntax\(rq).
You should always back up your current MySQL installation
\fIbefore\fR
performing an upgrade\&. See
Section\ \&6.1, \(lqDatabase Backups\(rq\&.
.PP
Some upgrade incompatibilities may require special handling before you upgrade your MySQL installation and run
\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\&.
.sp .5v
.RE
.PP
To use
\fBmysql_upgrade\fR, make sure that the server is running, and then invoke it like this:
.sp
.RS 3n
.if n \{\
.RS 4
.\}
.nf
shell> \fBmysql_upgrade [\fR\fB\fIoptions\fR\fR\fB]\fR
.fi
.if n \{\
.RE
.\}
.PP
After running
\fBmysql_upgrade\fR, stop the server and restart it so that it uses any changes that were made to the system tables.
\fBmysql_upgrade\fR, stop the server and restart it so that any changes made to the system tables take effect\&.
.PP
\fBmysql_upgrade\fR
reads options from the command line and from the
[mysql_upgrade]
group in option files. It supports the options in the following list. Other options are passed to
executes the following commands to check and repair tables and to upgrade the system tables:
.sp
.if n \{\
.RS 4
.\}
.nf
mysqlcheck \-\-all\-databases \-\-check\-upgrade \-\-auto\-repair
mysql < \fIfix_priv_tables\fR
mysqlcheck \-\-all\-databases \-\-check\-upgrade \-\-fix\-db\-names \-\-fix\-table\-names
.fi
.if n \{\
.RE
.\}
.PP
Notes about the preceding commands:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
Because
\fBmysql_upgrade\fR
invokes
\fBmysqlcheck\fR
and to
\fBmysql_fix_privilege_tables\fR. For example, it might be necessary to specify the
with the
\fB\-\-all\-databases\fR
option, it processes all tables in all databases, which might take a long time to complete\&. Each table is locked and therefore unavailable to other sessions while it is being processed\&. Check and repair operations can be time\-consuming, particularly for large tables\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
For details about what checks the
\fB\-\-check\-upgrade\fR
option entails, see the description of the
FOR UPGRADE
option of the
CHECK TABLE
statement (see
Section\ \&12.5.2.3, \(lqCHECK TABLE Syntax\(rq)\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fIfix_priv_tables\fR
represents a script generated interally by
\fBmysql_upgrade\fR
that contains SQL statements to upgrade the tables in the
mysql
database\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
Prior to MySQL 5\&.1\&.31,
\fBmysql_upgrade\fR
does not run the second
\fBmysqlcheck\fR
command, which is necessary to re\-encode database or table names that contain nonalphanumeric characters\&. (They still appear after the upgrade with the
#mysql50#
prefix described in
Section\ \&8.2.3, \(lqMapping of Identifiers to File Names\(rq\&.) If you have such database or table names, execute the second
\fBmysqlcheck\fR
command manually after executing
\fBmysql_upgrade\fR\&.
.RE
.PP
All checked and repaired tables are marked with the current MySQL version number\&. This ensures that next time you run
\fBmysql_upgrade\fR
with the same version of the server, it can tell whether there is any need to check or repair the table again\&.
.\" mysql_upgrade_info file: mysql_upgrade
.\" mysql_upgrade: mysql_upgrade_info file
.PP
\fBmysql_upgrade\fR
also saves the MySQL version number in a file named
mysql_upgrade_info
in the data directory\&. This is used to quickly check whether all tables have been checked for this release so that table\-checking can be skipped\&. To ignore this file and perform the check regardless, use the
\fB\-\-force\fR
option\&.
.PP
If you install MySQL from RPM packages on Linux, you must install the server and client RPMs\&.
\fBmysql_upgrade\fR
is included in the server RPM but requires the client RPM because the latter includes
\fBmysqlcheck\fR\&. (See
Section\ \&2.4, \(lqInstalling MySQL from RPM Packages on Linux\(rq\&.)
.PP
In MySQL 5\&.1\&.7,
\fBmysql_upgrade \fR
was added as a shell script and worked only for Unix systems\&. As of MySQL 5\&.1\&.10,
\fBmysql_upgrade\fR
is an executable binary and is available on all systems\&.
.PP
\fBmysql_upgrade\fR
supports the options in the following list\&. It also reads option files (the
[mysql_upgrade]
and
[client]
groups) and supports the options for processing them described at
Section\ \&4.2.3.3.1, \(lqCommand-Line Options that Affect Option-File Handling\(rq\&. Other options are passed to
\fBmysqlcheck\fR\&. For example, it might be necessary to specify the
\fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR
option.
.TP 3n
\(bu
option\&.
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_upgrade: help option
.\" help option: mysql_upgrade
\fB\-\-help\fR
.sp
Display a short help message and exit.
.TP 3n
\(bu
Display a short help message and exit\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_upgrade: basedir option
.\" basedir option: mysql_upgrade
\fB\-\-basedir=\fR\fB\fIpath\fR\fR
.sp
The path to the MySQL installation directory.
.TP 3n
\(bu
The path to the MySQL installation directory\&. This option is accepted for backward compatibility but ignored\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_upgrade: datadir option
.\" datadir option: mysql_upgrade
\fB\-\-datadir=\fR\fB\fIpath\fR\fR
.sp
The path to the data directory.
.TP 3n
\(bu
The path to the data directory\&. This option is accepted for backward compatibility but ignored\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_upgrade: debug-check option
.\" debug-check option: mysql_upgrade
\fB\-\-debug\-check\fR
.sp
Print some debugging information when the program exits. This option was added in MySQL 5.1.21.
.TP 3n
\(bu
Print some debugging information when the program exits\&. This option was added in MySQL 5\&.1\&.21\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_upgrade: debug-info option
.\" debug-info option: mysql_upgrade
\fB\-\-debug\-info\fR,
\fB\-T\fR
.sp
Print debugging information and memory and CPU usage statistics when the program exits. This option was added in MySQL 5.1.21.
.TP 3n
\(bu
Print debugging information and memory and CPU usage statistics when the program exits\&. This option was added in MySQL 5\&.1\&.21\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_upgrade: force option
.\" force option: mysql_upgrade
\fB\-\-force\fR
.sp
Force execution of
Ignore the
mysql_upgrade_info
file and force execution of
\fBmysqlcheck\fR
even if
\fBmysql_upgrade\fR
has already been executed for the current version of MySQL. (In other words, this option causes the
\fImysql_upgrade_info\fR
file to be ignored.)
.TP 3n
\(bu
has already been executed for the current version of MySQL\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_upgrade: tmpdir option
.\" tmpdir option: mysql_upgrade
\fB\-\-tmpdir=\fR\fB\fIpath\fR\fR,
\fB\-t \fR\fB\fIpath\fR\fR
.sp
The path name of the directory to use for creating temporary files. This option was added in MySQL 5.1.25.
.TP 3n
\(bu
The path name of the directory to use for creating temporary files\&. This option was added in MySQL 5\&.1\&.25\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_upgrade: user option
.\" user option: mysql_upgrade
\fB\-\-user=\fR\fB\fIuser_name\fR\fR,
\fB\-u \fR\fB\fIuser_name\fR\fR
.sp
The MySQL user name to use when connecting to the server. The default user name is
root.
.TP 3n
\(bu
The MySQL user name to use when connecting to the server\&. The default user name is
root\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_upgrade: verbose option
.\" verbose option: mysql_upgrade
\fB\-\-verbose\fR
.sp
Verbose mode. Print more information about what the program does.
Verbose mode\&. Print more information about what the program does\&.
.RE
.SH "COPYRIGHT"
.br
.PP
Copyright 2007\-2008 MySQL AB, 2009 Sun Microsystems, Inc.
Copyright 2007-2008 MySQL AB, 2009 Sun Microsystems, Inc.
.PP
This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.
.PP
This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
.PP
You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110\-1301 USA or see http://www.gnu.org/licenses/.
You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/.
.sp
.SH "SEE ALSO"
For more information, please refer to the MySQL Reference Manual,
which may already be installed locally and which is also available
online at http://dev.mysql.com/doc/.
.SH AUTHOR
MySQL AB (http://www.mysql.com/).
Sun Microsystems, Inc. (http://www.mysql.com/).

View file

@ -1,91 +1,136 @@
'\" t
.\" Title: \fBmysql_waitpid\fR
.\" Author:
.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
.\" Date: 03/31/2009
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009
.\" Manual: MySQL Database System
.\" Source: MySQL 5.1
.\" Language: English
.\"
.TH "\fBMYSQL_WAITPID\fR" "1" "03/31/2009" "MySQL 5.1" "MySQL Database System"
.TH "\FBMYSQL_WAITPID\FR" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System"
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.\" mysql_waitpid
.SH "NAME"
mysql_waitpid \- kill process and wait for its termination
.SH "SYNOPSIS"
.HP 38
.HP \w'\fBmysql_waitpid\ [\fR\fB\fIoptions\fR\fR\fB]\ \fR\fB\fIpid\fR\fR\fB\ \fR\fB\fIwait_time\fR\fR\ 'u
\fBmysql_waitpid [\fR\fB\fIoptions\fR\fR\fB] \fR\fB\fIpid\fR\fR\fB \fR\fB\fIwait_time\fR\fR
.SH "DESCRIPTION"
.PP
\fBmysql_waitpid\fR
signals a process to terminate and waits for the process to exit. It uses the
signals a process to terminate and waits for the process to exit\&. It uses the
kill()
system call and Unix signals, so it runs on Unix and Unix\-like systems.
system call and Unix signals, so it runs on Unix and Unix\-like systems\&.
.PP
Invoke
\fBmysql_waitpid\fR
like this:
.sp
.RS 3n
.if n \{\
.RS 4
.\}
.nf
shell> \fBmysql_waitpid [\fR\fB\fIoptions\fR\fR\fB] \fR\fB\fIpid\fR\fR\fB \fR\fB\fIwait_time\fR\fR
.fi
.if n \{\
.RE
.\}
.PP
\fBmysql_waitpid\fR
sends signal 0 to the process identified by
\fIpid\fR
and waits up to
\fIwait_time\fR
seconds for the process to terminate.
seconds for the process to terminate\&.
\fIpid\fR
and
\fIwait_time\fR
must be positive integers.
must be positive integers\&.
.PP
If process termination occurs within the wait time or the process does not exist,
\fBmysql_waitpid\fR
returns 0. Otherwise, it returns 1.
returns 0\&. Otherwise, it returns 1\&.
.PP
If the
kill()
system call cannot handle signal 0,
\fBmysql_waitpid()\fR
uses signal 1 instead.
uses signal 1 instead\&.
.PP
\fBmysql_waitpid\fR
understands the following options:
.TP 3n
\(bu
supports the following options:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_waitpid: help option
.\" help option: mysql_waitpid
\fB\-\-help\fR,
\fB\-?\fR,
\fB\-I\fR
.sp
Display a help message and exit.
.TP 3n
\(bu
Display a help message and exit\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_waitpid: verbose option
.\" verbose option: mysql_waitpid
\fB\-\-verbose\fR,
\fB\-v\fR
.sp
Verbose mode. Display a warning if signal 0 could not be used and signal 1 is used instead.
.TP 3n
\(bu
Verbose mode\&. Display a warning if signal 0 could not be used and signal 1 is used instead\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_waitpid: version option
.\" version option: mysql_waitpid
\fB\-\-version\fR,
\fB\-V\fR
.sp
Display version information and exit.
Display version information and exit\&.
.RE
.SH "COPYRIGHT"
.br
.PP
Copyright 2007\-2008 MySQL AB, 2009 Sun Microsystems, Inc.
Copyright 2007-2008 MySQL AB, 2009 Sun Microsystems, Inc.
.PP
This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.
.PP
This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
.PP
You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110\-1301 USA or see http://www.gnu.org/licenses/.
You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/.
.sp
.SH "SEE ALSO"
For more information, please refer to the MySQL Reference Manual,
which may already be installed locally and which is also available
online at http://dev.mysql.com/doc/.
.SH AUTHOR
MySQL AB (http://www.mysql.com/).
Sun Microsystems, Inc. (http://www.mysql.com/).

View file

@ -1,93 +1,132 @@
'\" t
.\" Title: \fBmysql_zap\fR
.\" Author:
.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
.\" Date: 03/31/2009
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009
.\" Manual: MySQL Database System
.\" Source: MySQL 5.1
.\" Language: English
.\"
.TH "\fBMYSQL_ZAP\fR" "1" "03/31/2009" "MySQL 5.1" "MySQL Database System"
.TH "\FBMYSQL_ZAP\FR" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System"
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.\" mysql_zap
.SH "NAME"
mysql_zap \- kill processes that match a pattern
.SH "SYNOPSIS"
.HP 36
.HP \w'\fBmysql_zap\ [\-\fR\fB\fIsignal\fR\fR\fB]\ [\-?Ift]\ \fR\fB\fIpattern\fR\fR\ 'u
\fBmysql_zap [\-\fR\fB\fIsignal\fR\fR\fB] [\-?Ift] \fR\fB\fIpattern\fR\fR
.SH "DESCRIPTION"
.PP
\fBmysql_zap\fR
kills processes that match a pattern. It uses the
kills processes that match a pattern\&. It uses the
\fBps\fR
command and Unix signals, so it runs on Unix and Unix\-like systems.
command and Unix signals, so it runs on Unix and Unix\-like systems\&.
.PP
Invoke
\fBmysql_zap\fR
like this:
.sp
.RS 3n
.if n \{\
.RS 4
.\}
.nf
shell> \fBmysql_zap [\-\fR\fB\fIsignal\fR\fR\fB] [\-?Ift] \fR\fB\fIpattern\fR\fR
.fi
.if n \{\
.RE
.\}
.PP
A process matches if its output line from the
\fBps\fR
command contains the pattern. By default,
command contains the pattern\&. By default,
\fBmysql_zap\fR
asks for confirmation for each process. Respond
asks for confirmation for each process\&. Respond
y
to kill the process, or
q
to exit
\fBmysql_zap\fR. For any other response,
\fBmysql_zap\fR\&. For any other response,
\fBmysql_zap\fR
does not attempt to kill the process.
does not attempt to kill the process\&.
.PP
If the
\fB\-\fR\fB\fIsignal\fR\fR
option is given, it specifies the name or number of the signal to send to each process. Otherwise,
option is given, it specifies the name or number of the signal to send to each process\&. Otherwise,
\fBmysql_zap\fR
tries first with
TERM
(signal 15) and then with
KILL
(signal 9).
(signal 9)\&.
.PP
\fBmysql_zap\fR
understands the following additional options:
.TP 3n
\(bu
supports the following additional options:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB\-\-help\fR,
\fB\-?\fR,
\fB\-I\fR
.sp
Display a help message and exit.
.TP 3n
\(bu
Display a help message and exit\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB\-f\fR
.sp
Force mode.
Force mode\&.
\fBmysql_zap\fR
attempts to kill each process without confirmation.
.TP 3n
\(bu
attempts to kill each process without confirmation\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB\-t\fR
.sp
Test mode. Display information about each process but do not kill it.
Test mode\&. Display information about each process but do not kill it\&.
.RE
.SH "COPYRIGHT"
.br
.PP
Copyright 2007\-2008 MySQL AB, 2009 Sun Microsystems, Inc.
Copyright 2007-2008 MySQL AB, 2009 Sun Microsystems, Inc.
.PP
This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.
.PP
This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
.PP
You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110\-1301 USA or see http://www.gnu.org/licenses/.
You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/.
.sp
.SH "SEE ALSO"
For more information, please refer to the MySQL Reference Manual,
which may already be installed locally and which is also available
online at http://dev.mysql.com/doc/.
.SH AUTHOR
MySQL AB (http://www.mysql.com/).
Sun Microsystems, Inc. (http://www.mysql.com/).

View file

@ -1,218 +1,435 @@
'\" t
.\" Title: \fBmysqlaccess\fR
.\" Author:
.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
.\" Date: 03/31/2009
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 08/12/2009
.\" Manual: MySQL Database System
.\" Source: MySQL 5.1
.\" Language: English
.\"
.TH "\fBMYSQLACCESS\fR" "1" "03/31/2009" "MySQL 5.1" "MySQL Database System"
.TH "\FBMYSQLACCESS\FR" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System"
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.\" mysqlaccess
.SH "NAME"
mysqlaccess \- client for checking access privileges
.SH "SYNOPSIS"
.HP 56
.HP \w'\fBmysqlaccess\ [\fR\fB\fIhost_name\fR\fR\fB\ [\fR\fB\fIuser_name\fR\fR\fB\ [\fR\fB\fIdb_name\fR\fR\fB]]]\ [\fR\fB\fIoptions\fR\fR\fB]\fR\ 'u
\fBmysqlaccess [\fR\fB\fIhost_name\fR\fR\fB [\fR\fB\fIuser_name\fR\fR\fB [\fR\fB\fIdb_name\fR\fR\fB]]] [\fR\fB\fIoptions\fR\fR\fB]\fR
.SH "DESCRIPTION"
.PP
\fBmysqlaccess\fR
is a diagnostic tool that Yves Carlier has provided for the MySQL distribution. It checks the access privileges for a host name, user name, and database combination. Note that
is a diagnostic tool that Yves Carlier has provided for the MySQL distribution\&. It checks the access privileges for a host name, user name, and database combination\&. Note that
\fBmysqlaccess\fR
checks access using only the
user,
db, and
host
tables. It does not check table, column, or routine privileges specified in the
tables\&. It does not check table, column, or routine privileges specified in the
tables_priv,
columns_priv, or
procs_priv
tables.
tables\&.
.PP
Invoke
\fBmysqlaccess\fR
like this:
.sp
.RS 3n
.if n \{\
.RS 4
.\}
.nf
shell> \fBmysqlaccess [\fR\fB\fIhost_name\fR\fR\fB [\fR\fB\fIuser_name\fR\fR\fB [\fR\fB\fIdb_name\fR\fR\fB]]] [\fR\fB\fIoptions\fR\fR\fB]\fR
.fi
.if n \{\
.RE
.\}
.PP
\fBmysqlaccess\fR
understands the following options:
.TP 3n
\(bu
supports the following options:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysqlaccess: help option
.\" help option: mysqlaccess
\fB\-\-help\fR,
\fB\-?\fR
.sp
Display a help message and exit.
.TP 3n
\(bu
Display a help message and exit\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysqlaccess: brief option
.\" brief option: mysqlaccess
\fB\-\-brief\fR,
\fB\-b\fR
.sp
Generate reports in single\-line tabular format.
.TP 3n
\(bu
Generate reports in single\-line tabular format\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysqlaccess: commit option
.\" commit option: mysqlaccess
\fB\-\-commit\fR
.sp
Copy the new access privileges from the temporary tables to the original grant tables. The grant tables must be flushed for the new privileges to take effect. (For example, execute a
Copy the new access privileges from the temporary tables to the original grant tables\&. The grant tables must be flushed for the new privileges to take effect\&. (For example, execute a
\fBmysqladmin reload\fR
command.)
.TP 3n
\(bu
command\&.)
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysqlaccess: copy option
.\" copy option: mysqlaccess
\fB\-\-copy\fR
.sp
Reload the temporary grant tables from original ones.
.TP 3n
\(bu
Reload the temporary grant tables from original ones\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysqlaccess: db option
.\" db option: mysqlaccess
\fB\-\-db=\fR\fB\fIdb_name\fR\fR,
\fB\-d \fR\fB\fIdb_name\fR\fR
.sp
Specify the database name.
.TP 3n
\(bu
Specify the database name\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysqlaccess: debug option
.\" debug option: mysqlaccess
\fB\-\-debug=\fR\fB\fIN\fR\fR
.sp
Specify the debug level.
Specify the debug level\&.
\fIN\fR
can be an integer from 0 to 3.
.TP 3n
\(bu
can be an integer from 0 to 3\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysqlaccess: host option
.\" host option: mysqlaccess
\fB\-\-host=\fR\fB\fIhost_name\fR\fR,
\fB\-h \fR\fB\fIhost_name\fR\fR
.sp
The host name to use in the access privileges.
.TP 3n
\(bu
The host name to use in the access privileges\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysqlaccess: howto option
.\" howto option: mysqlaccess
\fB\-\-howto\fR
.sp
Display some examples that show how to use
\fBmysqlaccess\fR.
.TP 3n
\(bu
\fBmysqlaccess\fR\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysqlaccess: old_server option
.\" old_server option: mysqlaccess
\fB\-\-old_server\fR
.sp
Assume that the server is an old MySQL server (before MySQL 3.21) that does not yet know how to handle full
Assume that the server is an old MySQL server (before MySQL 3\&.21) that does not yet know how to handle full
WHERE
clauses.
.TP 3n
\(bu
clauses\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysqlaccess: password option
.\" password option: mysqlaccess
\fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR,
\fB\-p[\fR\fB\fIpassword\fR\fR\fB]\fR
.sp
The password to use when connecting to the server. If you omit the
The password to use when connecting to the server\&. If you omit the
\fIpassword\fR
value following the
\fB\-\-password\fR
or
\fB\-p\fR
option on the command line, you are prompted for one.
option on the command line, you are prompted for one\&.
.sp
Specifying a password on the command line should be considered insecure. See
Section\ 5.5.6.2, \(lqEnd\-User Guidelines for Password Security\(rq.
.TP 3n
\(bu
Specifying a password on the command line should be considered insecure\&. See
Section\ \&5.5.6.2, \(lqEnd-User Guidelines for Password Security\(rq\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysqlaccess: plan option
.\" plan option: mysqlaccess
\fB\-\-plan\fR
.sp
Display suggestions and ideas for future releases.
.TP 3n
\(bu
Display suggestions and ideas for future releases\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysqlaccess: preview option
.\" preview option: mysqlaccess
\fB\-\-preview\fR
.sp
Show the privilege differences after making changes to the temporary grant tables.
.TP 3n
\(bu
Show the privilege differences after making changes to the temporary grant tables\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysqlaccess: relnotes option
.\" relnotes option: mysqlaccess
\fB\-\-relnotes\fR
.sp
Display the release notes.
.TP 3n
\(bu
Display the release notes\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysqlaccess: rhost option
.\" rhost option: mysqlaccess
\fB\-\-rhost=\fR\fB\fIhost_name\fR\fR,
\fB\-H \fR\fB\fIhost_name\fR\fR
.sp
Connect to the MySQL server on the given host.
.TP 3n
\(bu
Connect to the MySQL server on the given host\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysqlaccess: rollback option
.\" rollback option: mysqlaccess
\fB\-\-rollback\fR
.sp
Undo the most recent changes to the temporary grant tables.
.TP 3n
\(bu
Undo the most recent changes to the temporary grant tables\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysqlaccess: spassword option
.\" spassword option: mysqlaccess
\fB\-\-spassword[=\fR\fB\fIpassword\fR\fR\fB]\fR,
\fB\-P[\fR\fB\fIpassword\fR\fR\fB]\fR
.sp
The password to use when connecting to the server as the superuser. If you omit the
The password to use when connecting to the server as the superuser\&. If you omit the
\fIpassword\fR
value following the
\fB\-\-password\fR
or
\fB\-p\fR
option on the command line, you are prompted for one.
option on the command line, you are prompted for one\&.
.sp
Specifying a password on the command line should be considered insecure. See
Section\ 5.5.6.2, \(lqEnd\-User Guidelines for Password Security\(rq.
.TP 3n
\(bu
Specifying a password on the command line should be considered insecure\&. See
Section\ \&5.5.6.2, \(lqEnd-User Guidelines for Password Security\(rq\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysqlaccess: superuser option
.\" superuser option: mysqlaccess
\fB\-\-superuser=\fR\fB\fIuser_name\fR\fR,
\fB\-U \fR\fB\fIuser_name\fR\fR
.sp
Specify the user name for connecting as the superuser.
.TP 3n
\(bu
Specify the user name for connecting as the superuser\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysqlaccess: table option
.\" table option: mysqlaccess
\fB\-\-table\fR,
\fB\-t\fR
.sp
Generate reports in table format.
.TP 3n
\(bu
Generate reports in table format\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysqlaccess: user option
.\" user option: mysqlaccess
\fB\-\-user=\fR\fB\fIuser_name\fR\fR,
\fB\-u \fR\fB\fIuser_name\fR\fR
.sp
The user name to use in the access privileges.
.TP 3n
\(bu
The user name to use in the access privileges\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysqlaccess: version option
.\" version option: mysqlaccess
\fB\-\-version\fR,
\fB\-v\fR
.sp
Display version information and exit.
.sp
Display version information and exit\&.
.RE
.PP
If your MySQL distribution is installed in some non\-standard location, you must change the location where
If your MySQL distribution is installed in some nonstandard location, you must change the location where
\fBmysqlaccess\fR
expects to find the
\fBmysql\fR
client. Edit the
\fImysqlaccess\fR
script at approximately line 18. Search for a line that looks like this:
client\&. Edit the
mysqlaccess
script at approximately line 18\&. Search for a line that looks like this:
.sp
.RS 3n
.if n \{\
.RS 4
.\}
.nf
$MYSQL = '/usr/local/bin/mysql'; # path to mysql executable
$MYSQL = \'/usr/local/bin/mysql\'; # path to mysql executable
.fi
.if n \{\
.RE
.\}
.PP
Change the path to reflect the location where
\fBmysql\fR
actually is stored on your system. If you do not do this, a
actually is stored on your system\&. If you do not do this, a
Broken pipe
error will occur when you run
\fBmysqlaccess\fR.
\fBmysqlaccess\fR\&.
.SH "COPYRIGHT"
.br
.PP
Copyright 2007\-2008 MySQL AB, 2009 Sun Microsystems, Inc.
Copyright 2007-2008 MySQL AB, 2009 Sun Microsystems, Inc.
.PP
This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.
.PP
This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
.PP
You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110\-1301 USA or see http://www.gnu.org/licenses/.
You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/.
.sp
.SH "SEE ALSO"
For more information, please refer to the MySQL Reference Manual,
which may already be installed locally and which is also available
online at http://dev.mysql.com/doc/.
.SH AUTHOR
MySQL AB (http://www.mysql.com/).
Sun Microsystems, Inc. (http://www.mysql.com/).

File diff suppressed because it is too large Load diff

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