summaryrefslogtreecommitdiff
path: root/libmysqld
diff options
context:
space:
mode:
authorunknown <hf@deer.(none)>2003-12-18 15:51:22 +0400
committerunknown <hf@deer.(none)>2003-12-18 15:51:22 +0400
commit886307f28275c29e2ca1e833081d2c4a01ef10b7 (patch)
tree2785059bf0f530b8d1cff70378904178e52fb05e /libmysqld
parent69cee79246feab6844f52a1e1244704d3741bde3 (diff)
downloadmariadb-git-886307f28275c29e2ca1e833081d2c4a01ef10b7.tar.gz
Fix for #2126 (mysql_server_init call shouldn't be needed)
now mysql_server_init is called from mysql_init with fake parameters mysql_once_init code included to mysql_server_init. embedded-specific initialization is in init_embedded_server function include/errmsg.h: this error won't happen include/mysql.h: declarations removed libmysql/client_settings.h: declaration of init_embedded_server/end_embedded_server added libmysql/errmsg.c: this error won't happen libmysql/libmysql.c: mysql_once_init -> mysql_server_init transformations libmysqld/embedded_priv.h: declaration deleted libmysqld/lib_sql.cc: mysql_server_init -> init_embedded_server mysql_server_end -> end_embedded_server libmysqld/libmysqld.c: check for server_inited not needed now sql-common/client.c: mysql_server_init now called from mysql_init sql/client_settings.h: fake mysql_server_init for server code sql/net_serv.cc: we need MYSQL_CLIENT defined in embedded server sql/sql_client.cc: not needed now
Diffstat (limited to 'libmysqld')
-rw-r--r--libmysqld/embedded_priv.h1
-rw-r--r--libmysqld/lib_sql.cc22
-rw-r--r--libmysqld/libmysqld.c14
3 files changed, 6 insertions, 31 deletions
diff --git a/libmysqld/embedded_priv.h b/libmysqld/embedded_priv.h
index 833cc1b1f80..673531c0c14 100644
--- a/libmysqld/embedded_priv.h
+++ b/libmysqld/embedded_priv.h
@@ -28,5 +28,4 @@ extern void init_embedded_mysql(MYSQL *mysql, int client_flag, char *db);
extern void *create_embedded_thd(int client_flag, char *db);
extern MYSQL_METHODS embedded_methods;
void free_old_query(MYSQL *mysql);
-extern my_bool server_inited;
C_MODE_END
diff --git a/libmysqld/lib_sql.cc b/libmysqld/lib_sql.cc
index 2fd6927854f..864adddb9c4 100644
--- a/libmysqld/lib_sql.cc
+++ b/libmysqld/lib_sql.cc
@@ -42,9 +42,6 @@ C_MODE_START
#include "errmsg.h"
#include <sql_common.h>
-static my_bool org_my_init_done;
-my_bool server_inited;
-
static my_bool
emb_advanced_command(MYSQL *mysql, enum enum_server_command command,
const char *header, ulong header_length,
@@ -305,7 +302,7 @@ extern "C"
char ** copy_arguments_ptr= 0;
-int STDCALL mysql_server_init(int argc, char **argv, char **groups)
+int init_embedded_server(int argc, char **argv, char **groups)
{
char glob_hostname[FN_REFLEN];
@@ -329,17 +326,7 @@ int STDCALL mysql_server_init(int argc, char **argv, char **groups)
if (!groups)
groups= (char**) fake_groups;
-
- /* Only call MY_INIT() if it hasn't been called before */
- if (!server_inited)
- {
- server_inited=1;
- org_my_init_done=my_init_done;
- }
- if (!org_my_init_done)
- {
- MY_INIT((char *)"mysql_embedded"); // init my_sys library & pthreads
- }
+ my_progname= (char *)"mysql_embedded";
if (init_common_variables("my", *argcp, *argvp, (const char **)groups))
{
@@ -438,14 +425,11 @@ int STDCALL mysql_server_init(int argc, char **argv, char **groups)
return 0;
}
-void STDCALL mysql_server_end()
+void end_embedded_server()
{
my_free((char*) copy_arguments_ptr, MYF(MY_ALLOW_ZERO_PTR));
copy_arguments_ptr=0;
clean_up(0);
- /* If library called my_init(), free memory allocated by it */
- if (!org_my_init_done)
- my_end(0);
}
} /* extern "C" */
diff --git a/libmysqld/libmysqld.c b/libmysqld/libmysqld.c
index 59c18368279..f96c06ff0f6 100644
--- a/libmysqld/libmysqld.c
+++ b/libmysqld/libmysqld.c
@@ -163,20 +163,12 @@ mysql_real_connect(MYSQL *mysql,const char *host, const char *user,
db ? db : "(Null)",
user ? user : "(Null)"));
-#if defined(EMBEDDED_LIBRARY) || !defined(DBUG_OFF)
- if (!server_inited)
- {
- mysql->net.last_errno=CR_MYSQL_SERVER_INIT_MISSED;
- strmov(mysql->net.last_error,ER(mysql->net.last_errno));
- goto error;
- }
-#endif
-
if (mysql->options.methods_to_use == MYSQL_OPT_USE_REMOTE_CONNECTION ||
(mysql->options.methods_to_use == MYSQL_OPT_GUESS_CONNECTION &&
host && strcmp(host,LOCAL_HOST)))
- cli_mysql_real_connect(mysql, host, user,
- passwd, db, port, unix_socket, client_flag);
+ DBUG_RETURN(cli_mysql_real_connect(mysql, host, user,
+ passwd, db, port,
+ unix_socket, client_flag));
mysql->methods= &embedded_methods;