diff options
author | unknown <hf@deer.(none)> | 2003-05-31 15:15:46 +0500 |
---|---|---|
committer | unknown <hf@deer.(none)> | 2003-05-31 15:15:46 +0500 |
commit | 62c7d2cd2711d3ab2b7d0adba2947b38168cc4b3 (patch) | |
tree | 4dd324e7d5c4509bfa76cfb1ebecf8f75b9cc6f5 /libmysql/client_settings.h | |
parent | 598f7ec5e353e7b601c6ade67031f0e74587a501 (diff) | |
download | mariadb-git-62c7d2cd2711d3ab2b7d0adba2947b38168cc4b3.tar.gz |
SCRUM:
Here is another pack of changes about gathering common client code in
sql-common/client.c.
Now i symlink the client.c from sql/ and libmysql/. These directories
have client_settings.h files to be included to client.c. It contains
defines and declarations to compile client.c in appropriate manner.
Also i've added include/sql_common.h, containing declarations of what
is exported from client.c
I removed as many #ifdef-s from client.c as i dared to. I think it's better
push it with some extra #ifdef-s now (of course, if everythihg besides it is
ok) so other people can check the code.
Makefile.am:
symlinking of sql-common/client.c was added
include/mysql.h:
MYSQL_CLIENT define moved here from libmysql/Makefile
libmysql/Makefile.am:
../libmysql/client_settings.h added to the list of necessary h-files
libmysql/Makefile.shared:
client.lo added to the list of objects
libmysql/libmysql.c:
a lot of changes about separating code between libmysql.c and client.c
mysys/default.c:
changed to keep compiler happy
sql-common/client.c:
a lot of changes about code separating
sql/Makefile.am:
mini_client.h has to be removed
sql/repl_failsafe.cc:
mysql_real_connect prototype was unified, so we've got to set connection timeout separately
sql/slave.cc:
trimming code to the changed function's prototypes
sql/sql_repl.cc:
mini_client isn't needed anymore
Diffstat (limited to 'libmysql/client_settings.h')
-rw-r--r-- | libmysql/client_settings.h | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/libmysql/client_settings.h b/libmysql/client_settings.h new file mode 100644 index 00000000000..253f1515075 --- /dev/null +++ b/libmysql/client_settings.h @@ -0,0 +1,61 @@ +/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult 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 + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program 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. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ + + +#ifndef _client_settings_h +#define _client_settings_h +static my_bool mysql_client_init=0; +extern uint mysql_port; +extern my_string mysql_unix_port; + +#define CLIENT_CAPABILITIES (CLIENT_LONG_PASSWORD | CLIENT_LONG_FLAG \ + | CLIENT_LOCAL_FILES | CLIENT_TRANSACTIONS \ + | CLIENT_PROTOCOL_41 | CLIENT_SECURE_CONNECTION) + + +#ifdef __WIN__ +#define CONNECT_TIMEOUT 20 +#else +#define CONNECT_TIMEOUT 0 +#endif + +#ifdef HAVE_SMEM +char *shared_memory_base_name=0; +const char *def_shared_memory_base_name=default_shared_memory_base_name; +#endif + +static my_bool org_my_init_done=0; + +sig_handler pipe_sig_handler(int sig __attribute__((unused))); +my_bool stmt_close(MYSQL_STMT *stmt, my_bool skip_list); +void read_user_name(char *name); +my_bool send_file_to_server(MYSQL *mysql, const char *filename); + +/* + Let the user specify that we don't want SIGPIPE; This doesn't however work + with threaded applications as we can have multiple read in progress. +*/ + +#if !defined(__WIN__) && defined(SIGPIPE) && !defined(THREAD) +#define init_sigpipe_variables sig_return old_signal_handler=(sig_return) 0; +#define set_sigpipe(mysql) if ((mysql)->client_flag & CLIENT_IGNORE_SIGPIPE) old_signal_handler=signal(SIGPIPE,pipe_sig_handler) +#define reset_sigpipe(mysql) if ((mysql)->client_flag & CLIENT_IGNORE_SIGPIPE) signal(SIGPIPE,old_signal_handler); +#else +#define init_sigpipe_variables +#define set_sigpipe(mysql) +#define reset_sigpipe(mysql) +#endif +#endif /* _client_settings_h */ |