summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormonty@hundin.mysql.fi <>2002-05-15 16:36:41 +0300
committermonty@hundin.mysql.fi <>2002-05-15 16:36:41 +0300
commit48067f3cd665ab3b83c3dcfbac238a923f592452 (patch)
treee81d9f0eeb50d39478bdd0ac4893fcde5fa0de1d
parent797797cd54adcff156d462485ca69942113a03b6 (diff)
downloadmariadb-git-48067f3cd665ab3b83c3dcfbac238a923f592452.tar.gz
Removed some long from mysqld comments (should be in manual).
-rw-r--r--Docs/manual.texi11
-rw-r--r--libmysql/libmysql.c9
-rw-r--r--libmysqld/lib_sql.cc3
-rw-r--r--sql/mysqld.cc16
4 files changed, 29 insertions, 10 deletions
diff --git a/Docs/manual.texi b/Docs/manual.texi
index b33eb281e3d..6008baecb4d 100644
--- a/Docs/manual.texi
+++ b/Docs/manual.texi
@@ -14353,6 +14353,14 @@ Option can be any combination of: @code{REAL_AS_FLOAT},
By specifying all of the above options is same as using --ansi.
With this option one can turn on only needed SQL modes. @xref{ANSI mode}.
+@item --temp-pool
+Using this option will cause most temporary files created to use a small
+set of names, rather than a unique name for each new file. This is to
+work around a problem in the Linux kernel dealing with creating a bunch
+of new files with different names. With the old behavior, Linux seems to
+'leak' memory, as it's being allocated to the directory entry cache
+instead of the disk cache.
+
@item --transaction-isolation= @{ READ-UNCOMMITTED | READ-COMMITTED | REPEATABLE-READ | SERIALIZABLE @}
Sets the default transaction isolation level. @xref{SET TRANSACTION}.
@@ -23942,7 +23950,8 @@ Updates to a database with a different name than the original.
Example: @code{replicate-rewrite-db=master_db_name->slave_db_name}
-@item @code{slave-skip-errors=err_code1,err_code2,...} @tab
+@item @code{slave-skip-errors= [err_code1,err_code2,... | all]} @tab
+
Available only in 3.23.47 and later. Tells the slave thread to continue
replication when a query returns an error from the provided
list. Normally, replication will discontinue when an error is
diff --git a/libmysql/libmysql.c b/libmysql/libmysql.c
index feee3451f51..04f62df32a9 100644
--- a/libmysql/libmysql.c
+++ b/libmysql/libmysql.c
@@ -90,6 +90,8 @@ static sig_handler pipe_sig_handler(int sig);
static ulong mysql_sub_escape_string(CHARSET_INFO *charset_info, char *to,
const char *from, ulong length);
+static my_bool org_my_init_done=0;
+
int STDCALL mysql_server_init(int argc __attribute__((unused)),
char **argv __attribute__((unused)),
char **groups __attribute__((unused)))
@@ -98,7 +100,11 @@ int STDCALL mysql_server_init(int argc __attribute__((unused)),
}
void STDCALL mysql_server_end()
-{}
+{
+ /* If library called my_init(), free memory allocated by it */
+ if (!org_my_init_done)
+ my_end(0);
+}
my_bool STDCALL mysql_thread_init()
{
@@ -1352,6 +1358,7 @@ static void mysql_once_init()
if (!mysql_client_init)
{
mysql_client_init=1;
+ org_my_init_done=my_init_done;
my_init(); /* Will init threads */
init_client_errs();
if (!mysql_port)
diff --git a/libmysqld/lib_sql.cc b/libmysqld/lib_sql.cc
index 2a9a369e645..5b8df1d118d 100644
--- a/libmysqld/lib_sql.cc
+++ b/libmysqld/lib_sql.cc
@@ -568,6 +568,9 @@ void STDCALL mysql_server_end()
if (!org_my_init_done)
my_thread_end();
#endif
+ /* If library called my_init(), free memory allocated by it */
+ if (!org_my_init_done)
+ my_end(0);
}
my_bool STDCALL mysql_thread_init()
diff --git a/sql/mysqld.cc b/sql/mysqld.cc
index 372a09c9788..61622556d4f 100644
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -3211,7 +3211,7 @@ static struct my_option my_long_options[] =
(gptr*) &slave_load_tmpdir, (gptr*) &slave_load_tmpdir, 0, GET_STRALC,
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
{"slave-skip-errors", OPT_SLAVE_SKIP_ERRORS,
- "Tells the slave thread to continue replication when a query returns an error from the provided list. Normally, replication will discontinue when an error is encountered, giving the user a chance to resolve the inconsistency in the data manually. Do not use this option unless you fully understand why you are getting the errors. If there are no bugs in your replication setup and client programs, and no bugs in MySQL itself, you should never get an abort with error. Indiscriminate use of this option will result in slaves being hopelessly out of sync with the master and you having no idea how the problem happened. For error codes, you should use the numbers provided by the error message in your slave error log and in the output of SHOW SLAVE STATUS. Full list of error messages can be found in the source distribution in `Docs/mysqld_error.txt'. You can (but should not) also use a very non-recommended value of all which will ignore all error messages and keep barging along regardless. Needless to say, if you use it, we make no promises regarding your data integrity. Please do not complain if your data on the slave is not anywhere close to what it is on the master in this case -- you have been warned. Example: slave-skip-errors=1062,1053 or slave-skip-errors=all",
+ "Tells the slave thread to continue replication when a query returns an error from the provided list",
0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
{"socket", OPT_SOCKET, "Socket file to use for connection",
(gptr*) &mysql_unix_port, (gptr*) &mysql_unix_port, 0, GET_STR,
@@ -3227,18 +3227,18 @@ static struct my_option my_long_options[] =
#ifdef HAVE_OPENSSL
#include "sslopt-longopts.h"
#endif
- {"transaction-isolation", OPT_TX_ISOLATION,
- "Default transaction isolation level", (gptr*) &default_tx_isolation_name,
- (gptr*) &default_tx_isolation_name, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0,
- 0, 0},
{"temp-pool", OPT_TEMP_POOL,
- "Using this option will cause most temporary files created to use a small set of names, rather than a unique name for each new file. This is to work around a problem in the Linux kernel dealing with creating a bunch of new files with different names. With the old behavior, Linux seems to 'leak' memory, as it's being allocated to the directory entry cache instead of the disk cache.",
+ "Using this option will cause most temporary files created to use a small set of names, rather than a unique name for each new file.",
(gptr*) &use_temp_pool, (gptr*) &use_temp_pool, 0, GET_BOOL, NO_ARG, 0, 0,
0, 0, 0, 0},
{"tmpdir", 't', "Path for temporary files", (gptr*) &mysql_tmpdir,
(gptr*) &mysql_tmpdir, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
- {"use-locking", OPT_USE_LOCKING, "Use system locking", 0, 0, 0, GET_NO_ARG,
- NO_ARG, 0, 0, 0, 0, 0, 0},
+ {"transaction-isolation", OPT_TX_ISOLATION,
+ "Default transaction isolation level", (gptr*) &default_tx_isolation_name,
+ (gptr*) &default_tx_isolation_name, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0,
+ 0, 0},
+ {"use-locking", OPT_USE_LOCKING, "Use system (external) locking",
+ 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
#ifdef USE_SYMDIR
{"use-symbolic-links", 's', "Enable symbolic link support",
(gptr*) &my_use_symdir, (gptr*) &my_use_symdir, 0, GET_BOOL, NO_ARG, 0, 0,