summaryrefslogtreecommitdiff
path: root/include/sql_common.h
diff options
context:
space:
mode:
authorunknown <hf@deer.(none)>2003-05-31 15:15:46 +0500
committerunknown <hf@deer.(none)>2003-05-31 15:15:46 +0500
commit62c7d2cd2711d3ab2b7d0adba2947b38168cc4b3 (patch)
tree4dd324e7d5c4509bfa76cfb1ebecf8f75b9cc6f5 /include/sql_common.h
parent598f7ec5e353e7b601c6ade67031f0e74587a501 (diff)
downloadmariadb-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 'include/sql_common.h')
-rw-r--r--include/sql_common.h53
1 files changed, 53 insertions, 0 deletions
diff --git a/include/sql_common.h b/include/sql_common.h
new file mode 100644
index 00000000000..aa4386a5623
--- /dev/null
+++ b/include/sql_common.h
@@ -0,0 +1,53 @@
+/* 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 _sql_common_h
+#define _sql_common_h
+
+extern const char *unknown_sqlstate;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+ulong STDCALL net_field_length(uchar **packet);
+my_ulonglong net_field_length_ll(uchar **packet);
+
+MYSQL_FIELD *unpack_fields(MYSQL_DATA *data,MEM_ROOT *alloc,uint fields,
+ my_bool default_value, uint server_capabilities);
+my_bool advanced_command(MYSQL *mysql, enum enum_server_command command,
+ const char *header, ulong header_length,
+ const char *arg, ulong arg_length, my_bool skip_check);
+void free_rows(MYSQL_DATA *cur);
+MYSQL_DATA *read_rows (MYSQL *mysql,MYSQL_FIELD *fields,
+ uint field_count);
+my_bool mysql_autenticate(MYSQL *mysql, const char *passwd);
+void fetch_lengths(ulong *to, MYSQL_ROW column, uint field_count);
+void free_old_query(MYSQL *mysql);
+void end_server(MYSQL *mysql);
+my_bool mysql_reconnect(MYSQL *mysql);
+#ifdef __cplusplus
+}
+#endif
+
+#ifdef MYSQL_SERVER
+#define protocol_41(A) FALSE
+#else
+#define protocol_41(A) ((A)->server_capabilities & CLIENT_PROTOCOL_41)
+#endif
+
+#endif /* _sql_common_h */