aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorwiso <wiso@svn>2010-08-31 10:17:09 +0000
committerwiso <wiso@svn>2010-08-31 10:17:09 +0000
commitbca781d8418b31c0175a639c0c500bc99bfb7cf6 (patch)
tree27d27623551aad9cc8f08d45a7be3011afb4b48c /lib
parent8118eddc48c59281286962d9e86f3ff88bda2384 (diff)
[WIN32] deleted /lib/libmysql_win32 as its now handled by the dep downloader
git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk@33366 568bbfeb-2a22-0410-94d2-cc84cf5bfa90
Diffstat (limited to 'lib')
-rw-r--r--lib/libmysql_win32/include/config-win.h412
-rw-r--r--lib/libmysql_win32/include/decimal.h107
-rw-r--r--lib/libmysql_win32/include/errmsg.h102
-rw-r--r--lib/libmysql_win32/include/keycache.h143
-rw-r--r--lib/libmysql_win32/include/libmysql.def153
-rw-r--r--lib/libmysql_win32/include/libmysqld.def110
-rw-r--r--lib/libmysql_win32/include/m_ctype.h549
-rw-r--r--lib/libmysql_win32/include/m_string.h266
-rw-r--r--lib/libmysql_win32/include/my_alloc.h51
-rw-r--r--lib/libmysql_win32/include/my_attribute.h63
-rw-r--r--lib/libmysql_win32/include/my_dbug.h159
-rw-r--r--lib/libmysql_win32/include/my_dir.h105
-rw-r--r--lib/libmysql_win32/include/my_getopt.h86
-rw-r--r--lib/libmysql_win32/include/my_global.h1602
-rw-r--r--lib/libmysql_win32/include/my_list.h45
-rw-r--r--lib/libmysql_win32/include/my_net.h128
-rw-r--r--lib/libmysql_win32/include/my_no_pthread.h58
-rw-r--r--lib/libmysql_win32/include/my_pthread.h779
-rw-r--r--lib/libmysql_win32/include/my_sys.h994
-rw-r--r--lib/libmysql_win32/include/my_xml.h89
-rw-r--r--lib/libmysql_win32/include/mysql.h867
-rw-r--r--lib/libmysql_win32/include/mysql/plugin.h832
-rw-r--r--lib/libmysql_win32/include/mysql_com.h522
-rw-r--r--lib/libmysql_win32/include/mysql_embed.h30
-rw-r--r--lib/libmysql_win32/include/mysql_time.h55
-rw-r--r--lib/libmysql_win32/include/mysql_version.h30
-rw-r--r--lib/libmysql_win32/include/mysqld_ername.h643
-rw-r--r--lib/libmysql_win32/include/mysqld_error.h645
-rw-r--r--lib/libmysql_win32/include/sql_common.h50
-rw-r--r--lib/libmysql_win32/include/sql_state.h211
-rw-r--r--lib/libmysql_win32/include/sslopt-case.h28
-rw-r--r--lib/libmysql_win32/include/sslopt-longopts.h45
-rw-r--r--lib/libmysql_win32/include/sslopt-vars.h31
-rw-r--r--lib/libmysql_win32/include/typelib.h39
-rw-r--r--lib/libmysql_win32/lib/mysqlclient.libbin7913144 -> 0 bytes
35 files changed, 0 insertions, 10029 deletions
diff --git a/lib/libmysql_win32/include/config-win.h b/lib/libmysql_win32/include/config-win.h
deleted file mode 100644
index da9b1fc00c..0000000000
--- a/lib/libmysql_win32/include/config-win.h
+++ /dev/null
@@ -1,412 +0,0 @@
-/* Copyright 2000-2008 MySQL AB, 2008 Sun Microsystems, Inc.
-
- 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; version 2 of the License.
-
- 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 */
-
-/* Defines for Win32 to make it compatible for MySQL */
-
-#define BIG_TABLES
-
-#if defined(_MSC_VER) && _MSC_VER >= 1400
-/* Avoid endless warnings about sprintf() etc. being unsafe. */
-#define _CRT_SECURE_NO_DEPRECATE 1
-#endif
-
-#include <sys/locking.h>
-#include <winsock2.h>
-#include <fcntl.h>
-#include <io.h>
-#include <malloc.h>
-
-#define HAVE_SMEM 1
-
-#if defined(_WIN64) || defined(WIN64)
-#define SYSTEM_TYPE "Win64"
-#elif defined(_WIN32) || defined(WIN32)
-#define SYSTEM_TYPE "Win32"
-#else
-#define SYSTEM_TYPE "Windows"
-#endif
-
-#if defined(_M_IA64)
-#define MACHINE_TYPE "ia64"
-#elif defined(_M_IX86)
-#define MACHINE_TYPE "ia32"
-#elif defined(_M_ALPHA)
-#define MACHINE_TYPE "axp"
-#else
-#define MACHINE_TYPE "unknown" /* Define to machine type name */
-#endif
-
-#if !(defined(_WIN64) || defined(WIN64))
-#ifndef _WIN32
-#define _WIN32 /* Compatible with old source */
-#endif
-#ifndef __WIN32__
-#define __WIN32__
-#endif
-#endif /* _WIN64 */
-#ifndef __WIN__
-#define __WIN__ /* To make it easier in VC++ */
-#endif
-
-#ifndef MAX_INDEXES
-#define MAX_INDEXES 64
-#endif
-
-/* File and lock constants */
-#define O_SHARE 0x1000 /* Open file in sharing mode */
-#ifdef __BORLANDC__
-#define F_RDLCK LK_NBLCK /* read lock */
-#define F_WRLCK LK_NBRLCK /* write lock */
-#define F_UNLCK LK_UNLCK /* remove lock(s) */
-#else
-#define F_RDLCK _LK_NBLCK /* read lock */
-#define F_WRLCK _LK_NBRLCK /* write lock */
-#define F_UNLCK _LK_UNLCK /* remove lock(s) */
-#endif
-
-#define F_EXCLUSIVE 1 /* We have only exclusive locking */
-#define F_TO_EOF (INT_MAX32/2) /* size for lock of all file */
-#define F_OK 0 /* parameter to access() */
-#define W_OK 2
-
-#define S_IROTH S_IREAD /* for my_lib */
-
-#ifdef __BORLANDC__
-#define FILE_BINARY O_BINARY /* my_fopen in binary mode */
-#define O_TEMPORARY 0
-#define O_SHORT_LIVED 0
-#define SH_DENYNO _SH_DENYNO
-#else
-#define O_BINARY _O_BINARY /* compability with older style names */
-#define FILE_BINARY _O_BINARY /* my_fopen in binary mode */
-#define O_TEMPORARY _O_TEMPORARY
-#define O_SHORT_LIVED _O_SHORT_LIVED
-#define SH_DENYNO _SH_DENYNO
-#endif
-#define NO_OPEN_3 /* For my_create() */
-
-#define SIGQUIT SIGTERM /* No SIGQUIT */
-
-#undef _REENTRANT /* Crashes something for win32 */
-#undef SAFE_MUTEX /* Can't be used on windows */
-
-#if defined(_MSC_VER) && _MSC_VER >= 1310
-#define LL(A) A##ll
-#define ULL(A) A##ull
-#else
-#define LL(A) ((__int64) A)
-#define ULL(A) ((unsigned __int64) A)
-#endif
-
-#define LONGLONG_MIN LL(0x8000000000000000)
-#define LONGLONG_MAX LL(0x7FFFFFFFFFFFFFFF)
-#define ULONGLONG_MAX ULL(0xFFFFFFFFFFFFFFFF)
-
-/* Type information */
-
-#if !defined(HAVE_UINT)
-#undef HAVE_UINT
-#define HAVE_UINT
-typedef unsigned short ushort;
-typedef unsigned int uint;
-#endif /* !defined(HAVE_UINT) */
-
-typedef unsigned __int64 ulonglong; /* Microsofts 64 bit types */
-typedef __int64 longlong;
-#ifndef HAVE_SIGSET_T
-typedef int sigset_t;
-#endif
-#define longlong_defined
-/*
- off_t should not be __int64 because of conflicts in header files;
- Use my_off_t or os_off_t instead
-*/
-#ifndef HAVE_OFF_T
-typedef long off_t;
-#endif
-typedef __int64 os_off_t;
-#ifdef _WIN64
-typedef UINT_PTR rf_SetTimer;
-#else
-#ifndef HAVE_SIZE_T
-typedef unsigned int size_t;
-#endif
-typedef uint rf_SetTimer;
-#endif
-
-#define Socket_defined
-#define my_socket SOCKET
-#define SIGPIPE SIGINT
-#define RETQSORTTYPE void
-#define QSORT_TYPE_IS_VOID
-#define RETSIGTYPE void
-#define SOCKET_SIZE_TYPE int
-#define my_socket_defined
-#define byte_defined
-#define HUGE_PTR
-#define STDCALL __stdcall /* Used by libmysql.dll */
-#define isnan(X) _isnan(X)
-#define finite(X) _finite(X)
-
-#ifndef MYSQL_CLIENT_NO_THREADS
-#define THREAD
-#endif
-#define VOID_SIGHANDLER
-#define SIZEOF_CHAR 1
-#define SIZEOF_INT 4
-#define SIZEOF_LONG 4
-#define SIZEOF_LONG_LONG 8
-#define SIZEOF_OFF_T 8
-#ifdef _WIN64
-#define SIZEOF_CHARP 8
-#else
-#define SIZEOF_CHARP 4
-#endif
-#define HAVE_BROKEN_NETINET_INCLUDES
-#ifdef __NT__
-#define HAVE_NAMED_PIPE /* We can only create pipes on NT */
-#endif
-
-/* ERROR is defined in wingdi.h */
-#undef ERROR
-
-/* We need to close files to break connections on shutdown */
-#ifndef SIGNAL_WITH_VIO_CLOSE
-#define SIGNAL_WITH_VIO_CLOSE
-#endif
-
-/* All windows servers should support .sym files */
-#undef USE_SYMDIR
-#define USE_SYMDIR
-
-/* If LOAD DATA LOCAL INFILE should be enabled by default */
-#define ENABLED_LOCAL_INFILE 1
-
-/* If query profiling should be enabled by default */
-#define ENABLED_PROFILING 1
-
-/* Convert some simple functions to Posix */
-
-#define my_sigset(A,B) signal((A),(B))
-#define finite(A) _finite(A)
-#define sleep(A) Sleep((A)*1000)
-#define popen(A,B) _popen((A),(B))
-#define pclose(A) _pclose(A)
-
-#ifndef __BORLANDC__
-#define access(A,B) _access(A,B)
-#endif
-
-#if !defined(__cplusplus)
-#define inline __inline
-#endif /* __cplusplus */
-
-#ifdef _WIN64
-#define ulonglong2double(A) ((double) (ulonglong) (A))
-#define my_off_t2double(A) ((double) (my_off_t) (A))
-
-#else
-inline double ulonglong2double(ulonglong value)
-{
- longlong nr=(longlong) value;
- if (nr >= 0)
- return (double) nr;
- return (18446744073709551616.0 + (double) nr);
-}
-#define my_off_t2double(A) ulonglong2double(A)
-#endif /* _WIN64 */
-
-inline ulonglong double2ulonglong(double d)
-{
- double t= d - (double) 0x8000000000000000ULL;
-
- if (t >= 0)
- return ((ulonglong) t) + 0x8000000000000000ULL;
- return (ulonglong) d;
-}
-
-#if SIZEOF_OFF_T > 4
-#define lseek(A,B,C) _lseeki64((A),(longlong) (B),(C))
-#define tell(A) _telli64(A)
-#endif
-
-#define STACK_DIRECTION -1
-
-/* Difference between GetSystemTimeAsFileTime() and now() */
-#define OFFSET_TO_EPOCH ULL(116444736000000000)
-
-#define HAVE_PERROR
-#define HAVE_VFPRINT
-#define HAVE_RENAME /* Have rename() as function */
-#define HAVE_BINARY_STREAMS /* Have "b" flag in streams */
-#define HAVE_LONG_JMP /* Have long jump function */
-#define HAVE_LOCKING /* have locking() call */
-#define HAVE_ERRNO_AS_DEFINE /* errno is a define */
-#define HAVE_STDLIB /* everything is include in this file */
-#define HAVE_MEMCPY
-#define HAVE_MEMMOVE
-#define HAVE_GETCWD
-#define HAVE_TELL
-#define HAVE_TZNAME
-#define HAVE_PUTENV
-#define HAVE_SELECT
-#define HAVE_SETLOCALE
-#define HAVE_SOCKET /* Giangi */
-#define HAVE_FLOAT_H
-#define HAVE_LIMITS_H
-#define HAVE_STDDEF_H
-#define NO_FCNTL_NONBLOCK /* No FCNTL */
-#define HAVE_ALLOCA
-#define HAVE_STRPBRK
-#define HAVE_STRSTR
-#define HAVE_COMPRESS
-#define HAVE_CREATESEMAPHORE
-#define HAVE_ISNAN
-#define HAVE_FINITE
-#define HAVE_QUERY_CACHE
-#define SPRINTF_RETURNS_INT
-#define HAVE_SETFILEPOINTER
-#define HAVE_VIO_READ_BUFF
-#if defined(_MSC_VER) && _MSC_VER >= 1400
-/* strnlen() appeared in Studio 2005 */
-#define HAVE_STRNLEN
-#endif
-#define HAVE_WINSOCK2
-
-#define strcasecmp stricmp
-#define strncasecmp strnicmp
-
-#ifndef __NT__
-#undef FILE_SHARE_DELETE
-#define FILE_SHARE_DELETE 0 /* Not implemented on Win 98/ME */
-#endif
-
-#ifdef NOT_USED
-#define HAVE_SNPRINTF /* Gave link error */
-#define _snprintf snprintf
-#endif
-
-#ifdef _MSC_VER
-#define HAVE_LDIV /* The optimizer breaks in zortech for ldiv */
-#define HAVE_ANSI_INCLUDE
-#define HAVE_SYS_UTIME_H
-#define HAVE_STRTOUL
-#endif
-#define my_reinterpret_cast(A) reinterpret_cast <A>
-#define my_const_cast(A) const_cast<A>
-
-
-/* MYSQL OPTIONS */
-
-#ifdef _CUSTOMCONFIG_
-#include <custom_conf.h>
-#else
-#ifndef CMAKE_CONFIGD
-#define DEFAULT_MYSQL_HOME "c:\\mysql"
-#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
-#ifndef DEFAULT_GROUP_SUFFIX_ENV
-#define DEFAULT_GROUP_SUFFIX_ENV MYSQL_GROUP_SUFFIX
-#endif
-
-/* File name handling */
-
-#define FN_LIBCHAR '\\'
-#define FN_ROOTDIR "\\"
-#define FN_DEVCHAR ':'
-#define FN_NETWORK_DRIVES /* Uses \\ to indicate network drives */
-#define FN_NO_CASE_SENCE /* Files are not case-sensitive */
-#define OS_FILE_LIMIT 2048
-
-#define DO_NOT_REMOVE_THREAD_WRAPPERS
-#define thread_safe_increment(V,L) InterlockedIncrement((long*) &(V))
-#define thread_safe_decrement(V,L) InterlockedDecrement((long*) &(V))
-/* The following is only used for statistics, so it should be good enough */
-#ifdef __NT__ /* This should also work on Win98 but .. */
-#define thread_safe_add(V,C,L) InterlockedExchangeAdd((long*) &(V),(C))
-#define thread_safe_sub(V,C,L) InterlockedExchangeAdd((long*) &(V),-(long) (C))
-#endif
-
-#define shared_memory_buffer_length 16000
-#define default_shared_memory_base_name "MYSQL"
-
-#define HAVE_SPATIAL 1
-#define HAVE_RTREE_KEYS 1
-
-#define HAVE_OPENSSL 1
-#define HAVE_YASSL 1
-
-#define COMMUNITY_SERVER 1
-#define ENABLED_PROFILING 1
-
-/*
- Our Windows binaries include all character sets which MySQL supports.
- Any changes to the available character sets must also go into
- config/ac-macros/character_sets.m4
-*/
-
-#define MYSQL_DEFAULT_CHARSET_NAME "latin1"
-#define MYSQL_DEFAULT_COLLATION_NAME "latin1_swedish_ci"
-
-#define USE_MB 1
-#define USE_MB_IDENT 1
-#define USE_STRCOLL 1
-
-#define HAVE_CHARSET_armscii8
-#define HAVE_CHARSET_ascii
-#define HAVE_CHARSET_big5 1
-#define HAVE_CHARSET_cp1250 1
-#define HAVE_CHARSET_cp1251
-#define HAVE_CHARSET_cp1256
-#define HAVE_CHARSET_cp1257
-#define HAVE_CHARSET_cp850
-#define HAVE_CHARSET_cp852
-#define HAVE_CHARSET_cp866
-#define HAVE_CHARSET_cp932 1
-#define HAVE_CHARSET_dec8
-#define HAVE_CHARSET_eucjpms 1
-#define HAVE_CHARSET_euckr 1
-#define HAVE_CHARSET_gb2312 1
-#define HAVE_CHARSET_gbk 1
-#define HAVE_CHARSET_geostd8
-#define HAVE_CHARSET_greek
-#define HAVE_CHARSET_hebrew
-#define HAVE_CHARSET_hp8
-#define HAVE_CHARSET_keybcs2
-#define HAVE_CHARSET_koi8r
-#define HAVE_CHARSET_koi8u
-#define HAVE_CHARSET_latin1 1
-#define HAVE_CHARSET_latin2 1
-#define HAVE_CHARSET_latin5
-#define HAVE_CHARSET_latin7
-#define HAVE_CHARSET_macce
-#define HAVE_CHARSET_macroman
-#define HAVE_CHARSET_sjis 1
-#define HAVE_CHARSET_swe7
-#define HAVE_CHARSET_tis620 1
-#define HAVE_CHARSET_ucs2 1
-#define HAVE_CHARSET_ujis 1
-#define HAVE_CHARSET_utf8 1
-
-#define HAVE_UCA_COLLATIONS 1
-#define HAVE_BOOL 1
diff --git a/lib/libmysql_win32/include/decimal.h b/lib/libmysql_win32/include/decimal.h
deleted file mode 100644
index 530ed9e175..0000000000
--- a/lib/libmysql_win32/include/decimal.h
+++ /dev/null
@@ -1,107 +0,0 @@
-/* Copyright (C) 2000 MySQL 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; version 2 of the License.
-
- 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 _decimal_h
-#define _decimal_h
-
-typedef enum
-{TRUNCATE=0, HALF_EVEN, HALF_UP, CEILING, FLOOR}
- decimal_round_mode;
-typedef int32 decimal_digit_t;
-
-typedef struct st_decimal_t {
- int intg, frac, len;
- my_bool sign;
- decimal_digit_t *buf;
-} decimal_t;
-
-int internal_str2dec(const char *from, decimal_t *to, char **end,
- my_bool fixed);
-int decimal2string(decimal_t *from, char *to, int *to_len,
- int fixed_precision, int fixed_decimals,
- char filler);
-int decimal2ulonglong(decimal_t *from, ulonglong *to);
-int ulonglong2decimal(ulonglong from, decimal_t *to);
-int decimal2longlong(decimal_t *from, longlong *to);
-int longlong2decimal(longlong from, decimal_t *to);
-int decimal2double(decimal_t *from, double *to);
-int double2decimal(double from, decimal_t *to);
-int decimal_actual_fraction(decimal_t *from);
-int decimal2bin(decimal_t *from, uchar *to, int precision, int scale);
-int bin2decimal(const uchar *from, decimal_t *to, int precision, int scale);
-
-int decimal_size(int precision, int scale);
-int decimal_bin_size(int precision, int scale);
-int decimal_result_size(decimal_t *from1, decimal_t *from2, char op,
- int param);
-
-int decimal_intg(decimal_t *from);
-int decimal_add(decimal_t *from1, decimal_t *from2, decimal_t *to);
-int decimal_sub(decimal_t *from1, decimal_t *from2, decimal_t *to);
-int decimal_cmp(decimal_t *from1, decimal_t *from2);
-int decimal_mul(decimal_t *from1, decimal_t *from2, decimal_t *to);
-int decimal_div(decimal_t *from1, decimal_t *from2, decimal_t *to,
- int scale_incr);
-int decimal_mod(decimal_t *from1, decimal_t *from2, decimal_t *to);
-int decimal_round(decimal_t *from, decimal_t *to, int new_scale,
- decimal_round_mode mode);
-int decimal_is_zero(decimal_t *from);
-void max_decimal(int precision, int frac, decimal_t *to);
-
-#define string2decimal(A,B,C) internal_str2dec((A), (B), (C), 0)
-#define string2decimal_fixed(A,B,C) internal_str2dec((A), (B), (C), 1)
-
-/* set a decimal_t to zero */
-
-#define decimal_make_zero(dec) do { \
- (dec)->buf[0]=0; \
- (dec)->intg=1; \
- (dec)->frac=0; \
- (dec)->sign=0; \
- } while(0)
-
-/*
- returns the length of the buffer to hold string representation
- of the decimal (including decimal dot, possible sign and \0)
-*/
-
-#define decimal_string_size(dec) (((dec)->intg ? (dec)->intg : 1) + \
- (dec)->frac + ((dec)->frac > 0) + 2)
-
-/* negate a decimal */
-#define decimal_neg(dec) do { (dec)->sign^=1; } while(0)
-
-/*
- conventions:
-
- decimal_smth() == 0 -- everything's ok
- decimal_smth() <= 1 -- result is usable, but precision loss is possible
- decimal_smth() <= 2 -- result can be unusable, most significant digits
- could've been lost
- decimal_smth() > 2 -- no result was generated
-*/
-
-#define E_DEC_OK 0
-#define E_DEC_TRUNCATED 1
-#define E_DEC_OVERFLOW 2
-#define E_DEC_DIV_ZERO 4
-#define E_DEC_BAD_NUM 8
-#define E_DEC_OOM 16
-
-#define E_DEC_ERROR 31
-#define E_DEC_FATAL_ERROR 30
-
-#endif
-
diff --git a/lib/libmysql_win32/include/errmsg.h b/lib/libmysql_win32/include/errmsg.h
deleted file mode 100644
index a6d8c770de..0000000000
--- a/lib/libmysql_win32/include/errmsg.h
+++ /dev/null
@@ -1,102 +0,0 @@
-/* Copyright (C) 2000 MySQL 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; version 2 of the License.
-
- 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 */
-
-/* Error messages for MySQL clients */
-/* (Error messages for the daemon are in sql/share/errmsg.txt) */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-void init_client_errs(void);
-void finish_client_errs(void);
-extern const char *client_errors[]; /* Error messages */
-#ifdef __cplusplus
-}
-#endif
-
-#define CR_MIN_ERROR 2000 /* For easier client code */
-#define CR_MAX_ERROR 2999
-#if !defined(ER)
-#define ER(X) client_errors[(X)-CR_MIN_ERROR]
-#endif
-#define CLIENT_ERRMAP 2 /* Errormap used by my_error() */
-
-/* Do not add error numbers before CR_ERROR_FIRST. */
-/* If necessary to add lower numbers, change CR_ERROR_FIRST accordingly. */
-#define CR_ERROR_FIRST 2000 /*Copy first error nr.*/
-#define CR_UNKNOWN_ERROR 2000
-#define CR_SOCKET_CREATE_ERROR 2001
-#define CR_CONNECTION_ERROR 2002
-#define CR_CONN_HOST_ERROR 2003
-#define CR_IPSOCK_ERROR 2004
-#define CR_UNKNOWN_HOST 2005
-#define CR_SERVER_GONE_ERROR 2006
-#define CR_VERSION_ERROR 2007
-#define CR_OUT_OF_MEMORY 2008
-#define CR_WRONG_HOST_INFO 2009
-#define CR_LOCALHOST_CONNECTION 2010
-#define CR_TCP_CONNECTION 2011
-#define CR_SERVER_HANDSHAKE_ERR 2012
-#define CR_SERVER_LOST 2013
-#define CR_COMMANDS_OUT_OF_SYNC 2014
-#define CR_NAMEDPIPE_CONNECTION 2015
-#define CR_NAMEDPIPEWAIT_ERROR 2016
-#define CR_NAMEDPIPEOPEN_ERROR 2017
-#define CR_NAMEDPIPESETSTATE_ERROR 2018
-#define CR_CANT_READ_CHARSET 2019
-#define CR_NET_PACKET_TOO_LARGE 2020
-#define CR_EMBEDDED_CONNECTION 2021
-#define CR_PROBE_SLAVE_STATUS 2022
-#define CR_PROBE_SLAVE_HOSTS 2023
-#define CR_PROBE_SLAVE_CONNECT 2024
-#define CR_PROBE_MASTER_CONNECT 2025
-#define CR_SSL_CONNECTION_ERROR 2026
-#define CR_MALFORMED_PACKET 2027
-#define CR_WRONG_LICENSE 2028
-
-/* new 4.1 error codes */
-#define CR_NULL_POINTER 2029
-#define CR_NO_PREPARE_STMT 2030
-#define CR_PARAMS_NOT_BOUND 2031
-#define CR_DATA_TRUNCATED 2032
-#define CR_NO_PARAMETERS_EXISTS 2033
-#define CR_INVALID_PARAMETER_NO 2034
-#define CR_INVALID_BUFFER_USE 2035
-#define CR_UNSUPPORTED_PARAM_TYPE 2036
-
-#define CR_SHARED_MEMORY_CONNECTION 2037
-#define CR_SHARED_MEMORY_CONNECT_REQUEST_ERROR 2038
-#define CR_SHARED_MEMORY_CONNECT_ANSWER_ERROR 2039
-#define CR_SHARED_MEMORY_CONNECT_FILE_MAP_ERROR 2040
-#define CR_SHARED_MEMORY_CONNECT_MAP_ERROR 2041
-#define CR_SHARED_MEMORY_FILE_MAP_ERROR 2042
-#define CR_SHARED_MEMORY_MAP_ERROR 2043
-#define CR_SHARED_MEMORY_EVENT_ERROR 2044
-#define CR_SHARED_MEMORY_CONNECT_ABANDONED_ERROR 2045
-#define CR_SHARED_MEMORY_CONNECT_SET_ERROR 2046
-#define CR_CONN_UNKNOW_PROTOCOL 2047
-#define CR_INVALID_CONN_HANDLE 2048
-#define CR_SECURE_AUTH 2049
-#define CR_FETCH_CANCELED 2050
-#define CR_NO_DATA 2051
-#define CR_NO_STMT_METADATA 2052
-#define CR_NO_RESULT_SET 2053
-#define CR_NOT_IMPLEMENTED 2054
-#define CR_SERVER_LOST_EXTENDED 2055
-#define CR_STMT_CLOSED 2056
-#define CR_NEW_STMT_METADATA 2057
-#define CR_ERROR_LAST /*Copy last error nr:*/ 2057
-/* Add error numbers before CR_ERROR_LAST and change it accordingly. */
-
diff --git a/lib/libmysql_win32/include/keycache.h b/lib/libmysql_win32/include/keycache.h
deleted file mode 100644
index a6005bae87..0000000000
--- a/lib/libmysql_win32/include/keycache.h
+++ /dev/null
@@ -1,143 +0,0 @@
-/* Copyright (C) 2003 MySQL 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; version 2 of the License.
-
- 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 */
-
-/* Key cache variable structures */
-
-#ifndef _keycache_h
-#define _keycache_h
-C_MODE_START
-
-/* declare structures that is used by st_key_cache */
-
-struct st_block_link;
-typedef struct st_block_link BLOCK_LINK;
-struct st_keycache_page;
-typedef struct st_keycache_page KEYCACHE_PAGE;
-struct st_hash_link;
-typedef struct st_hash_link HASH_LINK;
-
-/* info about requests in a waiting queue */
-typedef struct st_keycache_wqueue
-{
- struct st_my_thread_var *last_thread; /* circular list of waiting threads */
-} KEYCACHE_WQUEUE;
-
-#define CHANGED_BLOCKS_HASH 128 /* must be power of 2 */
-
-/*
- The key cache structure
- It also contains read-only statistics parameters.
-*/
-
-typedef struct st_key_cache
-{
- my_bool key_cache_inited;
- my_bool in_resize; /* true during resize operation */
- my_bool resize_in_flush; /* true during flush of resize operation */
- my_bool can_be_used; /* usage of cache for read/write is allowed */
- size_t key_cache_mem_size; /* specified size of the cache memory */
- uint key_cache_block_size; /* size of the page buffer of a cache block */
- ulong min_warm_blocks; /* min number of warm blocks; */
- ulong age_threshold; /* age threshold for hot blocks */
- ulonglong keycache_time; /* total number of block link operations */
- uint hash_entries; /* max number of entries in the hash table */
- int hash_links; /* max number of hash links */
- int hash_links_used; /* number of hash links currently used */
- int disk_blocks; /* max number of blocks in the cache */
- ulong blocks_used; /* maximum number of concurrently used blocks */
- ulong blocks_unused; /* number of currently unused blocks */
- ulong blocks_changed; /* number of currently dirty blocks */
- ulong warm_blocks; /* number of blocks in warm sub-chain */
- ulong cnt_for_resize_op; /* counter to block resize operation */
- long blocks_available; /* number of blocks available in the LRU chain */
- HASH_LINK **hash_root; /* arr. of entries into hash table buckets */
- HASH_LINK *hash_link_root; /* memory for hash table links */
- HASH_LINK *free_hash_list; /* list of free hash links */
- BLOCK_LINK *free_block_list; /* list of free blocks */
- BLOCK_LINK *block_root; /* memory for block links */
- uchar HUGE_PTR *block_mem; /* memory for block buffers */
- BLOCK_LINK *used_last; /* ptr to the last block of the LRU chain */
- BLOCK_LINK *used_ins; /* ptr to the insertion block in LRU chain */
- pthread_mutex_t cache_lock; /* to lock access to the cache structure */
- KEYCACHE_WQUEUE resize_queue; /* threads waiting during resize operation */
- /*
- Waiting for a zero resize count. Using a queue for symmetry though
- only one thread can wait here.
- */
- KEYCACHE_WQUEUE waiting_for_resize_cnt;
- KEYCACHE_WQUEUE waiting_for_hash_link; /* waiting for a free hash link */
- KEYCACHE_WQUEUE waiting_for_block; /* requests waiting for a free block */
- BLOCK_LINK *changed_blocks[CHANGED_BLOCKS_HASH]; /* hash for dirty file bl.*/
- BLOCK_LINK *file_blocks[CHANGED_BLOCKS_HASH]; /* hash for other file bl.*/
-
- /*
- The following variables are and variables used to hold parameters for
- initializing the key cache.
- */
-
- ulonglong param_buff_size; /* size the memory allocated for the cache */
- ulong param_block_size; /* size of the blocks in the key cache */
- ulong param_division_limit; /* min. percentage of warm blocks */
- ulong param_age_threshold; /* determines when hot block is downgraded */
-
- /* Statistics variables. These are reset in reset_key_cache_counters(). */
- ulong global_blocks_changed; /* number of currently dirty blocks */
- ulonglong global_cache_w_requests;/* number of write requests (write hits) */
- ulonglong global_cache_write; /* number of writes from cache to files */
- ulonglong global_cache_r_requests;/* number of read requests (read hits) */
- ulonglong global_cache_read; /* number of reads from files to cache */
-
- int blocks; /* max number of blocks in the cache */
- my_bool in_init; /* Set to 1 in MySQL during init/resize */
-} KEY_CACHE;
-
-/* The default key cache */
-extern KEY_CACHE dflt_key_cache_var, *dflt_key_cache;
-
-extern int init_key_cache(KEY_CACHE *keycache, uint key_cache_block_size,
- size_t use_mem, uint division_limit,
- uint age_threshold);
-extern int resize_key_cache(KEY_CACHE *keycache, uint key_cache_block_size,
- size_t use_mem, uint division_limit,
- uint age_threshold);
-extern void change_key_cache_param(KEY_CACHE *keycache, uint division_limit,
- uint age_threshold);
-extern uchar *key_cache_read(KEY_CACHE *keycache,
- File file, my_off_t filepos, int level,
- uchar *buff, uint length,
- uint block_length,int return_buffer);
-extern int key_cache_insert(KEY_CACHE *keycache,
- File file, my_off_t filepos, int level,
- uchar *buff, uint length);
-extern int key_cache_write(KEY_CACHE *keycache,
- File file, my_off_t filepos, int level,
- uchar *buff, uint length,
- uint block_length,int force_write);
-extern int flush_key_blocks(KEY_CACHE *keycache,
- int file, enum flush_type type);
-extern void end_key_cache(KEY_CACHE *keycache, my_bool cleanup);
-
-/* Functions to handle multiple key caches */
-extern my_bool multi_keycache_init(void);
-extern void multi_keycache_free(void);
-extern KEY_CACHE *multi_key_cache_search(uchar *key, uint length);
-extern my_bool multi_key_cache_set(const uchar *key, uint length,
- KEY_CACHE *key_cache);
-extern void multi_key_cache_change(KEY_CACHE *old_data,
- KEY_CACHE *new_data);
-extern int reset_key_cache_counters(const char *name,
- KEY_CACHE *key_cache);
-C_MODE_END
-#endif /* _keycache_h */
diff --git a/lib/libmysql_win32/include/libmysql.def b/lib/libmysql_win32/include/libmysql.def
deleted file mode 100644
index 81f86dc872..0000000000
--- a/lib/libmysql_win32/include/libmysql.def
+++ /dev/null
@@ -1,153 +0,0 @@
-LIBRARY LIBMYSQL
-VERSION 6.0
-EXPORTS
- _dig_vec_lower
- _dig_vec_upper
- bmove_upp
- delete_dynamic
- free_defaults
- getopt_compare_strings
- getopt_ull_limit_value
- handle_options
- init_dynamic_array
- insert_dynamic
- int2str
- is_prefix
- list_add
- list_delete
- load_defaults
- my_end
- my_getopt_print_errors
- my_init
- my_malloc
- my_memdup
- my_no_flags_free
- my_path
- mysql_get_parameters
- my_print_help
- my_print_variables
- my_realloc
- my_strdup
- mysql_thread_end
- mysql_thread_init
- myodbc_remove_escape
- mysql_affected_rows
- mysql_autocommit
- mysql_stmt_bind_param
- mysql_stmt_bind_result
- mysql_change_user
- mysql_character_set_name
- mysql_close
- mysql_commit
- mysql_data_seek
- mysql_debug
- mysql_dump_debug_info
- mysql_eof
- mysql_errno
- mysql_error
- mysql_escape_string
- mysql_hex_string
- mysql_stmt_execute
- mysql_stmt_fetch
- mysql_stmt_fetch_column
- mysql_fetch_field
- mysql_fetch_field_direct
- mysql_fetch_fields
- mysql_fetch_lengths
- mysql_fetch_row
- mysql_field_count
- mysql_field_seek
- mysql_field_tell
- mysql_free_result
- mysql_get_client_info
- mysql_get_host_info
- mysql_get_proto_info
- mysql_get_server_info
- mysql_get_client_version
- mysql_get_ssl_cipher
- mysql_info
- mysql_init
- mysql_insert_id
- mysql_kill
- mysql_set_server_option
- mysql_list_dbs
- mysql_list_fields
- mysql_list_processes
- mysql_list_tables
- mysql_more_results
- mysql_next_result
- mysql_num_fields
- mysql_num_rows
- mysql_options
- mysql_stmt_param_count
- mysql_stmt_param_metadata
- mysql_ping
- mysql_stmt_result_metadata
- mysql_query
- mysql_read_query_result
- mysql_real_connect
- mysql_real_escape_string
- mysql_real_query
- mysql_refresh
- mysql_rollback
- mysql_row_seek
- mysql_row_tell
- mysql_select_db
- mysql_stmt_send_long_data
- mysql_send_query
- mysql_shutdown
- mysql_ssl_set
- mysql_stat
- mysql_stmt_affected_rows
- mysql_stmt_close
- mysql_stmt_reset
- mysql_stmt_data_seek
- mysql_stmt_errno
- mysql_stmt_error
- mysql_stmt_free_result
- mysql_stmt_num_rows
- mysql_stmt_row_seek
- mysql_stmt_row_tell
- mysql_stmt_store_result
- mysql_store_result
- mysql_thread_id
- mysql_thread_safe
- mysql_use_result
- mysql_warning_count
- mysql_stmt_sqlstate
- mysql_sqlstate
- mysql_get_server_version
- set_dynamic
- strcend
- strcont
- strdup_root
- strfill
- strinstr
- strmake
- strmov
- strxmov
- mysql_stmt_prepare
- mysql_stmt_init
- mysql_stmt_insert_id
- mysql_stmt_attr_get
- mysql_stmt_attr_set
- mysql_stmt_field_count
- client_errors
- mysql_set_local_infile_default
- mysql_set_local_infile_handler
- mysql_disable_reads_from_master
- mysql_disable_rpl_parse
- mysql_enable_reads_from_master
- mysql_enable_rpl_parse
- mysql_master_query
- mysql_rpl_parse_enabled
- mysql_rpl_probe
- mysql_rpl_query_type
- mysql_slave_query
- mysql_embedded
- mysql_server_init
- mysql_server_end
- mysql_set_character_set
- mysql_get_character_set_info
- get_defaults_options
- modify_defaults_file
diff --git a/lib/libmysql_win32/include/libmysqld.def b/lib/libmysql_win32/include/libmysqld.def
deleted file mode 100644
index 047cfe0fe5..0000000000
--- a/lib/libmysql_win32/include/libmysqld.def
+++ /dev/null
@@ -1,110 +0,0 @@
-LIBRARY LIBMYSQLD
-DESCRIPTION 'MySQL 5.1 Embedded Server Library'
-VERSION 5.1
-EXPORTS
- mysql_thread_end
- mysql_thread_init
- myodbc_remove_escape
- mysql_affected_rows
- mysql_autocommit
- mysql_change_user
- mysql_character_set_name
- mysql_close
- mysql_commit
- mysql_data_seek
- mysql_debug
- mysql_disable_rpl_parse
- mysql_dump_debug_info
- mysql_enable_rpl_parse
- mysql_eof
- mysql_errno
- mysql_error
- mysql_escape_string
- mysql_hex_string
- mysql_fetch_field
- mysql_fetch_field_direct
- mysql_fetch_fields
- mysql_fetch_lengths
- mysql_fetch_row
- mysql_field_count
- mysql_field_seek
- mysql_field_tell
- mysql_free_result
- mysql_get_character_set_info
- mysql_get_client_info
- mysql_get_host_info
- mysql_get_proto_info
- mysql_get_server_info
- mysql_get_client_version
- mysql_get_ssl_cipher
- mysql_info
- mysql_init
- mysql_insert_id
- mysql_kill
- mysql_set_server_option
- mysql_list_dbs
- mysql_list_fields
- mysql_list_processes
- mysql_list_tables
- mysql_more_results
- mysql_next_result
- mysql_num_fields
- mysql_num_rows
- mysql_options
- mysql_ping
- mysql_query
- mysql_read_query_result
- mysql_real_connect
- mysql_real_escape_string
- mysql_real_query
- mysql_refresh
- mysql_rollback
- mysql_row_seek
- mysql_row_tell
- mysql_rpl_parse_enabled
- mysql_rpl_probe
- mysql_select_db
- mysql_send_query
- mysql_shutdown
- mysql_ssl_set
- mysql_stat
- mysql_store_result
- mysql_sqlstate
- mysql_thread_id
- mysql_thread_safe
- mysql_use_result
- mysql_warning_count
- mysql_server_end
- mysql_server_init
- get_tty_password
- mysql_get_server_version
- mysql_set_character_set
- mysql_sqlstate
- mysql_get_parameters
- mysql_stmt_bind_param
- mysql_stmt_bind_result
- mysql_stmt_execute
- mysql_stmt_fetch
- mysql_stmt_fetch_column
- mysql_stmt_param_count
- mysql_stmt_param_metadata
- mysql_stmt_result_metadata
- mysql_stmt_send_long_data
- mysql_stmt_affected_rows
- mysql_stmt_close
- mysql_stmt_reset
- mysql_stmt_data_seek
- mysql_stmt_errno
- mysql_stmt_error
- mysql_stmt_free_result
- mysql_stmt_num_rows
- mysql_stmt_row_seek
- mysql_stmt_row_tell
- mysql_stmt_store_result
- mysql_stmt_sqlstate
- mysql_stmt_prepare
- mysql_stmt_init
- mysql_stmt_insert_id
- mysql_stmt_attr_get
- mysql_stmt_attr_set
- mysql_stmt_field_count
diff --git a/lib/libmysql_win32/include/m_ctype.h b/lib/libmysql_win32/include/m_ctype.h
deleted file mode 100644
index 451c8db549..0000000000
--- a/lib/libmysql_win32/include/m_ctype.h
+++ /dev/null
@@ -1,549 +0,0 @@
-/* Copyright (C) 2000 MySQL 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; version 2 of the License.
-
- 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 */
-
-/*
- A better inplementation of the UNIX ctype(3) library.
- Notes: my_global.h should be included before ctype.h
-*/
-
-#ifndef _m_ctype_h
-#define _m_ctype_h
-
-#include <my_attribute.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define MY_CS_NAME_SIZE 32
-#define MY_CS_CTYPE_TABLE_SIZE 257
-#define MY_CS_TO_LOWER_TABLE_SIZE 256
-#define MY_CS_TO_UPPER_TABLE_SIZE 256
-#define MY_CS_SORT_ORDER_TABLE_SIZE 256
-#define MY_CS_TO_UNI_TABLE_SIZE 256
-
-#define CHARSET_DIR "charsets/"
-
-#define my_wc_t ulong
-
-typedef struct unicase_info_st
-{
- uint16 toupper;
- uint16 tolower;
- uint16 sort;
-} MY_UNICASE_INFO;
-
-
-extern MY_UNICASE_INFO *my_unicase_default[256];
-extern MY_UNICASE_INFO *my_unicase_turkish[256];
-
-typedef struct uni_ctype_st
-{
- uchar pctype;
- uchar *ctype;
-} MY_UNI_CTYPE;
-
-extern MY_UNI_CTYPE my_uni_ctype[256];
-
-/* wm_wc and wc_mb return codes */
-#define MY_CS_ILSEQ 0 /* Wrong by sequence: wb_wc */
-#define MY_CS_ILUNI 0 /* Cannot encode Unicode to charset: wc_mb */
-#define MY_CS_TOOSMALL -101 /* Need at least one byte: wc_mb and mb_wc */
-#define MY_CS_TOOSMALL2 -102 /* Need at least two bytes: wc_mb and mb_wc */
-#define MY_CS_TOOSMALL3 -103 /* Need at least three bytes: wc_mb and mb_wc */
-/* These following three are currently not really used */
-#define MY_CS_TOOSMALL4 -104 /* Need at least 4 bytes: wc_mb and mb_wc */
-#define MY_CS_TOOSMALL5 -105 /* Need at least 5 bytes: wc_mb and mb_wc */
-#define MY_CS_TOOSMALL6 -106 /* Need at least 6 bytes: wc_mb and mb_wc */
-/* A helper macros for "need at least n bytes" */
-#define MY_CS_TOOSMALLN(n) (-100-(n))
-
-#define MY_SEQ_INTTAIL 1
-#define MY_SEQ_SPACES 2
-
- /* My charsets_list flags */
-#define MY_CS_COMPILED 1 /* compiled-in sets */
-#define MY_CS_CONFIG 2 /* sets that have a *.conf file */
-#define MY_CS_INDEX 4 /* sets listed in the Index file */
-#define MY_CS_LOADED 8 /* sets that are currently loaded */
-#define MY_CS_BINSORT 16 /* if binary sort order */
-#define MY_CS_PRIMARY 32 /* if primary collation */
-#define MY_CS_STRNXFRM 64 /* if strnxfrm is used for sort */
-#define MY_CS_UNICODE 128 /* is a charset is full unicode */
-#define MY_CS_READY 256 /* if a charset is initialized */
-#define MY_CS_AVAILABLE 512 /* If either compiled-in or loaded*/
-#define MY_CS_CSSORT 1024 /* if case sensitive sort order */
-#define MY_CS_HIDDEN 2048 /* don't display in SHOW */
-#define MY_CS_PUREASCII 4096 /* if a charset is pure ascii */
-#define MY_CHARSET_UNDEFINED 0
-
-/* Character repertoire flags */
-#define MY_REPERTOIRE_ASCII 1 /* Pure ASCII U+0000..U+007F */
-#define MY_REPERTOIRE_EXTENDED 2 /* Extended characters: U+0080..U+FFFF */
-#define MY_REPERTOIRE_UNICODE30 3 /* ASCII | EXTENDED: U+0000..U+FFFF */
-
-
-typedef struct my_uni_idx_st
-{
- uint16 from;
- uint16 to;
- uchar *tab;
-} MY_UNI_IDX;
-
-typedef struct
-{
- uint beg;
- uint end;
- uint mb_len;
-} my_match_t;
-
-enum my_lex_states
-{
- MY_LEX_START, MY_LEX_CHAR, MY_LEX_IDENT,
- MY_LEX_IDENT_SEP, MY_LEX_IDENT_START,
- MY_LEX_REAL, MY_LEX_HEX_NUMBER, MY_LEX_BIN_NUMBER,
- MY_LEX_CMP_OP, MY_LEX_LONG_CMP_OP, MY_LEX_STRING, MY_LEX_COMMENT, MY_LEX_END,
- MY_LEX_OPERATOR_OR_IDENT, MY_LEX_NUMBER_IDENT, MY_LEX_INT_OR_REAL,
- MY_LEX_REAL_OR_POINT, MY_LEX_BOOL, MY_LEX_EOL, MY_LEX_ESCAPE,
- MY_LEX_LONG_COMMENT, MY_LEX_END_LONG_COMMENT, MY_LEX_SEMICOLON,
- MY_LEX_SET_VAR, MY_LEX_USER_END, MY_LEX_HOSTNAME, MY_LEX_SKIP,
- MY_LEX_USER_VARIABLE_DELIMITER, MY_LEX_SYSTEM_VAR,
- MY_LEX_IDENT_OR_KEYWORD,
- MY_LEX_IDENT_OR_HEX, MY_LEX_IDENT_OR_BIN, MY_LEX_IDENT_OR_NCHAR,
- MY_LEX_STRING_OR_DELIMITER
-};
-
-struct charset_info_st;
-
-
-/* See strings/CHARSET_INFO.txt for information about this structure */
-typedef struct my_collation_handler_st
-{
- my_bool (*init)(struct charset_info_st *, void *(*alloc)(size_t));
- /* Collation routines */
- int (*strnncoll)(struct charset_info_st *,
- const uchar *, size_t, const uchar *, size_t, my_bool);
- int (*strnncollsp)(struct charset_info_st *,
- const uchar *, size_t, const uchar *, size_t,
- my_bool diff_if_only_endspace_difference);
- size_t (*strnxfrm)(struct charset_info_st *,
- uchar *, size_t, const uchar *, size_t);
- size_t (*strnxfrmlen)(struct charset_info_st *, size_t);
- my_bool (*like_range)(struct charset_info_st *,
- const char *s, size_t s_length,
- pchar w_prefix, pchar w_one, pchar w_many,
- size_t res_length,
- char *min_str, char *max_str,
- size_t *min_len, size_t *max_len);
- int (*wildcmp)(struct charset_info_st *,
- const char *str,const char *str_end,
- const char *wildstr,const char *wildend,
- int escape,int w_one, int w_many);
-
- int (*strcasecmp)(struct charset_info_st *, const char *, const char *);
-
- uint (*instr)(struct charset_info_st *,
- const char *b, size_t b_length,
- const char *s, size_t s_length,
- my_match_t *match, uint nmatch);
-
- /* Hash calculation */
- void (*hash_sort)(struct charset_info_st *cs, const uchar *key, size_t len,
- ulong *nr1, ulong *nr2);
- my_bool (*propagate)(struct charset_info_st *cs, const uchar *str, size_t len);
-} MY_COLLATION_HANDLER;
-
-extern MY_COLLATION_HANDLER my_collation_mb_bin_handler;
-extern MY_COLLATION_HANDLER my_collation_8bit_bin_handler;
-extern MY_COLLATION_HANDLER my_collation_8bit_simple_ci_handler;
-extern MY_COLLATION_HANDLER my_collation_ucs2_uca_handler;
-
-/* Some typedef to make it easy for C++ to make function pointers */
-typedef int (*my_charset_conv_mb_wc)(struct charset_info_st *, my_wc_t *,
- const uchar *, const uchar *);
-typedef int (*my_charset_conv_wc_mb)(struct charset_info_st *, my_wc_t,
- uchar *, uchar *);
-typedef size_t (*my_charset_conv_case)(struct charset_info_st *,
- char *, size_t, char *, size_t);
-
-
-/* See strings/CHARSET_INFO.txt about information on this structure */
-typedef struct my_charset_handler_st
-{
- my_bool (*init)(struct charset_info_st *, void *(*alloc)(size_t));
- /* Multibyte routines */
- uint (*ismbchar)(struct charset_info_st *, const char *, const char *);
- uint (*mbcharlen)(struct charset_info_st *, uint c);
- size_t (*numchars)(struct charset_info_st *, const char *b, const char *e);
- size_t (*charpos)(struct charset_info_st *, const char *b, const char *e,
- size_t pos);
- size_t (*well_formed_len)(struct charset_info_st *,
- const char *b,const char *e,
- size_t nchars, int *error);
- size_t (*lengthsp)(struct charset_info_st *, const char *ptr, size_t length);
- size_t (*numcells)(struct charset_info_st *, const char *b, const char *e);
-
- /* Unicode conversion */
- my_charset_conv_mb_wc mb_wc;
- my_charset_conv_wc_mb wc_mb;
-
- /* CTYPE scanner */
- int (*ctype)(struct charset_info_st *cs, int *ctype,
- const uchar *s, const uchar *e);
-
- /* Functions for case and sort conversion */
- size_t (*caseup_str)(struct charset_info_st *, char *);
- size_t (*casedn_str)(struct charset_info_st *, char *);
-
- my_charset_conv_case caseup;
- my_charset_conv_case casedn;
-
- /* Charset dependant snprintf() */
- size_t (*snprintf)(struct charset_info_st *, char *to, size_t n,
- const char *fmt,
- ...) ATTRIBUTE_FORMAT_FPTR(printf, 4, 5);
- size_t (*long10_to_str)(struct charset_info_st *, char *to, size_t n,
- int radix, long int val);
- size_t (*longlong10_to_str)(struct charset_info_st *, char *to, size_t n,
- int radix, longlong val);
-
- void (*fill)(struct charset_info_st *, char *to, size_t len, int fill);
-
- /* String-to-number conversion routines */
- long (*strntol)(struct charset_info_st *, const char *s, size_t l,
- int base, char **e, int *err);
- ulong (*strntoul)(struct charset_info_st *, const char *s, size_t l,
- int base, char **e, int *err);
- longlong (*strntoll)(struct charset_info_st *, const char *s, size_t l,
- int base, char **e, int *err);
- ulonglong (*strntoull)(struct charset_info_st *, const char *s, size_t l,
- int base, char **e, int *err);
- double (*strntod)(struct charset_info_st *, char *s, size_t l, char **e,
- int *err);
- longlong (*strtoll10)(struct charset_info_st *cs,
- const char *nptr, char **endptr, int *error);
- ulonglong (*strntoull10rnd)(struct charset_info_st *cs,
- const char *str, size_t length,
- int unsigned_fl,
- char **endptr, int *error);
- size_t (*scan)(struct charset_info_st *, const char *b, const char *e,
- int sq);
-} MY_CHARSET_HANDLER;
-
-extern MY_CHARSET_HANDLER my_charset_8bit_handler;
-extern MY_CHARSET_HANDLER my_charset_ucs2_handler;
-
-
-/* See strings/CHARSET_INFO.txt about information on this structure */
-typedef struct charset_info_st
-{
- uint number;
- uint primary_number;
- uint binary_number;
- uint state;
- const char *csname;
- const char *name;
- const char *comment;
- const char *tailoring;
- uchar *ctype;
- uchar *to_lower;
- uchar *to_upper;
- uchar *sort_order;
- uint16 *contractions;
- uint16 **sort_order_big;
- uint16 *tab_to_uni;
- MY_UNI_IDX *tab_from_uni;
- MY_UNICASE_INFO **caseinfo;
- uchar *state_map;
- uchar *ident_map;
- uint strxfrm_multiply;
- uchar caseup_multiply;
- uchar casedn_multiply;
- uint mbminlen;
- uint mbmaxlen;
- uint16 min_sort_char;
- uint16 max_sort_char; /* For LIKE optimization */
- uchar pad_char;
- my_bool escape_with_backslash_is_dangerous;
-
- MY_CHARSET_HANDLER *cset;
- MY_COLLATION_HANDLER *coll;
-
-} CHARSET_INFO;
-#define ILLEGAL_CHARSET_INFO_NUMBER (~0U)
-
-
-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;
-extern CHARSET_INFO my_charset_cp932_bin;
-extern CHARSET_INFO my_charset_eucjpms_japanese_ci;
-extern CHARSET_INFO my_charset_eucjpms_bin;
-extern CHARSET_INFO my_charset_euckr_korean_ci;
-extern CHARSET_INFO my_charset_euckr_bin;
-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 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;
-extern CHARSET_INFO my_charset_sjis_japanese_ci;
-extern CHARSET_INFO my_charset_sjis_bin;
-extern CHARSET_INFO my_charset_tis620_thai_ci;
-extern CHARSET_INFO my_charset_tis620_bin;
-extern CHARSET_INFO my_charset_ucs2_general_ci;
-extern CHARSET_INFO my_charset_ucs2_bin;
-extern CHARSET_INFO my_charset_ucs2_unicode_ci;
-extern CHARSET_INFO my_charset_ujis_japanese_ci;
-extern CHARSET_INFO my_charset_ujis_bin;
-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 MYSQL_PLUGIN_IMPORT CHARSET_INFO my_charset_filename;
-
-/* declarations for simple charsets */
-extern size_t my_strnxfrm_simple(CHARSET_INFO *, uchar *, size_t,
- const uchar *, size_t);
-size_t my_strnxfrmlen_simple(CHARSET_INFO *, size_t);
-extern int my_strnncoll_simple(CHARSET_INFO *, const uchar *, size_t,
- const uchar *, size_t, my_bool);
-
-extern int my_strnncollsp_simple(CHARSET_INFO *, const uchar *, size_t,
- const uchar *, size_t,
- my_bool diff_if_only_endspace_difference);
-
-extern void my_hash_sort_simple(CHARSET_INFO *cs,
- const uchar *key, size_t len,
- ulong *nr1, ulong *nr2);
-
-extern size_t my_lengthsp_8bit(CHARSET_INFO *cs, const char *ptr, size_t length);
-
-extern uint my_instr_simple(struct charset_info_st *,
- const char *b, size_t b_length,
- const char *s, size_t s_length,
- my_match_t *match, uint nmatch);
-
-
-/* Functions for 8bit */
-extern size_t my_caseup_str_8bit(CHARSET_INFO *, char *);
-extern size_t my_casedn_str_8bit(CHARSET_INFO *, char *);
-extern size_t my_caseup_8bit(CHARSET_INFO *, char *src, size_t srclen,
- char *dst, size_t dstlen);
-extern size_t my_casedn_8bit(CHARSET_INFO *, char *src, size_t srclen,
- char *dst, size_t dstlen);
-
-extern int my_strcasecmp_8bit(CHARSET_INFO * cs, const char *, const char *);
-
-int my_mb_wc_8bit(CHARSET_INFO *cs,my_wc_t *wc, const uchar *s,const uchar *e);
-int my_wc_mb_8bit(CHARSET_INFO *cs,my_wc_t wc, uchar *s, uchar *e);
-
-int my_mb_ctype_8bit(CHARSET_INFO *,int *, const uchar *,const uchar *);
-int my_mb_ctype_mb(CHARSET_INFO *,int *, const uchar *,const uchar *);
-
-size_t my_scan_8bit(CHARSET_INFO *cs, const char *b, const char *e, int sq);
-
-size_t my_snprintf_8bit(struct charset_info_st *, char *to, size_t n,
- const char *fmt, ...)
- ATTRIBUTE_FORMAT(printf, 4, 5);
-
-long my_strntol_8bit(CHARSET_INFO *, const char *s, size_t l, int base,
- char **e, int *err);
-ulong my_strntoul_8bit(CHARSET_INFO *, const char *s, size_t l, int base,
- char **e, int *err);
-longlong my_strntoll_8bit(CHARSET_INFO *, const char *s, size_t l, int base,
- char **e, int *err);
-ulonglong my_strntoull_8bit(CHARSET_INFO *, const char *s, size_t l, int base,
- char **e, int *err);
-double my_strntod_8bit(CHARSET_INFO *, char *s, size_t l,char **e,
- int *err);
-size_t my_long10_to_str_8bit(CHARSET_INFO *, char *to, size_t l, int radix,
- long int val);
-size_t my_longlong10_to_str_8bit(CHARSET_INFO *, char *to, size_t l, int radix,
- longlong val);
-
-longlong my_strtoll10_8bit(CHARSET_INFO *cs,
- const char *nptr, char **endptr, int *error);
-longlong my_strtoll10_ucs2(CHARSET_INFO *cs,
- const char *nptr, char **endptr, int *error);
-
-ulonglong my_strntoull10rnd_8bit(CHARSET_INFO *cs,
- const char *str, size_t length, int
- unsigned_fl, char **endptr, int *error);
-ulonglong my_strntoull10rnd_ucs2(CHARSET_INFO *cs,
- const char *str, size_t length,
- int unsigned_fl, char **endptr, int *error);
-
-void my_fill_8bit(CHARSET_INFO *cs, char* to, size_t l, int fill);
-
-my_bool my_like_range_simple(CHARSET_INFO *cs,
- const char *ptr, size_t ptr_length,
- pbool escape, pbool w_one, pbool w_many,
- size_t res_length,
- char *min_str, char *max_str,
- size_t *min_length, size_t *max_length);
-
-my_bool my_like_range_mb(CHARSET_INFO *cs,
- const char *ptr, size_t ptr_length,
- pbool escape, pbool w_one, pbool w_many,
- size_t res_length,
- char *min_str, char *max_str,
- size_t *min_length, size_t *max_length);
-
-my_bool my_like_range_ucs2(CHARSET_INFO *cs,
- const char *ptr, size_t ptr_length,
- pbool escape, pbool w_one, pbool w_many,
- size_t res_length,
- char *min_str, char *max_str,
- size_t *min_length, size_t *max_length);
-
-
-int my_wildcmp_8bit(CHARSET_INFO *,
- const char *str,const char *str_end,
- const char *wildstr,const char *wildend,
- int escape, int w_one, int w_many);
-
-int my_wildcmp_bin(CHARSET_INFO *,
- const char *str,const char *str_end,
- const char *wildstr,const char *wildend,
- int escape, int w_one, int w_many);
-
-size_t my_numchars_8bit(CHARSET_INFO *, const char *b, const char *e);
-size_t my_numcells_8bit(CHARSET_INFO *, const char *b, const char *e);
-size_t my_charpos_8bit(CHARSET_INFO *, const char *b, const char *e, size_t pos);
-size_t my_well_formed_len_8bit(CHARSET_INFO *, const char *b, const char *e,
- size_t pos, int *error);
-uint my_mbcharlen_8bit(CHARSET_INFO *, uint c);
-
-
-/* Functions for multibyte charsets */
-extern size_t my_caseup_str_mb(CHARSET_INFO *, char *);
-extern size_t my_casedn_str_mb(CHARSET_INFO *, char *);
-extern size_t my_caseup_mb(CHARSET_INFO *, char *src, size_t srclen,
- char *dst, size_t dstlen);
-extern size_t my_casedn_mb(CHARSET_INFO *, char *src, size_t srclen,
- char *dst, size_t dstlen);
-extern int my_strcasecmp_mb(CHARSET_INFO * cs,const char *, const char *);
-
-int my_wildcmp_mb(CHARSET_INFO *,
- const char *str,const char *str_end,
- const char *wildstr,const char *wildend,
- int escape, int w_one, int w_many);
-size_t my_numchars_mb(CHARSET_INFO *, const char *b, const char *e);
-size_t my_numcells_mb(CHARSET_INFO *, const char *b, const char *e);
-size_t my_charpos_mb(CHARSET_INFO *, const char *b, const char *e, size_t pos);
-size_t my_well_formed_len_mb(CHARSET_INFO *, const char *b, const char *e,
- size_t pos, int *error);
-uint my_instr_mb(struct charset_info_st *,
- const char *b, size_t b_length,
- const char *s, size_t s_length,
- my_match_t *match, uint nmatch);
-
-int my_wildcmp_unicode(CHARSET_INFO *cs,
- const char *str, const char *str_end,
- const char *wildstr, const char *wildend,
- int escape, int w_one, int w_many,
- MY_UNICASE_INFO **weights);
-
-extern my_bool my_parse_charset_xml(const char *bug, size_t len,
- int (*add)(CHARSET_INFO *cs));
-extern char *my_strchr(CHARSET_INFO *cs, const char *str, const char *end,
- pchar c);
-
-my_bool my_propagate_simple(CHARSET_INFO *cs, const uchar *str, size_t len);
-my_bool my_propagate_complex(CHARSET_INFO *cs, const uchar *str, size_t len);
-
-
-uint my_string_repertoire(CHARSET_INFO *cs, const char *str, ulong len);
-my_bool my_charset_is_ascii_based(CHARSET_INFO *cs);
-my_bool my_charset_is_8bit_pure_ascii(CHARSET_INFO *cs);
-uint my_charset_repertoire(CHARSET_INFO *cs);
-
-
-#define _MY_U 01 /* Upper case */
-#define _MY_L 02 /* Lower case */
-#define _MY_NMR 04 /* Numeral (digit) */
-#define _MY_SPC 010 /* Spacing character */
-#define _MY_PNT 020 /* Punctuation */
-#define _MY_CTR 040 /* Control character */
-#define _MY_B 0100 /* Blank */
-#define _MY_X 0200 /* heXadecimal digit */
-
-
-#define my_isascii(c) (!((c) & ~0177))
-#define my_toascii(c) ((c) & 0177)
-#define my_tocntrl(c) ((c) & 31)
-#define my_toprint(c) ((c) | 64)
-#define my_toupper(s,c) (char) ((s)->to_upper[(uchar) (c)])
-#define my_tolower(s,c) (char) ((s)->to_lower[(uchar) (c)])
-#define my_isalpha(s, c) (((s)->ctype+1)[(uchar) (c)] & (_MY_U | _MY_L))
-#define my_isupper(s, c) (((s)->ctype+1)[(uchar) (c)] & _MY_U)
-#define my_islower(s, c) (((s)->ctype+1)[(uchar) (c)] & _MY_L)
-#define my_isdigit(s, c) (((s)->ctype+1)[(uchar) (c)] & _MY_NMR)
-#define my_isxdigit(s, c) (((s)->ctype+1)[(uchar) (c)] & _MY_X)
-#define my_isalnum(s, c) (((s)->ctype+1)[(uchar) (c)] & (_MY_U | _MY_L | _MY_NMR))
-#define my_isspace(s, c) (((s)->ctype+1)[(uchar) (c)] & _MY_SPC)
-#define my_ispunct(s, c) (((s)->ctype+1)[(uchar) (c)] & _MY_PNT)
-#define my_isprint(s, c) (((s)->ctype+1)[(uchar) (c)] & (_MY_PNT | _MY_U | _MY_L | _MY_NMR | _MY_B))
-#define my_isgraph(s, c) (((s)->ctype+1)[(uchar) (c)] & (_MY_PNT | _MY_U | _MY_L | _MY_NMR))
-#define my_iscntrl(s, c) (((s)->ctype+1)[(uchar) (c)] & _MY_CTR)
-
-/* Some macros that should be cleaned up a little */
-#define my_isvar(s,c) (my_isalnum(s,c) || (c) == '_')
-#define my_isvar_start(s,c) (my_isalpha(s,c) || (c) == '_')
-
-#define my_binary_compare(s) ((s)->state & MY_CS_BINSORT)
-#define use_strnxfrm(s) ((s)->state & MY_CS_STRNXFRM)
-#define my_strnxfrm(s, a, b, c, d) ((s)->coll->strnxfrm((s), (a), (b), (c), (d)))
-#define my_strnncoll(s, a, b, c, d) ((s)->coll->strnncoll((s), (a), (b), (c), (d), 0))
-#define my_like_range(s, a, b, c, d, e, f, g, h, i, j) \
- ((s)->coll->like_range((s), (a), (b), (c), (d), (e), (f), (g), (h), (i), (j)))
-#define my_wildcmp(cs,s,se,w,we,e,o,m) ((cs)->coll->wildcmp((cs),(s),(se),(w),(we),(e),(o),(m)))
-#define my_strcasecmp(s, a, b) ((s)->coll->strcasecmp((s), (a), (b)))
-#define my_charpos(cs, b, e, num) (cs)->cset->charpos((cs), (const char*) (b), (const char *)(e), (num))
-
-
-#define use_mb(s) ((s)->cset->ismbchar != NULL)
-#define my_ismbchar(s, a, b) ((s)->cset->ismbchar((s), (a), (b)))
-#ifdef USE_MB
-#define my_mbcharlen(s, a) ((s)->cset->mbcharlen((s),(a)))
-#else
-#define my_mbcharlen(s, a) 1
-#endif
-
-#define my_caseup_str(s, a) ((s)->cset->caseup_str((s), (a)))
-#define my_casedn_str(s, a) ((s)->cset->casedn_str((s), (a)))
-#define my_strntol(s, a, b, c, d, e) ((s)->cset->strntol((s),(a),(b),(c),(d),(e)))
-#define my_strntoul(s, a, b, c, d, e) ((s)->cset->strntoul((s),(a),(b),(c),(d),(e)))
-#define my_strntoll(s, a, b, c, d, e) ((s)->cset->strntoll((s),(a),(b),(c),(d),(e)))
-#define my_strntoull(s, a, b, c,d, e) ((s)->cset->strntoull((s),(a),(b),(c),(d),(e)))
-#define my_strntod(s, a, b, c, d) ((s)->cset->strntod((s),(a),(b),(c),(d)))
-
-
-/* XXX: still need to take care of this one */
-#ifdef MY_CHARSET_TIS620
-#error The TIS620 charset is broken at the moment. Tell tim to fix it.
-#define USE_TIS620
-#include "t_ctype.h"
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _m_ctype_h */
diff --git a/lib/libmysql_win32/include/m_string.h b/lib/libmysql_win32/include/m_string.h
deleted file mode 100644
index a25675f263..0000000000
--- a/lib/libmysql_win32/include/m_string.h
+++ /dev/null
@@ -1,266 +0,0 @@
-/* Copyright (C) 2000 MySQL 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; version 2 of the License.
-
- 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 */
-
-/* There may be prolems include all of theese. Try to test in
- configure with ones are needed? */
-
-/* This is needed for the definitions of strchr... on solaris */
-
-#ifndef _m_string_h
-#define _m_string_h
-#ifndef __USE_GNU
-#define __USE_GNU /* We want to use stpcpy */
-#endif
-#if defined(HAVE_STRINGS_H)
-#include <strings.h>
-#endif
-#if defined(HAVE_STRING_H)
-#include <string.h>
-#endif
-
-/* need by my_vsnprintf */
-#include <stdarg.h>
-
-#ifdef _AIX
-#undef HAVE_BCMP
-#endif
-
-/* This is needed for the definitions of bzero... on solaris */
-#if defined(HAVE_STRINGS_H)
-#include <strings.h>
-#endif
-
-/* This is needed for the definitions of memcpy... on solaris */
-#if defined(HAVE_MEMORY_H) && !defined(__cplusplus)
-#include <memory.h>
-#endif
-
-#if !defined(HAVE_MEMCPY) && !defined(HAVE_MEMMOVE)
-# define memcpy(d, s, n) bcopy ((s), (d), (n))
-# define memset(A,C,B) bfill((A),(B),(C))
-# define memmove(d, s, n) bmove ((d), (s), (n))
-#elif defined(HAVE_MEMMOVE)
-# define bmove(d, s, n) memmove((d), (s), (n))
-#else
-# define memmove(d, s, n) bmove((d), (s), (n)) /* our bmove */
-#endif
-
-/* Unixware 7 */
-#if !defined(HAVE_BFILL)
-# define bfill(A,B,C) memset((A),(C),(B))
-# define bmove_align(A,B,C) memcpy((A),(B),(C))
-#endif
-
-#if !defined(HAVE_BCMP)
-# define bcopy(s, d, n) memcpy((d), (s), (n))
-# define bcmp(A,B,C) memcmp((A),(B),(C))
-# define bzero(A,B) memset((A),0,(B))
-# define bmove_align(A,B,C) memcpy((A),(B),(C))
-#endif
-
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-/*
- my_str_malloc() and my_str_free() are assigned to implementations in
- strings/alloc.c, but can be overridden in the calling program.
- */
-extern void *(*my_str_malloc)(size_t);
-extern void (*my_str_free)(void *);
-
-#if defined(HAVE_STPCPY)
-#define strmov(A,B) stpcpy((A),(B))
-#ifndef stpcpy
-extern char *stpcpy(char *, const char *); /* For AIX with gcc 2.95.3 */
-#endif
-#endif
-
-/* Declared in int2str() */
-extern char NEAR _dig_vec_upper[];
-extern char NEAR _dig_vec_lower[];
-
-/* Defined in strtod.c */
-extern const double log_10[309];
-
-#ifndef strmov
-#define strmov_overlapp(A,B) strmov(A,B)
-#define strmake_overlapp(A,B,C) strmake(A,B,C)
-#endif
-
-#ifdef BAD_MEMCPY /* Problem with gcc on Alpha */
-#define memcpy_fixed(A,B,C) bmove((A),(B),(C))
-#else
-#define memcpy_fixed(A,B,C) memcpy((A),(B),(C))
-#endif
-
-#if (!defined(USE_BMOVE512) || defined(HAVE_purify)) && !defined(bmove512)
-#define bmove512(A,B,C) memcpy(A,B,C)
-#endif
-
- /* Prototypes for string functions */
-
-#if !defined(bfill) && !defined(HAVE_BFILL)
-extern void bfill(uchar *dst,size_t len,pchar fill);
-#endif
-
-#if !defined(bzero) && !defined(HAVE_BZERO)
-extern void bzero(uchar * dst,size_t len);
-#endif
-
-#if !defined(bcmp) && !defined(HAVE_BCMP)
-extern size_t bcmp(const uchar *s1,const uchar *s2,size_t len);
-#endif
-#ifdef HAVE_purify
-extern size_t my_bcmp(const uchar *s1,const uchar *s2,size_t len);
-#undef bcmp
-#define bcmp(A,B,C) my_bcmp((A),(B),(C))
-#define bzero_if_purify(A,B) bzero(A,B)
-#else
-#define bzero_if_purify(A,B)
-#endif /* HAVE_purify */
-
-#ifndef bmove512
-extern void bmove512(uchar *dst,const uchar *src,size_t len);
-#endif
-
-#if !defined(HAVE_BMOVE) && !defined(bmove)
-extern void bmove(uuchar *dst, const uchar *src,size_t len);
-#endif
-
-extern void bmove_upp(uchar *dst,const uchar *src,size_t len);
-extern void bchange(uchar *dst,size_t old_len,const uchar *src,
- size_t new_len,size_t tot_len);
-extern void strappend(char *s,size_t len,pchar fill);
-extern char *strend(const char *s);
-extern char *strcend(const char *, pchar);
-extern char *strfield(char *src,int fields,int chars,int blanks,
- int tabch);
-extern char *strfill(char * s,size_t len,pchar fill);
-extern size_t strinstr(const char *str,const char *search);
-extern size_t r_strinstr(const char *str, size_t from, const char *search);
-extern char *strkey(char *dst,char *head,char *tail,char *flags);
-extern char *strmake(char *dst,const char *src,size_t length);
-
-#ifndef strmov
-extern char *strmov(char *dst,const char *src);
-#else
-extern char *strmov_overlapp(char *dst,const char *src);
-#endif
-extern char *strnmov(char *dst,const char *src,size_t n);
-extern char *strsuff(const char *src,const char *suffix);
-extern char *strcont(const char *src,const char *set);
-extern char *strxcat _VARARGS((char *dst,const char *src, ...));
-extern char *strxmov _VARARGS((char *dst,const char *src, ...));
-extern char *strxcpy _VARARGS((char *dst,const char *src, ...));
-extern char *strxncat _VARARGS((char *dst,size_t len, const char *src, ...));
-extern char *strxnmov _VARARGS((char *dst,size_t len, const char *src, ...));
-extern char *strxncpy _VARARGS((char *dst,size_t len, const char *src, ...));
-
-/* Prototypes of normal stringfunctions (with may ours) */
-
-#ifdef WANT_STRING_PROTOTYPES
-extern char *strcat(char *, const char *);
-extern char *strchr(const char *, pchar);
-extern char *strrchr(const char *, pchar);
-extern char *strcpy(char *, const char *);
-extern int strcmp(const char *, const char *);
-#ifndef __GNUC__
-extern size_t strlen(const char *);
-#endif
-#endif
-#ifndef HAVE_STRNLEN
-extern size_t strnlen(const char *s, size_t n);
-#endif
-
-#if !defined(__cplusplus)
-#ifndef HAVE_STRPBRK
-extern char *strpbrk(const char *, const char *);
-#endif
-#ifndef HAVE_STRSTR
-extern char *strstr(const char *, const char *);
-#endif
-#endif
-extern int is_prefix(const char *, const char *);
-
-/* Conversion routines */
-double my_strtod(const char *str, char **end, int *error);
-double my_atof(const char *nptr);
-
-extern char *llstr(longlong value,char *buff);
-extern char *ullstr(longlong value,char *buff);
-#ifndef HAVE_STRTOUL
-extern long strtol(const char *str, char **ptr, int base);
-extern ulong strtoul(const char *str, char **ptr, int base);
-#endif
-
-extern char *int2str(long val, char *dst, int radix, int upcase);
-extern char *int10_to_str(long val,char *dst,int radix);
-extern char *str2int(const char *src,int radix,long lower,long upper,
- long *val);
-longlong my_strtoll10(const char *nptr, char **endptr, int *error);
-#if SIZEOF_LONG == SIZEOF_LONG_LONG
-#define longlong2str(A,B,C) int2str((A),(B),(C),1)
-#define longlong10_to_str(A,B,C) int10_to_str((A),(B),(C))
-#undef strtoll
-#define strtoll(A,B,C) strtol((A),(B),(C))
-#define strtoull(A,B,C) strtoul((A),(B),(C))
-#ifndef HAVE_STRTOULL
-#define HAVE_STRTOULL
-#endif
-#ifndef HAVE_STRTOLL
-#define HAVE_STRTOLL
-#endif
-#else
-#ifdef HAVE_LONG_LONG
-extern char *longlong2str(longlong val,char *dst,int radix);
-extern char *longlong10_to_str(longlong val,char *dst,int radix);
-#if (!defined(HAVE_STRTOULL) || defined(NO_STRTOLL_PROTO))
-extern longlong strtoll(const char *str, char **ptr, int base);
-extern ulonglong strtoull(const char *str, char **ptr, int base);
-#endif
-#endif
-#endif
-
-/* my_vsnprintf.c */
-
-extern size_t my_vsnprintf(char *str, size_t n,
- const char *format, va_list ap);
-extern size_t my_snprintf(char *to, size_t n, const char *fmt, ...)
- ATTRIBUTE_FORMAT(printf, 3, 4);
-
-#if defined(__cplusplus)
-}
-#endif
-
-/*
- LEX_STRING -- a pair of a C-string and its length.
-*/
-
-#ifndef _my_plugin_h
-/* This definition must match the one given in mysql/plugin.h */
-struct st_mysql_lex_string
-{
- char *str;
- size_t length;
-};
-#endif
-typedef struct st_mysql_lex_string LEX_STRING;
-
-#define STRING_WITH_LEN(X) (X), ((size_t) (sizeof(X) - 1))
-#define USTRING_WITH_LEN(X) ((uchar*) X), ((size_t) (sizeof(X) - 1))
-#define C_STRING_WITH_LEN(X) ((char *) (X)), ((size_t) (sizeof(X) - 1))
-
-#endif
diff --git a/lib/libmysql_win32/include/my_alloc.h b/lib/libmysql_win32/include/my_alloc.h
deleted file mode 100644
index 93b7438a1d..0000000000
--- a/lib/libmysql_win32/include/my_alloc.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Copyright (C) 2000 MySQL 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; version 2 of the License.
-
- 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 */
-
-/*
- Data structures for mysys/my_alloc.c (root memory allocator)
-*/
-
-#ifndef _my_alloc_h
-#define _my_alloc_h
-
-#define ALLOC_MAX_BLOCK_TO_DROP 4096
-#define ALLOC_MAX_BLOCK_USAGE_BEFORE_DROP 10
-
-typedef struct st_used_mem
-{ /* struct for once_alloc (block) */
- struct st_used_mem *next; /* Next block in use */
- unsigned int left; /* memory left in block */
- unsigned int size; /* size of block */
-} USED_MEM;
-
-
-typedef struct st_mem_root
-{
- USED_MEM *free; /* blocks with free memory in it */
- USED_MEM *used; /* blocks almost without free memory */
- USED_MEM *pre_alloc; /* preallocated block */
- /* if block have less memory it will be put in 'used' list */
- size_t min_malloc;
- size_t block_size; /* initial block size */
- unsigned int block_num; /* allocated blocks counter */
- /*
- first free block in queue test counter (if it exceed
- MAX_BLOCK_USAGE_BEFORE_DROP block will be dropped in 'used' list)
- */
- unsigned int first_block_usage;
-
- void (*error_handler)(void);
-} MEM_ROOT;
-#endif
diff --git a/lib/libmysql_win32/include/my_attribute.h b/lib/libmysql_win32/include/my_attribute.h
deleted file mode 100644
index 8309d85f20..0000000000
--- a/lib/libmysql_win32/include/my_attribute.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/* Copyright (C) 2000-2003 MySQL 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; version 2 of the License.
-
- 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 */
-
-/*
- Helper macros used for setting different __attributes__
- on functions in a portable fashion
-*/
-
-#ifndef _my_attribute_h
-#define _my_attribute_h
-
-/*
- Disable __attribute__() on gcc < 2.7, g++ < 3.4, and non-gcc compilers.
- Some forms of __attribute__ are actually supported in earlier versions of
- g++, but we just disable them all because we only use them to generate
- compilation warnings.
-*/
-#ifndef __attribute__
-# if !defined(__GNUC__)
-# define __attribute__(A)
-# elif GCC_VERSION < 2008
-# define __attribute__(A)
-# elif defined(__cplusplus) && GCC_VERSION < 3004
-# define __attribute__(A)
-# endif
-#endif
-
-/*
- __attribute__((format(...))) is only supported in gcc >= 2.8 and g++ >= 3.4
- But that's already covered by the __attribute__ tests above, so this is
- just a convenience macro.
-*/
-#ifndef ATTRIBUTE_FORMAT
-# define ATTRIBUTE_FORMAT(style, m, n) __attribute__((format(style, m, n)))
-#endif
-
-/*
-
- __attribute__((format(...))) on a function pointer is not supported
- until gcc 3.1
-*/
-#ifndef ATTRIBUTE_FORMAT_FPTR
-# if (GCC_VERSION >= 3001)
-# define ATTRIBUTE_FORMAT_FPTR(style, m, n) ATTRIBUTE_FORMAT(style, m, n)
-# else
-# define ATTRIBUTE_FORMAT_FPTR(style, m, n)
-# endif /* GNUC >= 3.1 */
-#endif
-
-
-#endif
diff --git a/lib/libmysql_win32/include/my_dbug.h b/lib/libmysql_win32/include/my_dbug.h
deleted file mode 100644
index 0ba72b2210..0000000000
--- a/lib/libmysql_win32/include/my_dbug.h
+++ /dev/null
@@ -1,159 +0,0 @@
-/* Copyright (C) 2000 MySQL 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; version 2 of the License.
-
- 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 _dbug_h
-#define _dbug_h
-
-#if defined(__cplusplus) && !defined(DBUG_OFF)
-class Dbug_violation_helper
-{
-public:
- inline Dbug_violation_helper() :
- _entered(TRUE)
- { }
-
- inline ~Dbug_violation_helper()
- {
- assert(!_entered);
- }
-
- inline void leave()
- {
- _entered= FALSE;
- }
-
-private:
- bool _entered;
-};
-#endif /* C++ */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#if !defined(DBUG_OFF) && !defined(_lint)
-struct _db_code_state_;
-extern int _db_keyword_(struct _db_code_state_ *cs, const char *keyword);
-extern int _db_strict_keyword_(const char *keyword);
-extern int _db_explain_(struct _db_code_state_ *cs, char *buf, size_t len);
-extern int _db_explain_init_(char *buf, size_t len);
-extern void _db_setjmp_(void);
-extern void _db_longjmp_(void);
-extern void _db_process_(const char *name);
-extern void _db_push_(const char *control);
-extern void _db_pop_(void);
-extern void _db_set_(struct _db_code_state_ *cs, const char *control);
-extern void _db_set_init_(const char *control);
-extern void _db_enter_(const char *_func_,const char *_file_,uint _line_,
- const char **_sfunc_,const char **_sfile_,
- uint *_slevel_, char ***);
-extern void _db_return_(uint _line_,const char **_sfunc_,const char **_sfile_,
- uint *_slevel_);
-extern void _db_pargs_(uint _line_,const char *keyword);
-extern void _db_doprnt_ _VARARGS((const char *format,...))
- ATTRIBUTE_FORMAT(printf, 1, 2);
-extern void _db_dump_(uint _line_,const char *keyword,
- const unsigned char *memory, size_t length);
-extern void _db_end_(void);
-extern void _db_lock_file_(void);
-extern void _db_unlock_file_(void);
-extern FILE *_db_fp_(void);
-
-#ifdef __cplusplus
-
-#define DBUG_ENTER(a) \
- const char *_db_func_, *_db_file_; \
- uint _db_level_; \
- char **_db_framep_; \
- Dbug_violation_helper dbug_violation_helper; \
- _db_enter_ (a, __FILE__, __LINE__, &_db_func_, &_db_file_, \
- &_db_level_, &_db_framep_)
-#define DBUG_VIOLATION_HELPER_LEAVE dbug_violation_helper.leave()
-
-#else /* C */
-
-#define DBUG_ENTER(a) \
- const char *_db_func_, *_db_file_; \
- uint _db_level_; \
- char **_db_framep_; \
- _db_enter_ (a, __FILE__, __LINE__, &_db_func_, &_db_file_, \
- &_db_level_, &_db_framep_)
-#define DBUG_VIOLATION_HELPER_LEAVE do { } while(0)
-
-#endif /* C++ */
-
-#define DBUG_LEAVE \
- DBUG_VIOLATION_HELPER_LEAVE; \
- _db_return_ (__LINE__, &_db_func_, &_db_file_, &_db_level_)
-#define DBUG_RETURN(a1) do {DBUG_LEAVE; return(a1);} while(0)
-#define DBUG_VOID_RETURN do {DBUG_LEAVE; return;} while(0)
-#define DBUG_EXECUTE(keyword,a1) \
- do {if (_db_keyword_(0, (keyword))) { a1 }} while(0)
-#define DBUG_EXECUTE_IF(keyword,a1) \
- do {if (_db_strict_keyword_ (keyword)) { a1 } } while(0)
-#define DBUG_EVALUATE(keyword,a1,a2) \
- (_db_keyword_(0,(keyword)) ? (a1) : (a2))
-#define DBUG_EVALUATE_IF(keyword,a1,a2) \
- (_db_strict_keyword_((keyword)) ? (a1) : (a2))
-#define DBUG_PRINT(keyword,arglist) \
- do {_db_pargs_(__LINE__,keyword); _db_doprnt_ arglist;} while(0)
-#define DBUG_PUSH(a1) _db_push_ (a1)
-#define DBUG_POP() _db_pop_ ()
-#define DBUG_SET(a1) _db_set_ (0, (a1))
-#define DBUG_SET_INITIAL(a1) _db_set_init_ (a1)
-#define DBUG_PROCESS(a1) _db_process_(a1)
-#define DBUG_FILE _db_fp_()
-#define DBUG_SETJMP(a1) (_db_setjmp_ (), setjmp (a1))
-#define DBUG_LONGJMP(a1,a2) (_db_longjmp_ (), longjmp (a1, a2))
-#define DBUG_DUMP(keyword,a1,a2) _db_dump_(__LINE__,keyword,a1,a2)
-#define DBUG_END() _db_end_ ()
-#define DBUG_LOCK_FILE _db_lock_file_()
-#define DBUG_UNLOCK_FILE _db_unlock_file_()
-#define DBUG_ASSERT(A) assert(A)
-#define DBUG_EXPLAIN(buf,len) _db_explain_(0, (buf),(len))
-#define DBUG_EXPLAIN_INITIAL(buf,len) _db_explain_init_((buf),(len))
-#define IF_DBUG(A) A
-#else /* No debugger */
-
-#define DBUG_ENTER(a1)
-#define DBUG_LEAVE
-#define DBUG_VIOLATION_HELPER_LEAVE
-#define DBUG_RETURN(a1) do { return(a1); } while(0)
-#define DBUG_VOID_RETURN do { return; } while(0)
-#define DBUG_EXECUTE(keyword,a1) do { } while(0)
-#define DBUG_EXECUTE_IF(keyword,a1) do { } while(0)
-#define DBUG_EVALUATE(keyword,a1,a2) (a2)
-#define DBUG_EVALUATE_IF(keyword,a1,a2) (a2)
-#define DBUG_PRINT(keyword,arglist) do { } while(0)
-#define DBUG_PUSH(a1)
-#define DBUG_SET(a1) do { } while(0)
-#define DBUG_SET_INITIAL(a1) do { } while(0)
-#define DBUG_POP()
-#define DBUG_PROCESS(a1)
-#define DBUG_SETJMP(a1) setjmp(a1)
-#define DBUG_LONGJMP(a1) longjmp(a1)
-#define DBUG_DUMP(keyword,a1,a2) do { } while(0)
-#define DBUG_END()
-#define DBUG_ASSERT(A) do { } while(0)
-#define DBUG_LOCK_FILE
-#define DBUG_FILE (stderr)
-#define DBUG_UNLOCK_FILE
-#define DBUG_EXPLAIN(buf,len)
-#define DBUG_EXPLAIN_INITIAL(buf,len)
-#define IF_DBUG(A)
-#endif
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/lib/libmysql_win32/include/my_dir.h b/lib/libmysql_win32/include/my_dir.h
deleted file mode 100644
index 06509a3af1..0000000000
--- a/lib/libmysql_win32/include/my_dir.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/* Copyright (C) 2000 MySQL 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; version 2 of the License.
-
- 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 _my_dir_h
-#define _my_dir_h
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef MY_DIR_H
-#define MY_DIR_H
-
-#include <sys/stat.h>
-
- /* Defines for my_dir and my_stat */
-
-#define MY_S_IFMT S_IFMT /* type of file */
-#define MY_S_IFDIR S_IFDIR /* directory */
-#define MY_S_IFCHR S_IFCHR /* character special */
-#define MY_S_IFBLK S_IFBLK /* block special */
-#define MY_S_IFREG S_IFREG /* regular */
-#define MY_S_IFIFO S_IFIFO /* fifo */
-#define MY_S_ISUID S_ISUID /* set user id on execution */
-#define MY_S_ISGID S_ISGID /* set group id on execution */
-#define MY_S_ISVTX S_ISVTX /* save swapped text even after use */
-#define MY_S_IREAD S_IREAD /* read permission, owner */
-#define MY_S_IWRITE S_IWRITE /* write permission, owner */
-#define MY_S_IEXEC S_IEXEC /* execute/search permission, owner */
-
-#define MY_S_ISDIR(m) (((m) & MY_S_IFMT) == MY_S_IFDIR)
-#define MY_S_ISCHR(m) (((m) & MY_S_IFMT) == MY_S_IFCHR)
-#define MY_S_ISBLK(m) (((m) & MY_S_IFMT) == MY_S_IFBLK)
-#define MY_S_ISREG(m) (((m) & MY_S_IFMT) == MY_S_IFREG)
-#define MY_S_ISFIFO(m) (((m) & MY_S_IFMT) == MY_S_IFIFO)
-
-#define MY_DONT_SORT 512 /* my_lib; Don't sort files */
-#define MY_WANT_STAT 1024 /* my_lib; stat files */
-
- /* typedefs for my_dir & my_stat */
-
-#ifdef USE_MY_STAT_STRUCT
-
-typedef struct my_stat
-{
- dev_t st_dev; /* major & minor device numbers */
- ino_t st_ino; /* inode number */
- ushort st_mode; /* file permissons (& suid sgid .. bits) */
- short st_nlink; /* number of links to file */
- ushort st_uid; /* user id */
- ushort st_gid; /* group id */
- dev_t st_rdev; /* more major & minor device numbers (???) */
- off_t st_size; /* size of file */
- time_t st_atime; /* time for last read */
- time_t st_mtime; /* time for last contens modify */
- time_t st_ctime; /* time for last inode or contents modify */
-} MY_STAT;
-
-#else
-
-#define MY_STAT struct stat /* Orginal struct have what we need */
-
-#endif /* USE_MY_STAT_STRUCT */
-
-/* Struct describing one file returned from my_dir */
-typedef struct fileinfo
-{
- char *name;
- MY_STAT *mystat;
-} FILEINFO;
-
-typedef struct st_my_dir /* Struct returned from my_dir */
-{
- /*
- These members are just copies of parts of DYNAMIC_ARRAY structure,
- which is allocated right after the end of MY_DIR structure (MEM_ROOT
- for storing names is also resides there). We've left them here because
- we don't want to change code that uses my_dir.
- */
- struct fileinfo *dir_entry;
- uint number_off_files;
-} MY_DIR;
-
-extern MY_DIR *my_dir(const char *path,myf MyFlags);
-extern void my_dirend(MY_DIR *buffer);
-extern MY_STAT *my_stat(const char *path, MY_STAT *stat_area, myf my_flags);
-extern int my_fstat(int filenr, MY_STAT *stat_area, myf MyFlags);
-
-#endif /* MY_DIR_H */
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/lib/libmysql_win32/include/my_getopt.h b/lib/libmysql_win32/include/my_getopt.h
deleted file mode 100644
index 7cbad607aa..0000000000
--- a/lib/libmysql_win32/include/my_getopt.h
+++ /dev/null
@@ -1,86 +0,0 @@
-/* Copyright (C) 2002-2004 MySQL 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; version 2 of the License.
-
- 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 _my_getopt_h
-#define _my_getopt_h
-
-C_MODE_START
-
-#define GET_NO_ARG 1
-#define GET_BOOL 2
-#define GET_INT 3
-#define GET_UINT 4
-#define GET_LONG 5
-#define GET_ULONG 6
-#define GET_LL 7
-#define GET_ULL 8
-#define GET_STR 9
-#define GET_STR_ALLOC 10
-#define GET_DISABLED 11
-#define GET_ENUM 12
-#define GET_SET 13
-#define GET_DOUBLE 14
-
-#define GET_ASK_ADDR 128
-#define GET_TYPE_MASK 127
-
-enum get_opt_arg_type { NO_ARG, OPT_ARG, REQUIRED_ARG };
-
-struct st_typelib;
-
-struct my_option
-{
- const char *name; /* Name of the option */
- int id; /* unique id or short option */
- const char *comment; /* option comment, for autom. --help */
- uchar **value; /* The variable value */
- uchar **u_max_value; /* The user def. max variable value */
- struct st_typelib *typelib; /* Pointer to possible values */
- ulong var_type;
- enum get_opt_arg_type arg_type;
- longlong def_value; /* Default value */
- longlong min_value; /* Min allowed value */
- longlong max_value; /* Max allowed value */
- longlong sub_size; /* Subtract this from given value */
- long block_size; /* Value should be a mult. of this */
- void *app_type; /* To be used by an application */
-};
-
-typedef my_bool (* my_get_one_option) (int, const struct my_option *, char * );
-typedef void (* my_error_reporter) (enum loglevel level, const char *format, ... );
-
-extern char *disabled_my_option;
-extern my_bool my_getopt_print_errors;
-extern my_bool my_getopt_skip_unknown;
-extern my_error_reporter my_getopt_error_reporter;
-
-extern int handle_options (int *argc, char ***argv,
- const struct my_option *longopts, my_get_one_option);
-extern void my_cleanup_options(const struct my_option *options);
-extern void my_print_help(const struct my_option *options);
-extern void my_print_variables(const struct my_option *options);
-extern void my_getopt_register_get_addr(uchar ** (*func_addr)(const char *, uint,
- const struct my_option *, int *));
-
-ulonglong getopt_ull_limit_value(ulonglong num, const struct my_option *optp,
- my_bool *fix);
-longlong getopt_ll_limit_value(longlong, const struct my_option *,
- my_bool *fix);
-my_bool getopt_compare_strings(const char *s, const char *t, uint length);
-
-C_MODE_END
-
-#endif /* _my_getopt_h */
-
diff --git a/lib/libmysql_win32/include/my_global.h b/lib/libmysql_win32/include/my_global.h
deleted file mode 100644
index 779152203b..0000000000
--- a/lib/libmysql_win32/include/my_global.h
+++ /dev/null
@@ -1,1602 +0,0 @@
-/* Copyright (C) 2000-2003 MySQL 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; version 2 of the License.
-
- 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 */
-
-/* This is the include file that should be included 'first' in every C file. */
-
-#ifndef _global_h
-#define _global_h
-
-/*
- InnoDB depends on some MySQL internals which other plugins should not
- need. This is because of InnoDB's foreign key support, "safe" binlog
- truncation, and other similar legacy features.
-
- We define accessors for these internals unconditionally, but do not
- expose them in mysql/plugin.h. They are declared in ha_innodb.h for
- InnoDB's use.
-*/
-#define INNODB_COMPATIBILITY_HOOKS
-
-#ifdef __CYGWIN__
-/* We use a Unix API, so pretend it's not Windows */
-#undef WIN
-#undef WIN32
-#undef _WIN
-#undef _WIN32
-#undef _WIN64
-#undef __WIN__
-#undef __WIN32__
-#define HAVE_ERRNO_AS_DEFINE
-#endif /* __CYGWIN__ */
-
-#if defined(__QNXNTO__) && !defined(FD_SETSIZE)
-#define FD_SETSIZE 1024 /* Max number of file descriptor bits in
- fd_set, used when calling 'select'
- Must be defined before including
- "sys/select.h" and "sys/time.h"
- */
-#endif
-
-
-/* to make command line shorter we'll define USE_PRAGMA_INTERFACE here */
-#ifdef USE_PRAGMA_IMPLEMENTATION
-#define USE_PRAGMA_INTERFACE
-#endif
-
-#if defined(i386) && !defined(__i386__)
-#define __i386__
-#endif
-
-/* Macros to make switching between C and C++ mode easier */
-#ifdef __cplusplus
-#define C_MODE_START extern "C" {
-#define C_MODE_END }
-#else
-#define C_MODE_START
-#define C_MODE_END
-#endif
-
-#if defined(_WIN32) || defined(_WIN64) || defined(__WIN32__) || defined(WIN32)
-#include <config-win.h>
-#elif defined(__NETWARE__)
-#include <my_config.h>
-#include <config-netware.h>
-#if defined(__cplusplus) && defined(inline)
-#undef inline /* fix configure problem */
-#endif
-#else
-#include <my_config.h>
-#if defined(__cplusplus) && defined(inline)
-#undef inline /* fix configure problem */
-#endif
-#endif /* _WIN32... */
-
-/* Make it easier to add conditionl code for windows */
-#ifdef __WIN__
-#define IF_WIN(A,B) (A)
-#else
-#define IF_WIN(A,B) (B)
-#endif
-
-#ifndef EMBEDDED_LIBRARY
-#ifdef WITH_NDB_BINLOG
-#define HAVE_NDB_BINLOG 1
-#endif
-#endif /* !EMBEDDED_LIBRARY */
-
-#ifndef EMBEDDED_LIBRARY
-#define HAVE_REPLICATION
-#define HAVE_EXTERNAL_CLIENT
-#endif
-
-/* Some defines to avoid ifdefs in the code */
-#ifndef NETWARE_YIELD
-#define NETWARE_YIELD
-#define NETWARE_SET_SCREEN_MODE(A)
-#endif
-
-/* Workaround for _LARGE_FILES and _LARGE_FILE_API incompatibility on AIX */
-#if defined(_AIX) && defined(_LARGE_FILE_API)
-#undef _LARGE_FILE_API
-#endif
-
-/*
- The macros below are used to allow build of Universal/fat binaries of
- MySQL and MySQL applications under darwin.
-*/
-#if defined(__APPLE__) && defined(__MACH__)
-# undef SIZEOF_CHARP
-# undef SIZEOF_SHORT
-# undef SIZEOF_INT
-# undef SIZEOF_LONG
-# undef SIZEOF_LONG_LONG
-# undef SIZEOF_OFF_T
-# undef WORDS_BIGENDIAN
-# define SIZEOF_SHORT 2
-# define SIZEOF_INT 4
-# define SIZEOF_LONG_LONG 8
-# define SIZEOF_OFF_T 8
-# if defined(__i386__) || defined(__ppc__)
-# define SIZEOF_CHARP 4
-# define SIZEOF_LONG 4
-# elif defined(__x86_64__) || defined(__ppc64__)
-# define SIZEOF_CHARP 8
-# define SIZEOF_LONG 8
-# else
-# error Building FAT binary for an unknown architecture.
-# endif
-# if defined(__ppc__) || defined(__ppc64__)
-# define WORDS_BIGENDIAN
-# endif
-#endif /* defined(__APPLE__) && defined(__MACH__) */
-
-
-/*
- The macros below are borrowed from include/linux/compiler.h in the
- Linux kernel. Use them to indicate the likelyhood of the truthfulness
- of a condition. This serves two purposes - newer versions of gcc will be
- able to optimize for branch predication, which could yield siginficant
- performance gains in frequently executed sections of the code, and the
- other reason to use them is for documentation
-*/
-
-#if !defined(__GNUC__) || (__GNUC__ == 2 && __GNUC_MINOR__ < 96)
-#define __builtin_expect(x, expected_value) (x)
-#endif
-
-#define likely(x) __builtin_expect((x),1)
-#define unlikely(x) __builtin_expect((x),0)
-
-
-/*
- The macros below are useful in optimising places where it has been
- discovered that cache misses stall the process and where a prefetch
- of the cache line can improve matters. This is available in GCC 3.1.1
- and later versions.
- PREFETCH_READ says that addr is going to be used for reading and that
- it is to be kept in caches if possible for a while
- PREFETCH_WRITE also says that the item to be cached is likely to be
- updated.
- The *LOCALITY scripts are also available for experimentation purposes
- mostly and should only be used if they are verified to improve matters.
- For more input see GCC manual (available in GCC 3.1.1 and later)
-*/
-
-#if (__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR > 10)
-#define PREFETCH_READ(addr) __builtin_prefetch(addr, 0, 3)
-#define PREFETCH_WRITE(addr) \
- __builtin_prefetch(addr, 1, 3)
-#define PREFETCH_READ_LOCALITY(addr, locality) \
- __builtin_prefetch(addr, 0, locality)
-#define PREFETCH_WRITE_LOCALITY(addr, locality) \
- __builtin_prefetch(addr, 1, locality)
-#else
-#define PREFETCH_READ(addr)
-#define PREFETCH_READ_LOCALITY(addr, locality)
-#define PREFETCH_WRITE(addr)
-#define PREFETCH_WRITE_LOCALITY(addr, locality)
-#endif
-
-/*
- The following macro is used to ensure that code often used in most
- SQL statements and definitely for parts of the SQL processing are
- kept in a code segment by itself. This has the advantage that the
- risk of common code being overlapping in caches of the CPU is less.
- This can be a cause of big performance problems.
- Routines should be put in this category with care and when they are
- put there one should also strive to make as much of the error handling
- as possible (or uncommon code of the routine) to execute in a
- separate method to avoid moving to much code to this code segment.
-
- It is very easy to use, simply add HOT_METHOD at the end of the
- function declaration.
- For more input see GCC manual (available in GCC 2.95 and later)
-*/
-
-#if (__GNUC__ > 2) || (__GNUC__ == 2 && __GNUC_MINOR > 94)
-#define HOT_METHOD \
- __attribute__ ((section ("hot_code_section")))
-#else
-#define HOT_METHOD
-#endif
-
-/*
- The following macro is used to ensure that popular global variables
- are located next to each other to avoid that they contend for the
- same cache lines.
-
- It is very easy to use, simply add HOT_DATA at the end of the declaration
- of the variable, the variable must be initialised because of the way
- that linker works so a declaration using HOT_DATA should look like:
- uint global_hot_data HOT_DATA = 0;
- For more input see GCC manual (available in GCC 2.95 and later)
-*/
-
-#if (__GNUC__ > 2) || (__GNUC__ == 2 && __GNUC_MINOR > 94)
-#define HOT_DATA \
- __attribute__ ((section ("hot_data_section")))
-#else
-#define HOT_DATA
-#endif
-
-/*
- now let's figure out if inline functions are supported
- autoconf defines 'inline' to be empty, if not
-*/
-#define inline_test_1(X) X ## 1
-#define inline_test_2(X) inline_test_1(X)
-#if inline_test_2(inline) != 1
-#define HAVE_INLINE
-#endif
-#undef inline_test_2
-#undef inline_test_1
-/* helper macro for "instantiating" inline functions */
-#define STATIC_INLINE static inline
-
-/*
- The following macros are used to control inlining a bit more than
- usual. These macros are used to ensure that inlining always or
- never occurs (independent of compilation mode).
- For more input see GCC manual (available in GCC 3.1.1 and later)
-*/
-
-#if (__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR > 10)
-#define ALWAYS_INLINE __attribute__ ((always_inline))
-#define NEVER_INLINE __attribute__ ((noinline))
-#else
-#define ALWAYS_INLINE
-#define NEVER_INLINE
-#endif
-
-
-/* Fix problem with S_ISLNK() on Linux */
-#if defined(TARGET_OS_LINUX) || defined(__GLIBC__)
-#undef _GNU_SOURCE
-#define _GNU_SOURCE 1
-#endif
-
-/*
- Temporary solution to solve bug#7156. Include "sys/types.h" before
- the thread headers, else the function madvise() will not be defined
-*/
-#if defined(HAVE_SYS_TYPES_H) && ( defined(sun) || defined(__sun) )
-#include <sys/types.h>
-#endif
-
-/* The client defines this to avoid all thread code */
-#if defined(MYSQL_CLIENT_NO_THREADS) || defined(UNDEF_THREADS_HACK)
-#undef THREAD
-#undef HAVE_LINUXTHREADS
-#undef HAVE_NPTL
-#endif
-
-#ifdef HAVE_THREADS_WITHOUT_SOCKETS
-/* MIT pthreads does not work with unix sockets */
-#undef HAVE_SYS_UN_H
-#endif
-
-#define __EXTENSIONS__ 1 /* We want some extension */
-#ifndef __STDC_EXT__
-#define __STDC_EXT__ 1 /* To get large file support on hpux */
-#endif
-
-/*
- Solaris 9 include file <sys/feature_tests.h> refers to X/Open document
-
- System Interfaces and Headers, Issue 5
-
- saying we should define _XOPEN_SOURCE=500 to get POSIX.1c prototypes,
- but apparently other systems (namely FreeBSD) don't agree.
-
- On a newer Solaris 10, the above file recognizes also _XOPEN_SOURCE=600.
- Furthermore, it tests that if a program requires older standard
- (_XOPEN_SOURCE<600 or _POSIX_C_SOURCE<200112L) it cannot be
- run on a new compiler (that defines _STDC_C99) and issues an #error.
- It's also an #error if a program requires new standard (_XOPEN_SOURCE=600
- or _POSIX_C_SOURCE=200112L) and a compiler does not define _STDC_C99.
-
- To add more to this mess, Sun Studio C compiler defines _STDC_C99 while
- C++ compiler does not!
-
- So, in a desperate attempt to get correct prototypes for both
- C and C++ code, we define either _XOPEN_SOURCE=600 or _XOPEN_SOURCE=500
- depending on the compiler's announced C standard support.
-
- Cleaner solutions are welcome.
-*/
-#ifdef __sun
-#if __STDC_VERSION__ - 0 >= 199901L
-#define _XOPEN_SOURCE 600
-#else
-#define _XOPEN_SOURCE 500
-#endif
-#endif
-
-#if defined(THREAD) && !defined(__WIN__)
-#ifndef _POSIX_PTHREAD_SEMANTICS
-#define _POSIX_PTHREAD_SEMANTICS /* We want posix threads */
-#endif
-
-#if !defined(SCO)
-#define _REENTRANT 1 /* Some thread libraries require this */
-#endif
-#if !defined(_THREAD_SAFE) && !defined(_AIX)
-#define _THREAD_SAFE /* Required for OSF1 */
-#endif
-#if defined(HPUX10) || defined(HPUX11)
-C_MODE_START /* HPUX needs this, signal.h bug */
-#include <pthread.h>
-C_MODE_END
-#else
-#include <pthread.h> /* AIX must have this included first */
-#endif
-#if !defined(SCO) && !defined(_REENTRANT)
-#define _REENTRANT 1 /* Threads requires reentrant code */
-#endif
-#endif /* THREAD */
-
-/* Go around some bugs in different OS and compilers */
-#ifdef _AIX /* By soren@t.dk */
-#define _H_STRINGS
-#define _SYS_STREAM_H
-/* #define _AIX32_CURSES */ /* XXX: this breaks AIX 4.3.3 (others?). */
-#define ulonglong2double(A) my_ulonglong2double(A)
-#define my_off_t2double(A) my_ulonglong2double(A)
-C_MODE_START
-double my_ulonglong2double(unsigned long long A);
-C_MODE_END
-#endif /* _AIX */
-
-#ifdef HAVE_BROKEN_SNPRINTF /* HPUX 10.20 don't have this defined */
-#undef HAVE_SNPRINTF
-#endif
-#ifdef HAVE_BROKEN_PREAD
-/*
- pread()/pwrite() are not 64 bit safe on HP-UX 11.0 without
- installing the kernel patch PHKL_20349 or greater
-*/
-#undef HAVE_PREAD
-#undef HAVE_PWRITE
-#endif
-#if defined(HAVE_BROKEN_INLINE) && !defined(__cplusplus)
-#undef inline
-#define inline
-#endif
-
-#ifdef UNDEF_HAVE_GETHOSTBYNAME_R /* For OSF4.x */
-#undef HAVE_GETHOSTBYNAME_R
-#endif
-#ifdef UNDEF_HAVE_INITGROUPS /* For AIX 4.3 */
-#undef HAVE_INITGROUPS
-#endif
-
-/* gcc/egcs issues */
-
-#if defined(__GNUC) && defined(__EXCEPTIONS)
-#error "Please add -fno-exceptions to CXXFLAGS and reconfigure/recompile"
-#endif
-
-
-/* Fix a bug in gcc 2.8.0 on IRIX 6.2 */
-#if SIZEOF_LONG == 4 && defined(__LONG_MAX__) && (__GNUC__ == 2 && __GNUC_MINOR__ == 8)
-#undef __LONG_MAX__ /* Is a longlong value in gcc 2.8.0 ??? */
-#define __LONG_MAX__ 2147483647
-#endif
-
-/* egcs 1.1.2 has a problem with memcpy on Alpha */
-#if defined(__GNUC__) && defined(__alpha__) && ! (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95))
-#define BAD_MEMCPY
-#endif
-
-#if defined(_lint) && !defined(lint)
-#define lint
-#endif
-#if SIZEOF_LONG_LONG > 4 && !defined(_LONG_LONG)
-#define _LONG_LONG 1 /* For AIX string library */
-#endif
-
-#ifndef stdin
-#include <stdio.h>
-#endif
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h>
-#endif
-#ifdef HAVE_STDDEF_H
-#include <stddef.h>
-#endif
-
-#include <math.h>
-#ifdef HAVE_LIMITS_H
-#include <limits.h>
-#endif
-#ifdef HAVE_FLOAT_H
-#include <float.h>
-#endif
-#ifdef HAVE_FENV_H
-#include <fenv.h> /* For fesetround() */
-#endif
-
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_FCNTL_H
-#include <fcntl.h>
-#endif
-#ifdef HAVE_SYS_TIMEB_H
-#include <sys/timeb.h> /* Avoid warnings on SCO */
-#endif
-#if TIME_WITH_SYS_TIME
-# include <sys/time.h>
-# include <time.h>
-#else
-# if HAVE_SYS_TIME_H
-# include <sys/time.h>
-# else
-# include <time.h>
-# endif
-#endif /* TIME_WITH_SYS_TIME */
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#if defined(__cplusplus) && defined(NO_CPLUSPLUS_ALLOCA)
-#undef HAVE_ALLOCA
-#undef HAVE_ALLOCA_H
-#endif
-#ifdef HAVE_ALLOCA_H
-#include <alloca.h>
-#endif
-
-#include <errno.h> /* Recommended by debian */
-/* We need the following to go around a problem with openssl on solaris */
-#if defined(HAVE_CRYPT_H)
-#include <crypt.h>
-#endif
-
-/*
- A lot of our programs uses asserts, so better to always include it
- This also fixes a problem when people uses DBUG_ASSERT without including
- assert.h
-*/
-#include <assert.h>
-
-/* an assert that works at compile-time. only for constant expression */
-#ifndef __GNUC__
-#define compile_time_assert(X) do { } while(0)
-#else
-#define compile_time_assert(X) \
- do \
- { \
- char compile_time_assert[(X) ? 1 : -1] \
- __attribute__ ((unused)); \
- } while(0)
-#endif
-
-/* Go around some bugs in different OS and compilers */
-#if defined (HPUX11) && defined(_LARGEFILE_SOURCE)
-#define _LARGEFILE64_SOURCE
-#endif
-#if defined(_HPUX_SOURCE) && defined(HAVE_SYS_STREAM_H)
-#include <sys/stream.h> /* HPUX 10.20 defines ulong here. UGLY !!! */
-#define HAVE_ULONG
-#endif
-#if defined(HPUX10) && defined(_LARGEFILE64_SOURCE) && defined(THREAD)
-/* Fix bug in setrlimit */
-#undef setrlimit
-#define setrlimit cma_setrlimit64
-#endif
-/* Declare madvise where it is not declared for C++, like Solaris */
-#if HAVE_MADVISE && !HAVE_DECL_MADVISE && defined(__cplusplus)
-extern "C" int madvise(void *addr, size_t len, int behav);
-#endif
-
-#ifdef __QNXNTO__
-/* This has to be after include limits.h */
-#define HAVE_ERRNO_AS_DEFINE
-#define HAVE_FCNTL_LOCK
-#undef HAVE_FINITE
-#undef LONGLONG_MIN /* These get wrongly defined in QNX 6.2 */
-#undef LONGLONG_MAX /* standard system library 'limits.h' */
-#ifdef __cplusplus
-#ifndef HAVE_RINT
-#define HAVE_RINT
-#endif /* rint() and isnan() functions are not */
-#define rint(a) std::rint(a) /* visible in C++ scope due to an error */
-#define isnan(a) std::isnan(a) /* in the usr/include/math.h on QNX */
-#endif
-#endif
-
-/* We can not live without the following defines */
-
-#define USE_MYFUNC 1 /* Must use syscall indirection */
-#define MASTER 1 /* Compile without unireg */
-#define ENGLISH 1 /* Messages in English */
-#define POSIX_MISTAKE 1 /* regexp: Fix stupid spec error */
-#define USE_REGEX 1 /* We want the use the regex library */
-/* Do not define for ultra sparcs */
-#define USE_BMOVE512 1 /* Use this unless system bmove is faster */
-
-#define QUOTE_ARG(x) #x /* Quote argument (before cpp) */
-#define STRINGIFY_ARG(x) QUOTE_ARG(x) /* Quote argument, after cpp */
-
-/* Paranoid settings. Define I_AM_PARANOID if you are paranoid */
-#ifdef I_AM_PARANOID
-#define DONT_ALLOW_USER_CHANGE 1
-#define DONT_USE_MYSQL_PWD 1
-#endif
-
-/* Does the system remember a signal handler after a signal ? */
-#ifndef HAVE_BSD_SIGNALS
-#define DONT_REMEMBER_SIGNAL
-#endif
-
-/* Define void to stop lint from generating "null effekt" comments */
-#ifndef DONT_DEFINE_VOID
-#ifdef _lint
-int __void__;
-#define VOID(X) (__void__ = (int) (X))
-#else
-#undef VOID
-#define VOID(X) (X)
-#endif
-#endif /* DONT_DEFINE_VOID */
-
-#if defined(_lint) || defined(FORCE_INIT_OF_VARS)
-#define LINT_INIT(var) var=0 /* No uninitialize-warning */
-#else
-#define LINT_INIT(var)
-#endif
-
-/*
- Suppress uninitialized variable warning without generating code.
-
- The _cplusplus is a temporary workaround for C++ code pending a fix
- for a g++ bug (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34772).
-*/
-#if defined(_lint) || defined(FORCE_INIT_OF_VARS) || defined(__cplusplus) || \
- !defined(__GNUC__)
-#define UNINIT_VAR(x) x= 0
-#else
-#define UNINIT_VAR(x) x= x
-#endif
-
-/* Define some useful general macros */
-#if !defined(max)
-#define max(a, b) ((a) > (b) ? (a) : (b))
-#define min(a, b) ((a) < (b) ? (a) : (b))
-#endif
-
-#if !defined(HAVE_UINT)
-#undef HAVE_UINT
-#define HAVE_UINT
-typedef unsigned int uint;
-typedef unsigned short ushort;
-#endif
-
-#define CMP_NUM(a,b) (((a) < (b)) ? -1 : ((a) == (b)) ? 0 : 1)
-#define sgn(a) (((a) < 0) ? -1 : ((a) > 0) ? 1 : 0)
-#define swap_variables(t, a, b) { t dummy; dummy= a; a= b; b= dummy; }
-#define test(a) ((a) ? 1 : 0)
-#define set_if_bigger(a,b) do { if ((a) < (b)) (a)=(b); } while(0)
-#define set_if_smaller(a,b) do { if ((a) > (b)) (a)=(b); } while(0)
-#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])))
-
-/* Define some general constants */
-#ifndef TRUE
-#define TRUE (1) /* Logical true */
-#define FALSE (0) /* Logical false */
-#endif
-
-#if defined(__GNUC__)
-#define function_volatile volatile
-#define my_reinterpret_cast(A) reinterpret_cast<A>
-#define my_const_cast(A) const_cast<A>
-# ifndef GCC_VERSION
-# define GCC_VERSION (__GNUC__ * 1000 + __GNUC_MINOR__)
-# endif
-#elif !defined(my_reinterpret_cast)
-#define my_reinterpret_cast(A) (A)
-#define my_const_cast(A) (A)
-#endif
-
-#include <my_attribute.h>
-
-/*
- Wen using the embedded library, users might run into link problems,
- duplicate declaration of __cxa_pure_virtual, solved by declaring it a
- weak symbol.
-*/
-#if defined(USE_MYSYS_NEW) && ! defined(DONT_DECLARE_CXA_PURE_VIRTUAL)
-C_MODE_START
-int __cxa_pure_virtual () __attribute__ ((weak));
-C_MODE_END
-#endif
-
-/* From old s-system.h */
-
-/*
- Support macros for non ansi & other old compilers. Since such
- things are no longer supported we do nothing. We keep then since
- some of our code may still be needed to upgrade old customers.
-*/
-#define _VARARGS(X) X
-#define _STATIC_VARARGS(X) X
-
-/* The DBUG_ON flag always takes precedence over default DBUG_OFF */
-#if defined(DBUG_ON) && defined(DBUG_OFF)
-#undef DBUG_OFF
-#endif
-
-/* We might be forced to turn debug off, if not turned off already */
-#if (defined(FORCE_DBUG_OFF) || defined(_lint)) && !defined(DBUG_OFF)
-# define DBUG_OFF
-# ifdef DBUG_ON
-# undef DBUG_ON
-# endif
-#endif
-
-#include <my_dbug.h>
-
-#define MIN_ARRAY_SIZE 0 /* Zero or One. Gcc allows zero*/
-#define ASCII_BITS_USED 8 /* Bit char used */
-#define NEAR_F /* No near function handling */
-
-/* Some types that is different between systems */
-
-typedef int File; /* File descriptor */
-#ifndef Socket_defined
-typedef int my_socket; /* File descriptor for sockets */
-#define INVALID_SOCKET -1
-#endif
-/* Type for fuctions that handles signals */
-#define sig_handler RETSIGTYPE
-C_MODE_START
-typedef void (*sig_return)();/* Returns type from signal */
-C_MODE_END
-#if defined(__GNUC__) && !defined(_lint)
-typedef char pchar; /* Mixed prototypes can take char */
-typedef char puchar; /* Mixed prototypes can take char */
-typedef char pbool; /* Mixed prototypes can take char */
-typedef short pshort; /* Mixed prototypes can take short int */
-typedef float pfloat; /* Mixed prototypes can take float */
-#else
-typedef int pchar; /* Mixed prototypes can't take char */
-typedef uint puchar; /* Mixed prototypes can't take char */
-typedef int pbool; /* Mixed prototypes can't take char */
-typedef int pshort; /* Mixed prototypes can't take short int */
-typedef double pfloat; /* Mixed prototypes can't take float */
-#endif
-C_MODE_START
-typedef int (*qsort_cmp)(const void *,const void *);
-typedef int (*qsort_cmp2)(void*, const void *,const void *);
-C_MODE_END
-#define qsort_t RETQSORTTYPE /* Broken GCC cant handle typedef !!!! */
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-typedef SOCKET_SIZE_TYPE size_socket;
-
-#ifndef SOCKOPT_OPTLEN_TYPE
-#define SOCKOPT_OPTLEN_TYPE size_socket
-#endif
-
-/* file create flags */
-
-#ifndef O_SHARE /* Probably not windows */
-#define O_SHARE 0 /* Flag to my_open for shared files */
-#ifndef O_BINARY
-#define O_BINARY 0 /* Flag to my_open for binary files */
-#endif
-#ifndef FILE_BINARY
-#define FILE_BINARY O_BINARY /* Flag to my_fopen for binary streams */
-#endif
-#ifdef HAVE_FCNTL
-#define HAVE_FCNTL_LOCK
-#define F_TO_EOF 0L /* Param to lockf() to lock rest of file */
-#endif
-#endif /* O_SHARE */
-
-#ifndef O_TEMPORARY
-#define O_TEMPORARY 0
-#endif
-#ifndef O_SHORT_LIVED
-#define O_SHORT_LIVED 0
-#endif
-#ifndef O_NOFOLLOW
-#define O_NOFOLLOW 0
-#endif
-
-/* additional file share flags for win32 */
-#ifdef __WIN__
-#define _SH_DENYRWD 0x110 /* deny read/write mode & delete */
-#define _SH_DENYWRD 0x120 /* deny write mode & delete */
-#define _SH_DENYRDD 0x130 /* deny read mode & delete */
-#define _SH_DENYDEL 0x140 /* deny delete only */
-#endif /* __WIN__ */
-
-
-/* #define USE_RECORD_LOCK */
-
- /* Unsigned types supported by the compiler */
-#define UNSINT8 /* unsigned int8 (char) */
-#define UNSINT16 /* unsigned int16 */
-#define UNSINT32 /* unsigned int32 */
-
- /* General constants */
-#define FN_LEN 256 /* Max file name len */
-#define FN_HEADLEN 253 /* Max length of filepart of file name */
-#define FN_EXTLEN 20 /* Max length of extension (part of FN_LEN) */
-#define FN_REFLEN 512 /* Max length of full path-name */
-#define FN_EXTCHAR '.'
-#define FN_HOMELIB '~' /* ~/ is used as abbrev for home dir */
-#define FN_CURLIB '.' /* ./ is used as abbrev for current dir */
-#define FN_PARENTDIR ".." /* Parent directory; Must be a string */
-
-#ifndef FN_LIBCHAR
-#define FN_LIBCHAR '/'
-#define FN_ROOTDIR "/"
-#endif
-#define MY_NFILE 64 /* This is only used to save filenames */
-#ifndef OS_FILE_LIMIT
-#define OS_FILE_LIMIT 65535
-#endif
-
-/* #define EXT_IN_LIBNAME */
-/* #define FN_NO_CASE_SENCE */
-/* #define FN_UPPER_CASE TRUE */
-
-/*
- Io buffer size; Must be a power of 2 and a multiple of 512. May be
- smaller what the disk page size. This influences the speed of the
- isam btree library. eg to big to slow.
-*/
-#define IO_SIZE 4096
-/*
- How much overhead does malloc have. The code often allocates
- something like 1024-MALLOC_OVERHEAD bytes
-*/
-#ifdef SAFEMALLOC
-#define MALLOC_OVERHEAD (8+24+4)
-#else
-#define MALLOC_OVERHEAD 8
-#endif
- /* get memory in huncs */
-#define ONCE_ALLOC_INIT (uint) (4096-MALLOC_OVERHEAD)
- /* Typical record cash */
-#define RECORD_CACHE_SIZE (uint) (64*1024-MALLOC_OVERHEAD)
- /* Typical key cash */
-#define KEY_CACHE_SIZE (uint) (8*1024*1024-MALLOC_OVERHEAD)
- /* Default size of a key cache block */
-#define KEY_CACHE_BLOCK_SIZE (uint) 1024
-
-
- /* Some things that this system doesn't have */
-
-#define NO_HASH /* Not needed anymore */
-#ifdef __WIN__
-#define NO_DIR_LIBRARY /* Not standar dir-library */
-#define USE_MY_STAT_STRUCT /* For my_lib */
-#endif
-
-/* Some defines of functions for portability */
-
-#undef remove /* Crashes MySQL on SCO 5.0.0 */
-#ifndef __WIN__
-#define closesocket(A) close(A)
-#ifndef ulonglong2double
-#define ulonglong2double(A) ((double) (ulonglong) (A))
-#define my_off_t2double(A) ((double) (my_off_t) (A))
-#endif
-#ifndef double2ulonglong
-#define double2ulonglong(A) ((ulonglong) (double) (A))
-#endif
-#endif
-
-#ifndef offsetof
-#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
-#endif
-#define ulong_to_double(X) ((double) (ulong) (X))
-#define SET_STACK_SIZE(X) /* Not needed on real machines */
-
-#ifndef STACK_DIRECTION
-#error "please add -DSTACK_DIRECTION=1 or -1 to your CPPFLAGS"
-#endif
-
-#if !defined(HAVE_STRTOK_R)
-#define strtok_r(A,B,C) strtok((A),(B))
-#endif
-
-/* This is from the old m-machine.h file */
-
-#if SIZEOF_LONG_LONG > 4
-#define HAVE_LONG_LONG 1
-#endif
-
-/*
- Some pre-ANSI-C99 systems like AIX 5.1 and Linux/GCC 2.95 define
- ULONGLONG_MAX, LONGLONG_MIN, LONGLONG_MAX; we use them if they're defined.
- Also on Windows we define these constants by hand in config-win.h.
-*/
-
-#if defined(HAVE_LONG_LONG) && !defined(LONGLONG_MIN)
-#define LONGLONG_MIN ((long long) 0x8000000000000000LL)
-#define LONGLONG_MAX ((long long) 0x7FFFFFFFFFFFFFFFLL)
-#endif
-
-#if defined(HAVE_LONG_LONG) && !defined(ULONGLONG_MAX)
-/* First check for ANSI C99 definition: */
-#ifdef ULLONG_MAX
-#define ULONGLONG_MAX ULLONG_MAX
-#else
-#define ULONGLONG_MAX ((unsigned long long)(~0ULL))
-#endif
-#endif /* defined (HAVE_LONG_LONG) && !defined(ULONGLONG_MAX)*/
-
-#define INT_MIN32 (~0x7FFFFFFFL)
-#define INT_MAX32 0x7FFFFFFFL
-#define UINT_MAX32 0xFFFFFFFFL
-#define INT_MIN24 (~0x007FFFFF)
-#define INT_MAX24 0x007FFFFF
-#define UINT_MAX24 0x00FFFFFF
-#define INT_MIN16 (~0x7FFF)
-#define INT_MAX16 0x7FFF
-#define UINT_MAX16 0xFFFF
-#define INT_MIN8 (~0x7F)
-#define INT_MAX8 0x7F
-#define UINT_MAX8 0xFF
-
-/* From limits.h instead */
-#ifndef DBL_MIN
-#define DBL_MIN 4.94065645841246544e-324
-#define FLT_MIN ((float)1.40129846432481707e-45)
-#endif
-#ifndef DBL_MAX
-#define DBL_MAX 1.79769313486231470e+308
-#define FLT_MAX ((float)3.40282346638528860e+38)
-#endif
-#ifndef SIZE_T_MAX
-#define SIZE_T_MAX (~((size_t) 0))
-#endif
-
-#ifndef isfinite
-#ifdef HAVE_FINITE
-#define isfinite(x) finite(x)
-#else
-#define finite(x) (1.0 / fabs(x) > 0.0)
-#endif /* HAVE_FINITE */
-#endif /* isfinite */
-
-#ifndef HAVE_ISNAN
-#define isnan(x) ((x) != (x))
-#endif
-
-#ifdef HAVE_ISINF
-/* 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
-/* 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. */
-#ifndef M_PI
-#define M_PI 3.14159265358979323846
-#endif
-#ifndef M_E
-#define M_E 2.7182818284590452354
-#endif
-#ifndef M_LN2
-#define M_LN2 0.69314718055994530942
-#endif
-
-/*
- Max size that must be added to a so that we know Size to make
- adressable obj.
-*/
-#if SIZEOF_CHARP == 4
-typedef long my_ptrdiff_t;
-#else
-typedef long long my_ptrdiff_t;
-#endif
-
-#define MY_ALIGN(A,L) (((A) + (L) - 1) & ~((L) - 1))
-#define ALIGN_SIZE(A) MY_ALIGN((A),sizeof(double))
-/* Size to make adressable obj. */
-#define ALIGN_PTR(A, t) ((t*) MY_ALIGN((A),sizeof(t)))
- /* Offset of field f in structure t */
-#define OFFSET(t, f) ((size_t)(char *)&((t *)0)->f)
-#define ADD_TO_PTR(ptr,size,type) (type) ((uchar*) (ptr)+size)
-#define PTR_BYTE_DIFF(A,B) (my_ptrdiff_t) ((uchar*) (A) - (uchar*) (B))
-
-#define MY_DIV_UP(A, B) (((A) + (B) - 1) / (B))
-#define MY_ALIGNED_BYTE_ARRAY(N, S, T) T N[MY_DIV_UP(S, sizeof(T))]
-
-/*
- Custom version of standard offsetof() macro which can be used to get
- offsets of members in class for non-POD types (according to the current
- version of C++ standard offsetof() macro can't be used in such cases and
- attempt to do so causes warnings to be emitted, OTOH in many cases it is
- still OK to assume that all instances of the class has the same offsets
- for the same members).
-
- This is temporary solution which should be removed once File_parser class
- and related routines are refactored.
-*/
-
-#define my_offsetof(TYPE, MEMBER) \
- ((size_t)((char *)&(((TYPE *)0x10)->MEMBER) - (char*)0x10))
-
-#define NullS (char *) 0
-/* Nowdays we do not support MessyDos */
-#ifndef NEAR
-#define NEAR /* Who needs segments ? */
-#define FAR /* On a good machine */
-#ifndef HUGE_PTR
-#define HUGE_PTR
-#endif
-#endif
-#if defined(__IBMC__) || defined(__IBMCPP__)
-/* This was _System _Export but caused a lot of warnings on _AIX43 */
-#define STDCALL
-#elif !defined( STDCALL)
-#define STDCALL
-#endif
-
-/* Typdefs for easyier portability */
-
-#ifndef HAVE_UCHAR
-typedef unsigned char uchar; /* Short for unsigned char */
-#endif
-
-#ifndef HAVE_INT8
-typedef signed char int8; /* Signed integer >= 8 bits */
-#endif
-#ifndef HAVE_UINT8
-typedef unsigned char uint8; /* Unsigned integer >= 8 bits */
-#endif
-#ifndef HAVE_INT16
-typedef short int16;
-#endif
-#ifndef HAVE_UINT16
-typedef unsigned short uint16;
-#endif
-#if SIZEOF_INT == 4
-#ifndef HAVE_INT32
-typedef int int32;
-#endif
-#ifndef HAVE_UINT32
-typedef unsigned int uint32;
-#endif
-#elif SIZEOF_LONG == 4
-#ifndef HAVE_INT32
-typedef long int32;
-#endif
-#ifndef HAVE_UINT32
-typedef unsigned long uint32;
-#endif
-#else
-#error Neither int or long is of 4 bytes width
-#endif
-
-#if !defined(HAVE_ULONG) && !defined(__USE_MISC)
-typedef unsigned long ulong; /* Short for unsigned long */
-#endif
-#ifndef longlong_defined
-/*
- Using [unsigned] long long is preferable as [u]longlong because we use
- [unsigned] long long unconditionally in many places,
- for example in constants with [U]LL suffix.
-*/
-#if defined(HAVE_LONG_LONG) && SIZEOF_LONG_LONG == 8
-typedef unsigned long long int ulonglong; /* ulong or unsigned long long */
-typedef long long int longlong;
-#else
-typedef unsigned long ulonglong; /* ulong or unsigned long long */
-typedef long longlong;
-#endif
-#endif
-#ifndef HAVE_INT64
-typedef longlong int64;
-#endif
-#ifndef HAVE_UINT64
-typedef ulonglong uint64;
-#endif
-
-#if defined(NO_CLIENT_LONG_LONG)
-typedef unsigned long my_ulonglong;
-#elif defined (__WIN__)
-typedef unsigned __int64 my_ulonglong;
-#else
-typedef unsigned long long my_ulonglong;
-#endif
-
-#if SIZEOF_CHARP == SIZEOF_INT
-typedef int intptr;
-#elif SIZEOF_CHARP == SIZEOF_LONG
-typedef long intptr;
-#elif SIZEOF_CHARP == SIZEOF_LONG_LONG
-typedef long long intptr;
-#else
-#error sizeof(void *) is neither sizeof(int) nor sizeof(long) nor sizeof(long long)
-#endif
-
-#define MY_ERRPTR ((void*)(intptr)1)
-
-#ifdef USE_RAID
-/*
- The following is done with a if to not get problems with pre-processors
- with late define evaluation
-*/
-#if SIZEOF_OFF_T == 4
-#define SYSTEM_SIZEOF_OFF_T 4
-#else
-#define SYSTEM_SIZEOF_OFF_T 8
-#endif
-#undef SIZEOF_OFF_T
-#define SIZEOF_OFF_T 8
-#else
-#define SYSTEM_SIZEOF_OFF_T SIZEOF_OFF_T
-#endif /* USE_RAID */
-
-#if SIZEOF_OFF_T > 4
-typedef ulonglong my_off_t;
-#else
-typedef unsigned long my_off_t;
-#endif
-#define MY_FILEPOS_ERROR (~(my_off_t) 0)
-#if !defined(__WIN__)
-typedef off_t os_off_t;
-#endif
-
-#if defined(__WIN__)
-#define socket_errno WSAGetLastError()
-#define SOCKET_EINTR WSAEINTR
-#define SOCKET_EAGAIN WSAEINPROGRESS
-#define SOCKET_ETIMEDOUT WSAETIMEDOUT
-#define SOCKET_EWOULDBLOCK WSAEWOULDBLOCK
-#define SOCKET_EADDRINUSE WSAEADDRINUSE
-#define SOCKET_ENFILE ENFILE
-#define SOCKET_EMFILE EMFILE
-#else /* Unix */
-#define socket_errno errno
-#define closesocket(A) close(A)
-#define SOCKET_EINTR EINTR
-#define SOCKET_EAGAIN EAGAIN
-#define SOCKET_ETIMEDOUT SOCKET_EINTR
-#define SOCKET_EWOULDBLOCK EWOULDBLOCK
-#define SOCKET_EADDRINUSE EADDRINUSE
-#define SOCKET_ENFILE ENFILE
-#define SOCKET_EMFILE EMFILE
-#endif
-
-typedef uint8 int7; /* Most effective integer 0 <= x <= 127 */
-typedef short int15; /* Most effective integer 0 <= x <= 32767 */
-typedef int myf; /* Type of MyFlags in my_funcs */
-typedef char my_bool; /* Small bool */
-#if !defined(bool) && (!defined(HAVE_BOOL) || !defined(__cplusplus))
-typedef char bool; /* Ordinary boolean values 0 1 */
-#endif
- /* Macros for converting *constants* to the right type */
-#define INT8(v) (int8) (v)
-#define INT16(v) (int16) (v)
-#define INT32(v) (int32) (v)
-#define MYF(v) (myf) (v)
-
-#ifndef LL
-#ifdef HAVE_LONG_LONG
-#define LL(A) A ## LL
-#else
-#define LL(A) A ## L
-#endif
-#endif
-
-#ifndef ULL
-#ifdef HAVE_LONG_LONG
-#define ULL(A) A ## ULL
-#else
-#define ULL(A) A ## UL
-#endif
-#endif
-
-/*
- Defines to make it possible to prioritize register assignments. No
- longer that important with modern compilers.
-*/
-#ifndef USING_X
-#define reg1 register
-#define reg2 register
-#define reg3 register
-#define reg4 register
-#define reg5 register
-#define reg6 register
-#define reg7 register
-#define reg8 register
-#define reg9 register
-#define reg10 register
-#define reg11 register
-#define reg12 register
-#define reg13 register
-#define reg14 register
-#define reg15 register
-#define reg16 register
-#endif
-
-/*
- Sometimes we want to make sure that the variable is not put into
- a register in debugging mode so we can see its value in the core
-*/
-
-#ifndef DBUG_OFF
-#define dbug_volatile volatile
-#else
-#define dbug_volatile
-#endif
-
-/* Some helper macros */
-#define YESNO(X) ((X) ? "yes" : "no")
-
-/* Defines for time function */
-#define SCALE_SEC 100
-#define SCALE_USEC 10000
-#define MY_HOW_OFTEN_TO_ALARM 2 /* How often we want info on screen */
-#define MY_HOW_OFTEN_TO_WRITE 1000 /* How often we want info on screen */
-
-
-
-/*
- Define-funktions for reading and storing in machine independent format
- (low byte first)
-*/
-
-/* Optimized store functions for Intel x86 */
-#if defined(__i386__) || defined(_WIN32)
-#define sint2korr(A) (*((int16 *) (A)))
-#define sint3korr(A) ((int32) ((((uchar) (A)[2]) & 128) ? \
- (((uint32) 255L << 24) | \
- (((uint32) (uchar) (A)[2]) << 16) |\
- (((uint32) (uchar) (A)[1]) << 8) | \
- ((uint32) (uchar) (A)[0])) : \
- (((uint32) (uchar) (A)[2]) << 16) |\
- (((uint32) (uchar) (A)[1]) << 8) | \
- ((uint32) (uchar) (A)[0])))
-#define sint4korr(A) (*((long *) (A)))
-#define uint2korr(A) (*((uint16 *) (A)))
-#if defined(HAVE_purify) && !defined(_WIN32)
-#define uint3korr(A) (uint32) (((uint32) ((uchar) (A)[0])) +\
- (((uint32) ((uchar) (A)[1])) << 8) +\
- (((uint32) ((uchar) (A)[2])) << 16))
-#else
-/*
- ATTENTION !
-
- Please, note, uint3korr reads 4 bytes (not 3) !
- It means, that you have to provide enough allocated space !
-*/
-#define uint3korr(A) (long) (*((unsigned int *) (A)) & 0xFFFFFF)
-#endif /* HAVE_purify && !_WIN32 */
-#define uint4korr(A) (*((uint32 *) (A)))
-#define uint5korr(A) ((ulonglong)(((uint32) ((uchar) (A)[0])) +\
- (((uint32) ((uchar) (A)[1])) << 8) +\
- (((uint32) ((uchar) (A)[2])) << 16) +\
- (((uint32) ((uchar) (A)[3])) << 24)) +\
- (((ulonglong) ((uchar) (A)[4])) << 32))
-#define uint6korr(A) ((ulonglong)(((uint32) ((uchar) (A)[0])) + \
- (((uint32) ((uchar) (A)[1])) << 8) + \
- (((uint32) ((uchar) (A)[2])) << 16) + \
- (((uint32) ((uchar) (A)[3])) << 24)) + \
- (((ulonglong) ((uchar) (A)[4])) << 32) + \
- (((ulonglong) ((uchar) (A)[5])) << 40))
-#define uint8korr(A) (*((ulonglong *) (A)))
-#define sint8korr(A) (*((longlong *) (A)))
-#define int2store(T,A) *((uint16*) (T))= (uint16) (A)
-#define int3store(T,A) do { *(T)= (uchar) ((A));\
- *(T+1)=(uchar) (((uint) (A) >> 8));\
- *(T+2)=(uchar) (((A) >> 16)); } while (0)
-#define int4store(T,A) *((long *) (T))= (long) (A)
-#define int5store(T,A) do { *(T)= (uchar)((A));\
- *((T)+1)=(uchar) (((A) >> 8));\
- *((T)+2)=(uchar) (((A) >> 16));\
- *((T)+3)=(uchar) (((A) >> 24)); \
- *((T)+4)=(uchar) (((A) >> 32)); } while(0)
-#define int6store(T,A) do { *(T)= (uchar)((A)); \
- *((T)+1)=(uchar) (((A) >> 8)); \
- *((T)+2)=(uchar) (((A) >> 16)); \
- *((T)+3)=(uchar) (((A) >> 24)); \
- *((T)+4)=(uchar) (((A) >> 32)); \
- *((T)+5)=(uchar) (((A) >> 40)); } while(0)
-#define int8store(T,A) *((ulonglong *) (T))= (ulonglong) (A)
-
-typedef union {
- double v;
- long m[2];
-} doubleget_union;
-#define doubleget(V,M) \
-do { doubleget_union _tmp; \
- _tmp.m[0] = *((long*)(M)); \
- _tmp.m[1] = *(((long*) (M))+1); \
- (V) = _tmp.v; } while(0)
-#define doublestore(T,V) do { *((long *) T) = ((doubleget_union *)&V)->m[0]; \
- *(((long *) T)+1) = ((doubleget_union *)&V)->m[1]; \
- } while (0)
-#define float4get(V,M) do { *((float *) &(V)) = *((float*) (M)); } while(0)
-#define float8get(V,M) doubleget((V),(M))
-#define float4store(V,M) memcpy((uchar*) V,(uchar*) (&M),sizeof(float))
-#define floatstore(T,V) memcpy((uchar*)(T), (uchar*)(&V),sizeof(float))
-#define floatget(V,M) memcpy((uchar*) &V,(uchar*) (M),sizeof(float))
-#define float8store(V,M) doublestore((V),(M))
-#else
-
-/*
- We're here if it's not a IA-32 architecture (Win32 and UNIX IA-32 defines
- were done before)
-*/
-#define sint2korr(A) (int16) (((int16) ((uchar) (A)[0])) +\
- ((int16) ((int16) (A)[1]) << 8))
-#define sint3korr(A) ((int32) ((((uchar) (A)[2]) & 128) ? \
- (((uint32) 255L << 24) | \
- (((uint32) (uchar) (A)[2]) << 16) |\
- (((uint32) (uchar) (A)[1]) << 8) | \
- ((uint32) (uchar) (A)[0])) : \
- (((uint32) (uchar) (A)[2]) << 16) |\
- (((uint32) (uchar) (A)[1]) << 8) | \
- ((uint32) (uchar) (A)[0])))
-#define sint4korr(A) (int32) (((int32) ((uchar) (A)[0])) +\
- (((int32) ((uchar) (A)[1]) << 8)) +\
- (((int32) ((uchar) (A)[2]) << 16)) +\
- (((int32) ((int16) (A)[3]) << 24)))
-#define sint8korr(A) (longlong) uint8korr(A)
-#define uint2korr(A) (uint16) (((uint16) ((uchar) (A)[0])) +\
- ((uint16) ((uchar) (A)[1]) << 8))
-#define uint3korr(A) (uint32) (((uint32) ((uchar) (A)[0])) +\
- (((uint32) ((uchar) (A)[1])) << 8) +\
- (((uint32) ((uchar) (A)[2])) << 16))
-#define uint4korr(A) (uint32) (((uint32) ((uchar) (A)[0])) +\
- (((uint32) ((uchar) (A)[1])) << 8) +\
- (((uint32) ((uchar) (A)[2])) << 16) +\
- (((uint32) ((uchar) (A)[3])) << 24))
-#define uint5korr(A) ((ulonglong)(((uint32) ((uchar) (A)[0])) +\
- (((uint32) ((uchar) (A)[1])) << 8) +\
- (((uint32) ((uchar) (A)[2])) << 16) +\
- (((uint32) ((uchar) (A)[3])) << 24)) +\
- (((ulonglong) ((uchar) (A)[4])) << 32))
-#define uint6korr(A) ((ulonglong)(((uint32) ((uchar) (A)[0])) + \
- (((uint32) ((uchar) (A)[1])) << 8) + \
- (((uint32) ((uchar) (A)[2])) << 16) + \
- (((uint32) ((uchar) (A)[3])) << 24)) + \
- (((ulonglong) ((uchar) (A)[4])) << 32) + \
- (((ulonglong) ((uchar) (A)[5])) << 40))
-#define uint8korr(A) ((ulonglong)(((uint32) ((uchar) (A)[0])) +\
- (((uint32) ((uchar) (A)[1])) << 8) +\
- (((uint32) ((uchar) (A)[2])) << 16) +\
- (((uint32) ((uchar) (A)[3])) << 24)) +\
- (((ulonglong) (((uint32) ((uchar) (A)[4])) +\
- (((uint32) ((uchar) (A)[5])) << 8) +\
- (((uint32) ((uchar) (A)[6])) << 16) +\
- (((uint32) ((uchar) (A)[7])) << 24))) <<\
- 32))
-#define int2store(T,A) do { uint def_temp= (uint) (A) ;\
- *((uchar*) (T))= (uchar)(def_temp); \
- *((uchar*) (T)+1)=(uchar)((def_temp >> 8)); \
- } while(0)
-#define int3store(T,A) do { /*lint -save -e734 */\
- *((uchar*)(T))=(uchar) ((A));\
- *((uchar*) (T)+1)=(uchar) (((A) >> 8));\
- *((uchar*)(T)+2)=(uchar) (((A) >> 16)); \
- /*lint -restore */} while(0)
-#define int4store(T,A) do { *((char *)(T))=(char) ((A));\
- *(((char *)(T))+1)=(char) (((A) >> 8));\
- *(((char *)(T))+2)=(char) (((A) >> 16));\
- *(((char *)(T))+3)=(char) (((A) >> 24)); } while(0)
-#define int5store(T,A) do { *((char *)(T))= (char)((A)); \
- *(((char *)(T))+1)= (char)(((A) >> 8)); \
- *(((char *)(T))+2)= (char)(((A) >> 16)); \
- *(((char *)(T))+3)= (char)(((A) >> 24)); \
- *(((char *)(T))+4)= (char)(((A) >> 32)); \
- } while(0)
-#define int6store(T,A) do { *((char *)(T))= (char)((A)); \
- *(((char *)(T))+1)= (char)(((A) >> 8)); \
- *(((char *)(T))+2)= (char)(((A) >> 16)); \
- *(((char *)(T))+3)= (char)(((A) >> 24)); \
- *(((char *)(T))+4)= (char)(((A) >> 32)); \
- *(((char *)(T))+5)= (char)(((A) >> 40)); \
- } while(0)
-#define int8store(T,A) do { uint def_temp= (uint) (A), def_temp2= (uint) ((A) >> 32); \
- int4store((T),def_temp); \
- int4store((T+4),def_temp2); } while(0)
-#ifdef WORDS_BIGENDIAN
-#define float4store(T,A) do { *(T)= ((uchar *) &A)[3];\
- *((T)+1)=(char) ((uchar *) &A)[2];\
- *((T)+2)=(char) ((uchar *) &A)[1];\
- *((T)+3)=(char) ((uchar *) &A)[0]; } while(0)
-
-#define float4get(V,M) do { float def_temp;\
- ((uchar*) &def_temp)[0]=(M)[3];\
- ((uchar*) &def_temp)[1]=(M)[2];\
- ((uchar*) &def_temp)[2]=(M)[1];\
- ((uchar*) &def_temp)[3]=(M)[0];\
- (V)=def_temp; } while(0)
-#define float8store(T,V) do { *(T)= ((uchar *) &V)[7];\
- *((T)+1)=(char) ((uchar *) &V)[6];\
- *((T)+2)=(char) ((uchar *) &V)[5];\
- *((T)+3)=(char) ((uchar *) &V)[4];\
- *((T)+4)=(char) ((uchar *) &V)[3];\
- *((T)+5)=(char) ((uchar *) &V)[2];\
- *((T)+6)=(char) ((uchar *) &V)[1];\
- *((T)+7)=(char) ((uchar *) &V)[0]; } while(0)
-
-#define float8get(V,M) do { double def_temp;\
- ((uchar*) &def_temp)[0]=(M)[7];\
- ((uchar*) &def_temp)[1]=(M)[6];\
- ((uchar*) &def_temp)[2]=(M)[5];\
- ((uchar*) &def_temp)[3]=(M)[4];\
- ((uchar*) &def_temp)[4]=(M)[3];\
- ((uchar*) &def_temp)[5]=(M)[2];\
- ((uchar*) &def_temp)[6]=(M)[1];\
- ((uchar*) &def_temp)[7]=(M)[0];\
- (V) = def_temp; } while(0)
-#else
-#define float4get(V,M) memcpy_fixed((uchar*) &V,(uchar*) (M),sizeof(float))
-#define float4store(V,M) memcpy_fixed((uchar*) V,(uchar*) (&M),sizeof(float))
-
-#if defined(__FLOAT_WORD_ORDER) && (__FLOAT_WORD_ORDER == __BIG_ENDIAN)
-#define doublestore(T,V) do { *(((char*)T)+0)=(char) ((uchar *) &V)[4];\
- *(((char*)T)+1)=(char) ((uchar *) &V)[5];\
- *(((char*)T)+2)=(char) ((uchar *) &V)[6];\
- *(((char*)T)+3)=(char) ((uchar *) &V)[7];\
- *(((char*)T)+4)=(char) ((uchar *) &V)[0];\
- *(((char*)T)+5)=(char) ((uchar *) &V)[1];\
- *(((char*)T)+6)=(char) ((uchar *) &V)[2];\
- *(((char*)T)+7)=(char) ((uchar *) &V)[3]; }\
- while(0)
-#define doubleget(V,M) do { double def_temp;\
- ((uchar*) &def_temp)[0]=(M)[4];\
- ((uchar*) &def_temp)[1]=(M)[5];\
- ((uchar*) &def_temp)[2]=(M)[6];\
- ((uchar*) &def_temp)[3]=(M)[7];\
- ((uchar*) &def_temp)[4]=(M)[0];\
- ((uchar*) &def_temp)[5]=(M)[1];\
- ((uchar*) &def_temp)[6]=(M)[2];\
- ((uchar*) &def_temp)[7]=(M)[3];\
- (V) = def_temp; } while(0)
-#endif /* __FLOAT_WORD_ORDER */
-
-#define float8get(V,M) doubleget((V),(M))
-#define float8store(V,M) doublestore((V),(M))
-#endif /* WORDS_BIGENDIAN */
-
-#endif /* __i386__ OR _WIN32 */
-
-/*
- Macro for reading 32-bit integer from network byte order (big-endian)
- from unaligned memory location.
-*/
-#define int4net(A) (int32) (((uint32) ((uchar) (A)[3])) |\
- (((uint32) ((uchar) (A)[2])) << 8) |\
- (((uint32) ((uchar) (A)[1])) << 16) |\
- (((uint32) ((uchar) (A)[0])) << 24))
-/*
- Define-funktions for reading and storing in machine format from/to
- short/long to/from some place in memory V should be a (not
- register) variable, M is a pointer to byte
-*/
-
-#ifdef WORDS_BIGENDIAN
-
-#define ushortget(V,M) do { V = (uint16) (((uint16) ((uchar) (M)[1]))+\
- ((uint16) ((uint16) (M)[0]) << 8)); } while(0)
-#define shortget(V,M) do { V = (short) (((short) ((uchar) (M)[1]))+\
- ((short) ((short) (M)[0]) << 8)); } while(0)
-#define longget(V,M) do { int32 def_temp;\
- ((uchar*) &def_temp)[0]=(M)[0];\
- ((uchar*) &def_temp)[1]=(M)[1];\
- ((uchar*) &def_temp)[2]=(M)[2];\
- ((uchar*) &def_temp)[3]=(M)[3];\
- (V)=def_temp; } while(0)
-#define ulongget(V,M) do { uint32 def_temp;\
- ((uchar*) &def_temp)[0]=(M)[0];\
- ((uchar*) &def_temp)[1]=(M)[1];\
- ((uchar*) &def_temp)[2]=(M)[2];\
- ((uchar*) &def_temp)[3]=(M)[3];\
- (V)=def_temp; } while(0)
-#define shortstore(T,A) do { uint def_temp=(uint) (A) ;\
- *(((char*)T)+1)=(char)(def_temp); \
- *(((char*)T)+0)=(char)(def_temp >> 8); } while(0)
-#define longstore(T,A) do { *(((char*)T)+3)=((A));\
- *(((char*)T)+2)=(((A) >> 8));\
- *(((char*)T)+1)=(((A) >> 16));\
- *(((char*)T)+0)=(((A) >> 24)); } while(0)
-
-#define floatget(V,M) memcpy_fixed((uchar*) &V,(uchar*) (M),sizeof(float))
-#define floatstore(T,V) memcpy_fixed((uchar*) (T),(uchar*)(&V),sizeof(float))
-#define doubleget(V,M) memcpy_fixed((uchar*) &V,(uchar*) (M),sizeof(double))
-#define doublestore(T,V) memcpy_fixed((uchar*) (T),(uchar*) &V,sizeof(double))
-#define longlongget(V,M) memcpy_fixed((uchar*) &V,(uchar*) (M),sizeof(ulonglong))
-#define longlongstore(T,V) memcpy_fixed((uchar*) (T),(uchar*) &V,sizeof(ulonglong))
-
-#else
-
-#define ushortget(V,M) do { V = uint2korr(M); } while(0)
-#define shortget(V,M) do { V = sint2korr(M); } while(0)
-#define longget(V,M) do { V = sint4korr(M); } while(0)
-#define ulongget(V,M) do { V = uint4korr(M); } while(0)
-#define shortstore(T,V) int2store(T,V)
-#define longstore(T,V) int4store(T,V)
-#ifndef floatstore
-#define floatstore(T,V) memcpy_fixed((uchar*) (T),(uchar*) (&V),sizeof(float))
-#define floatget(V,M) memcpy_fixed((uchar*) &V, (uchar*) (M), sizeof(float))
-#endif
-#ifndef doubleget
-#define doubleget(V,M) memcpy_fixed((uchar*) &V,(uchar*) (M),sizeof(double))
-#define doublestore(T,V) memcpy_fixed((uchar*) (T),(uchar*) &V,sizeof(double))
-#endif /* doubleget */
-#define longlongget(V,M) memcpy_fixed((uchar*) &V,(uchar*) (M),sizeof(ulonglong))
-#define longlongstore(T,V) memcpy_fixed((uchar*) (T),(uchar*) &V,sizeof(ulonglong))
-
-#endif /* WORDS_BIGENDIAN */
-
-/* sprintf does not always return the number of bytes :- */
-#ifdef SPRINTF_RETURNS_INT
-#define my_sprintf(buff,args) sprintf args
-#else
-#ifdef SPRINTF_RETURNS_PTR
-#define my_sprintf(buff,args) ((int)(sprintf args - buff))
-#else
-#define my_sprintf(buff,args) ((ulong) sprintf args, (ulong) strlen(buff))
-#endif
-#endif
-
-#ifndef THREAD
-#define thread_safe_increment(V,L) (V)++
-#define thread_safe_decrement(V,L) (V)--
-#define thread_safe_add(V,C,L) (V)+=(C)
-#define thread_safe_sub(V,C,L) (V)-=(C)
-#define statistic_increment(V,L) (V)++
-#define statistic_decrement(V,L) (V)--
-#define statistic_add(V,C,L) (V)+=(C)
-#define statistic_sub(V,C,L) (V)-=(C)
-#endif
-
-#ifdef HAVE_CHARSET_utf8
-#define MYSQL_UNIVERSAL_CLIENT_CHARSET "utf8"
-#else
-#define MYSQL_UNIVERSAL_CLIENT_CHARSET MYSQL_DEFAULT_CHARSET_NAME
-#endif
-
-#if defined(EMBEDDED_LIBRARY) && !defined(HAVE_EMBEDDED_PRIVILEGE_CONTROL)
-#define NO_EMBEDDED_ACCESS_CHECKS
-#endif
-
-#ifdef HAVE_DLOPEN
-#if defined(__WIN__)
-#define dlsym(lib, name) GetProcAddress((HMODULE)lib, name)
-#define dlopen(libname, unused) LoadLibraryEx(libname, NULL, 0)
-#define dlclose(lib) FreeLibrary((HMODULE)lib)
-#elif defined(HAVE_DLFCN_H)
-#include <dlfcn.h>
-#endif
-#endif
-
-/* FreeBSD 2.2.2 does not define RTLD_NOW) */
-#ifndef RTLD_NOW
-#define RTLD_NOW 1
-#endif
-
-#ifndef HAVE_DLERROR
-#define dlerror() ""
-#endif
-
-
-#ifndef __NETWARE__
-/*
- * Include standard definitions of operator new and delete.
- */
-#ifdef __cplusplus
-#include <new>
-#endif
-#else
-/*
- * Define placement versions of operator new and operator delete since
- * we don't have <new> when building for Netware.
- */
-#ifdef __cplusplus
-inline void *operator new(size_t, void *ptr) { return ptr; }
-inline void *operator new[](size_t, void *ptr) { return ptr; }
-inline void operator delete(void*, void*) { /* Do nothing */ }
-inline void operator delete[](void*, void*) { /* Do nothing */ }
-#endif
-#endif
-
-/* Length of decimal number represented by INT32. */
-#define MY_INT32_NUM_DECIMAL_DIGITS 11
-
-/* Length of decimal number represented by INT64. */
-#define MY_INT64_NUM_DECIMAL_DIGITS 21
-
-/* Define some useful general macros (should be done after all headers). */
-#if !defined(max)
-#define max(a, b) ((a) > (b) ? (a) : (b))
-#define min(a, b) ((a) < (b) ? (a) : (b))
-#endif
-/*
- Only Linux is known to need an explicit sync of the directory to make sure a
- file creation/deletion/renaming in(from,to) this directory durable.
-*/
-#ifdef TARGET_OS_LINUX
-#define NEED_EXPLICIT_SYNC_DIR 1
-#endif
-
-#if !defined(__cplusplus) && !defined(bool)
-#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
-
-#endif /* my_global_h */
diff --git a/lib/libmysql_win32/include/my_list.h b/lib/libmysql_win32/include/my_list.h
deleted file mode 100644
index 775b56587b..0000000000
--- a/lib/libmysql_win32/include/my_list.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Copyright (C) 2000 MySQL 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; version 2 of the License.
-
- 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 _list_h_
-#define _list_h_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct st_list {
- struct st_list *prev,*next;
- void *data;
-} LIST;
-
-typedef int (*list_walk_action)(void *,void *);
-
-extern LIST *list_add(LIST *root,LIST *element);
-extern LIST *list_delete(LIST *root,LIST *element);
-extern LIST *list_cons(void *data,LIST *root);
-extern LIST *list_reverse(LIST *root);
-extern void list_free(LIST *root,unsigned int free_data);
-extern unsigned int list_length(LIST *);
-extern int list_walk(LIST *,list_walk_action action,unsigned char * argument);
-
-#define list_rest(a) ((a)->next)
-#define list_push(a,b) (a)=list_cons((b),(a))
-#define list_pop(A) {LIST *old=(A); (A)=list_delete(old,old) ; my_free((unsigned char *) old,MYF(MY_FAE)); }
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/lib/libmysql_win32/include/my_net.h b/lib/libmysql_win32/include/my_net.h
deleted file mode 100644
index 3af79ea3db..0000000000
--- a/lib/libmysql_win32/include/my_net.h
+++ /dev/null
@@ -1,128 +0,0 @@
-/* Copyright (C) 2000 MySQL 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; version 2 of the License.
-
- 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 */
-
-/*
- thread safe version of some common functions:
- my_inet_ntoa
-
- This file is also used to make handling of sockets and ioctl()
- portable accross systems.
-
-*/
-
-#ifndef _my_net_h
-#define _my_net_h
-C_MODE_START
-
-#include <errno.h>
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#ifdef HAVE_ARPA_INET_H
-#include <arpa/inet.h>
-#endif
-#ifdef HAVE_POLL
-#include <sys/poll.h>
-#endif
-#ifdef HAVE_SYS_IOCTL_H
-#include <sys/ioctl.h>
-#endif
-
-#if !defined(__WIN__) && !defined(HAVE_BROKEN_NETINET_INCLUDES) && !defined(__BEOS__) && !defined(__NETWARE__)
-#include <netinet/in_systm.h>
-#include <netinet/in.h>
-#include <netinet/ip.h>
-#if !defined(alpha_linux_port)
-#include <netinet/tcp.h>
-#endif
-#endif
-
-#if defined(__WIN__)
-#define O_NONBLOCK 1 /* For emulation of fcntl() */
-
-/*
- SHUT_RDWR is called SD_BOTH in windows and
- is defined to 2 in winsock2.h
- #define SD_BOTH 0x02
-*/
-#define SHUT_RDWR 0x02
-
-#endif
-
-/*
- On OSes which don't have the in_addr_t, we guess that using uint32 is the best
- possible choice. We guess this from the fact that on HP-UX64bit & FreeBSD64bit
- & Solaris64bit, in_addr_t is equivalent to uint32. And on Linux32bit too.
-*/
-#ifndef HAVE_IN_ADDR_T
-#define in_addr_t uint32
-#endif
-
-/* On some operating systems (e.g. Solaris) INADDR_NONE is not defined */
-#ifndef INADDR_NONE
-#define INADDR_NONE -1 /* Error value from inet_addr */
-#endif
-
-/* Thread safe or portable version of some functions */
-
-void my_inet_ntoa(struct in_addr in, char *buf);
-
-/*
- Handling of gethostbyname_r()
-*/
-
-#if !defined(HPUX10)
-struct hostent;
-#endif /* HPUX */
-#if !defined(HAVE_GETHOSTBYNAME_R)
-struct hostent *my_gethostbyname_r(const char *name,
- struct hostent *result, char *buffer,
- int buflen, int *h_errnop);
-void my_gethostbyname_r_free();
-#elif defined(HAVE_PTHREAD_ATTR_CREATE) || defined(_AIX) || defined(HAVE_GETHOSTBYNAME_R_GLIBC2_STYLE)
-struct hostent *my_gethostbyname_r(const char *name,
- struct hostent *result, char *buffer,
- int buflen, int *h_errnop);
-#define my_gethostbyname_r_free()
-#if !defined(HAVE_GETHOSTBYNAME_R_GLIBC2_STYLE) && !defined(HPUX10)
-#define GETHOSTBYNAME_BUFF_SIZE sizeof(struct hostent_data)
-#endif /* !defined(HAVE_GETHOSTBYNAME_R_GLIBC2_STYLE) */
-
-#elif defined(HAVE_GETHOSTBYNAME_R_RETURN_INT)
-#define GETHOSTBYNAME_BUFF_SIZE sizeof(struct hostent_data)
-struct hostent *my_gethostbyname_r(const char *name,
- struct hostent *result, char *buffer,
- int buflen, int *h_errnop);
-#define my_gethostbyname_r_free()
-#else
-#define my_gethostbyname_r(A,B,C,D,E) gethostbyname_r((A),(B),(C),(D),(E))
-#define my_gethostbyname_r_free()
-#endif /* !defined(HAVE_GETHOSTBYNAME_R) */
-
-#ifndef GETHOSTBYNAME_BUFF_SIZE
-#define GETHOSTBYNAME_BUFF_SIZE 2048
-#endif
-
-/* On SCO you get a link error when refering to h_errno */
-#ifdef SCO
-#undef h_errno
-#define h_errno errno
-#endif
-
-C_MODE_END
-#endif
diff --git a/lib/libmysql_win32/include/my_no_pthread.h b/lib/libmysql_win32/include/my_no_pthread.h
deleted file mode 100644
index 511fac407d..0000000000
--- a/lib/libmysql_win32/include/my_no_pthread.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/* Copyright (C) 2000 MySQL 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; version 2 of the License.
-
- 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 */
-
-
-#if !defined(_my_no_pthread_h) && !defined(THREAD)
-#define _my_no_pthread_h
-
-
-/*
- This block is to access some thread-related type definitions
- even in builds which do not need thread functions,
- as some variables (based on these types) are declared
- even in non-threaded builds.
- Case in point: 'mf_keycache.c'
-*/
-#if defined(__WIN__)
-#else /* Normal threads */
-#include <pthread.h>
-
-#endif /* defined(__WIN__) */
-
-
-/*
- This undefs some pthread mutex locks when one isn't using threads
- to make thread safe code, that should also work in single thread
- environment, easier to use.
-*/
-#define pthread_mutex_init(A,B)
-#define pthread_mutex_lock(A)
-#define pthread_mutex_unlock(A)
-#define pthread_mutex_destroy(A)
-#define my_rwlock_init(A,B)
-#define rw_rdlock(A)
-#define rw_wrlock(A)
-#define rw_unlock(A)
-#define rwlock_destroy(A)
-
-typedef int my_pthread_once_t;
-#define MY_PTHREAD_ONCE_INIT 0
-#define MY_PTHREAD_ONCE_DONE 1
-
-#define my_pthread_once(C,F) do { \
- if (*(C) != MY_PTHREAD_ONCE_DONE) { F(); *(C)= MY_PTHREAD_ONCE_DONE; } \
- } while(0)
-
-#endif
diff --git a/lib/libmysql_win32/include/my_pthread.h b/lib/libmysql_win32/include/my_pthread.h
deleted file mode 100644
index e9256610ea..0000000000
--- a/lib/libmysql_win32/include/my_pthread.h
+++ /dev/null
@@ -1,779 +0,0 @@
-/* Copyright (C) 2000 MySQL 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; version 2 of the License.
-
- 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 */
-
-/* Defines to make different thread packages compatible */
-
-#ifndef _my_pthread_h
-#define _my_pthread_h
-
-#ifndef ETIME
-#define ETIME ETIMEDOUT /* For FreeBSD */
-#endif
-
-#ifdef __cplusplus
-#define EXTERNC extern "C"
-extern "C" {
-#else
-#define EXTERNC
-#endif /* __cplusplus */
-
-#if defined(__WIN__)
-typedef CRITICAL_SECTION pthread_mutex_t;
-typedef HANDLE pthread_t;
-typedef struct thread_attr {
- DWORD dwStackSize ;
- DWORD dwCreatingFlag ;
- int priority ;
-} pthread_attr_t ;
-
-typedef struct { int dummy; } pthread_condattr_t;
-
-/* Implementation of posix conditions */
-
-typedef struct st_pthread_link {
- DWORD thread_id;
- struct st_pthread_link *next;
-} pthread_link;
-
-typedef struct {
- uint32 waiting;
- CRITICAL_SECTION lock_waiting;
-
- enum {
- SIGNAL= 0,
- BROADCAST= 1,
- MAX_EVENTS= 2
- } EVENTS;
-
- HANDLE events[MAX_EVENTS];
- HANDLE broadcast_block_event;
-
-} pthread_cond_t;
-
-
-typedef int pthread_mutexattr_t;
-#define win_pthread_self my_thread_var->pthread_self
-#define pthread_self() win_pthread_self
-#define pthread_handler_t EXTERNC void * __cdecl
-typedef void * (__cdecl *pthread_handler)(void *);
-
-typedef volatile LONG my_pthread_once_t;
-#define MY_PTHREAD_ONCE_INIT 0
-#define MY_PTHREAD_ONCE_INPROGRESS 1
-#define MY_PTHREAD_ONCE_DONE 2
-
-/*
- Struct and macros to be used in combination with the
- windows implementation of pthread_cond_timedwait
-*/
-
-/*
- Declare a union to make sure FILETIME is properly aligned
- so it can be used directly as a 64 bit value. The value
- stored is in 100ns units.
- */
- union ft64 {
- FILETIME ft;
- __int64 i64;
- };
-struct timespec {
- union ft64 tv;
- /* The max timeout value in millisecond for pthread_cond_timedwait */
- long max_timeout_msec;
-};
-#define set_timespec(ABSTIME,SEC) { \
- GetSystemTimeAsFileTime(&((ABSTIME).tv.ft)); \
- (ABSTIME).tv.i64+= (__int64)(SEC)*10000000; \
- (ABSTIME).max_timeout_msec= (long)((SEC)*1000); \
-}
-#define set_timespec_nsec(ABSTIME,NSEC) { \
- GetSystemTimeAsFileTime(&((ABSTIME).tv.ft)); \
- (ABSTIME).tv.i64+= (__int64)(NSEC)/100; \
- (ABSTIME).max_timeout_msec= (long)((NSEC)/1000000); \
-}
-
-void win_pthread_init(void);
-int win_pthread_setspecific(void *A,void *B,uint length);
-int win_pthread_mutex_trylock(pthread_mutex_t *mutex);
-int pthread_create(pthread_t *,pthread_attr_t *,pthread_handler,void *);
-int pthread_cond_init(pthread_cond_t *cond, const pthread_condattr_t *attr);
-int pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex);
-int pthread_cond_timedwait(pthread_cond_t *cond, pthread_mutex_t *mutex,
- struct timespec *abstime);
-int pthread_cond_signal(pthread_cond_t *cond);
-int pthread_cond_broadcast(pthread_cond_t *cond);
-int pthread_cond_destroy(pthread_cond_t *cond);
-int pthread_attr_init(pthread_attr_t *connect_att);
-int pthread_attr_setstacksize(pthread_attr_t *connect_att,DWORD stack);
-int pthread_attr_setprio(pthread_attr_t *connect_att,int priority);
-int pthread_attr_destroy(pthread_attr_t *connect_att);
-int my_pthread_once(my_pthread_once_t *once_control,void (*init_routine)(void));
-struct tm *localtime_r(const time_t *timep,struct tm *tmp);
-struct tm *gmtime_r(const time_t *timep,struct tm *tmp);
-
-
-void pthread_exit(void *a); /* was #define pthread_exit(A) ExitThread(A)*/
-
-#define ETIMEDOUT 145 /* Win32 doesn't have this */
-#define getpid() GetCurrentThreadId()
-#define HAVE_LOCALTIME_R 1
-#define _REENTRANT 1
-#define HAVE_PTHREAD_ATTR_SETSTACKSIZE 1
-
-/*
- Windows has two ways to use thread local storage. The most efficient
- is using __declspec(thread), but that does not work properly when
- used in a .dll that is loaded at runtime, after program load. So for
- libmysql.dll and libmysqld.dll we define USE_TLS in order to use the
- TlsXxx() API instead, which works in all cases.
-*/
-#ifdef USE_TLS /* For LIBMYSQL.DLL */
-#undef SAFE_MUTEX /* This will cause conflicts */
-#define pthread_key(T,V) DWORD V
-#define pthread_key_create(A,B) ((*A=TlsAlloc())==0xFFFFFFFF)
-#define pthread_key_delete(A) TlsFree(A)
-#define pthread_getspecific(A) (TlsGetValue(A))
-#define my_pthread_getspecific(T,A) ((T) TlsGetValue(A))
-#define my_pthread_getspecific_ptr(T,V) ((T) TlsGetValue(V))
-#define my_pthread_setspecific_ptr(T,V) (!TlsSetValue((T),(V)))
-#define pthread_setspecific(A,B) (!TlsSetValue((A),(B)))
-#else
-#define pthread_key(T,V) __declspec(thread) T V
-#define pthread_key_create(A,B) pthread_dummy(0)
-#define pthread_key_delete(A) pthread_dummy(0)
-#define pthread_getspecific(A) (&(A))
-#define my_pthread_getspecific(T,A) (&(A))
-#define my_pthread_getspecific_ptr(T,V) (V)
-#define my_pthread_setspecific_ptr(T,V) ((T)=(V),0)
-#define pthread_setspecific(A,B) win_pthread_setspecific(&(A),(B),sizeof(A))
-#endif /* USE_TLS */
-
-#define pthread_equal(A,B) ((A) == (B))
-#define pthread_mutex_init(A,B) (InitializeCriticalSection(A),0)
-#define pthread_mutex_lock(A) (EnterCriticalSection(A),0)
-#define pthread_mutex_trylock(A) win_pthread_mutex_trylock((A))
-#define pthread_mutex_unlock(A) LeaveCriticalSection(A)
-#define pthread_mutex_destroy(A) DeleteCriticalSection(A)
-#define my_pthread_setprio(A,B) SetThreadPriority(GetCurrentThread(), (B))
-#define pthread_kill(A,B) pthread_dummy((A) ? 0 : ESRCH)
-
-#define pthread_join(A,B) (WaitForSingleObject((A), INFINITE) != WAIT_OBJECT_0)
-
-/* Dummy defines for easier code */
-#define pthread_attr_setdetachstate(A,B) pthread_dummy(0)
-#define my_pthread_attr_setprio(A,B) pthread_attr_setprio(A,B)
-#define pthread_attr_setscope(A,B)
-#define pthread_detach_this_thread()
-#define pthread_condattr_init(A)
-#define pthread_condattr_destroy(A)
-
-#define my_pthread_getprio(thread_id) pthread_dummy(0)
-
-#else /* Normal threads */
-
-#ifdef HAVE_rts_threads
-#define sigwait org_sigwait
-#include <signal.h>
-#undef sigwait
-#endif
-#include <pthread.h>
-#ifndef _REENTRANT
-#define _REENTRANT
-#endif
-#ifdef HAVE_THR_SETCONCURRENCY
-#include <thread.h> /* Probably solaris */
-#endif
-#ifdef HAVE_SCHED_H
-#include <sched.h>
-#endif
-#ifdef HAVE_SYNCH_H
-#include <synch.h>
-#endif
-
-#ifdef __NETWARE__
-void my_pthread_exit(void *status);
-#define pthread_exit(A) my_pthread_exit(A)
-#endif
-
-extern int my_pthread_getprio(pthread_t thread_id);
-
-#define pthread_key(T,V) pthread_key_t V
-#define my_pthread_getspecific_ptr(T,V) my_pthread_getspecific(T,(V))
-#define my_pthread_setspecific_ptr(T,V) pthread_setspecific(T,(void*) (V))
-#define pthread_detach_this_thread()
-#define pthread_handler_t EXTERNC void *
-typedef void *(* pthread_handler)(void *);
-
-#define my_pthread_once_t pthread_once_t
-#define MY_PTHREAD_ONCE_INIT PTHREAD_ONCE_INIT
-#define my_pthread_once(C,F) pthread_once(C,F)
-
-/* Test first for RTS or FSU threads */
-
-#if defined(PTHREAD_SCOPE_GLOBAL) && !defined(PTHREAD_SCOPE_SYSTEM)
-#define HAVE_rts_threads
-extern int my_pthread_create_detached;
-#define pthread_sigmask(A,B,C) sigprocmask((A),(B),(C))
-#define PTHREAD_CREATE_DETACHED &my_pthread_create_detached
-#define PTHREAD_SCOPE_SYSTEM PTHREAD_SCOPE_GLOBAL
-#define PTHREAD_SCOPE_PROCESS PTHREAD_SCOPE_LOCAL
-#define USE_ALARM_THREAD
-#endif /* defined(PTHREAD_SCOPE_GLOBAL) && !defined(PTHREAD_SCOPE_SYSTEM) */
-
-#if defined(_BSDI_VERSION) && _BSDI_VERSION < 199910
-int sigwait(sigset_t *set, int *sig);
-#endif
-
-#ifndef HAVE_NONPOSIX_SIGWAIT
-#define my_sigwait(A,B) sigwait((A),(B))
-#else
-int my_sigwait(const sigset_t *set,int *sig);
-#endif
-
-#ifdef HAVE_NONPOSIX_PTHREAD_MUTEX_INIT
-#ifndef SAFE_MUTEX
-#define pthread_mutex_init(a,b) my_pthread_mutex_init((a),(b))
-extern int my_pthread_mutex_init(pthread_mutex_t *mp,
- const pthread_mutexattr_t *attr);
-#endif /* SAFE_MUTEX */
-#define pthread_cond_init(a,b) my_pthread_cond_init((a),(b))
-extern int my_pthread_cond_init(pthread_cond_t *mp,
- const pthread_condattr_t *attr);
-#endif /* HAVE_NONPOSIX_PTHREAD_MUTEX_INIT */
-
-#if defined(HAVE_SIGTHREADMASK) && !defined(HAVE_PTHREAD_SIGMASK)
-#define pthread_sigmask(A,B,C) sigthreadmask((A),(B),(C))
-#endif
-
-#if !defined(HAVE_SIGWAIT) && !defined(HAVE_rts_threads) && !defined(sigwait) && !defined(alpha_linux_port) && !defined(HAVE_NONPOSIX_SIGWAIT) && !defined(HAVE_DEC_3_2_THREADS) && !defined(_AIX)
-int sigwait(sigset_t *setp, int *sigp); /* Use our implemention */
-#endif
-
-
-/*
- We define my_sigset() and use that instead of the system sigset() so that
- we can favor an implementation based on sigaction(). On some systems, such
- as Mac OS X, sigset() results in flags such as SA_RESTART being set, and
- we want to make sure that no such flags are set.
-*/
-#if defined(HAVE_SIGACTION) && !defined(my_sigset)
-#define my_sigset(A,B) do { struct sigaction l_s; sigset_t l_set; int l_rc; \
- DBUG_ASSERT((A) != 0); \
- sigemptyset(&l_set); \
- l_s.sa_handler = (B); \
- l_s.sa_mask = l_set; \
- l_s.sa_flags = 0; \
- l_rc= sigaction((A), &l_s, (struct sigaction *) NULL);\
- DBUG_ASSERT(l_rc == 0); \
- } while (0)
-#elif defined(HAVE_SIGSET) && !defined(my_sigset)
-#define my_sigset(A,B) sigset((A),(B))
-#elif !defined(my_sigset)
-#define my_sigset(A,B) signal((A),(B))
-#endif
-
-#ifndef my_pthread_setprio
-#if defined(HAVE_PTHREAD_SETPRIO_NP) /* FSU threads */
-#define my_pthread_setprio(A,B) pthread_setprio_np((A),(B))
-#elif defined(HAVE_PTHREAD_SETPRIO)
-#define my_pthread_setprio(A,B) pthread_setprio((A),(B))
-#elif defined(HAVE_PTHREAD_SETSCHEDPRIO)
-#define my_pthread_setprio(A,B) pthread_setschedprio((A),(B))
-#else
-extern void my_pthread_setprio(pthread_t thread_id,int prior);
-#endif
-#endif
-
-#ifndef my_pthread_attr_setprio
-#ifdef HAVE_PTHREAD_ATTR_SETPRIO
-#define my_pthread_attr_setprio(A,B) pthread_attr_setprio((A),(B))
-#else
-extern void my_pthread_attr_setprio(pthread_attr_t *attr, int priority);
-#endif
-#endif
-
-#if !defined(HAVE_PTHREAD_ATTR_SETSCOPE) || defined(HAVE_DEC_3_2_THREADS)
-#define pthread_attr_setscope(A,B)
-#undef HAVE_GETHOSTBYADDR_R /* No definition */
-#endif
-
-#if defined(HAVE_BROKEN_PTHREAD_COND_TIMEDWAIT) && !defined(SAFE_MUTEX)
-extern int my_pthread_cond_timedwait(pthread_cond_t *cond,
- pthread_mutex_t *mutex,
- struct timespec *abstime);
-#define pthread_cond_timedwait(A,B,C) my_pthread_cond_timedwait((A),(B),(C))
-#endif
-
-#if !defined( HAVE_NONPOSIX_PTHREAD_GETSPECIFIC)
-#define my_pthread_getspecific(A,B) ((A) pthread_getspecific(B))
-#else
-#define my_pthread_getspecific(A,B) ((A) my_pthread_getspecific_imp(B))
-void *my_pthread_getspecific_imp(pthread_key_t key);
-#endif
-
-#ifndef HAVE_LOCALTIME_R
-struct tm *localtime_r(const time_t *clock, struct tm *res);
-#endif
-
-#ifndef HAVE_GMTIME_R
-struct tm *gmtime_r(const time_t *clock, struct tm *res);
-#endif
-
-#ifdef HAVE_PTHREAD_CONDATTR_CREATE
-/* DCE threads on HPUX 10.20 */
-#define pthread_condattr_init pthread_condattr_create
-#define pthread_condattr_destroy pthread_condattr_delete
-#endif
-
-/* FSU THREADS */
-#if !defined(HAVE_PTHREAD_KEY_DELETE) && !defined(pthread_key_delete)
-#define pthread_key_delete(A) pthread_dummy(0)
-#endif
-
-#ifdef HAVE_CTHREADS_WRAPPER /* For MacOSX */
-#define pthread_cond_destroy(A) pthread_dummy(0)
-#define pthread_mutex_destroy(A) pthread_dummy(0)
-#define pthread_attr_delete(A) pthread_dummy(0)
-#define pthread_condattr_delete(A) pthread_dummy(0)
-#define pthread_attr_setstacksize(A,B) pthread_dummy(0)
-#define pthread_equal(A,B) ((A) == (B))
-#define pthread_cond_timedwait(a,b,c) pthread_cond_wait((a),(b))
-#define pthread_attr_init(A) pthread_attr_create(A)
-#define pthread_attr_destroy(A) pthread_attr_delete(A)
-#define pthread_attr_setdetachstate(A,B) pthread_dummy(0)
-#define pthread_create(A,B,C,D) pthread_create((A),*(B),(C),(D))
-#define pthread_sigmask(A,B,C) sigprocmask((A),(B),(C))
-#define pthread_kill(A,B) pthread_dummy((A) ? 0 : ESRCH)
-#undef pthread_detach_this_thread
-#define pthread_detach_this_thread() { pthread_t tmp=pthread_self() ; pthread_detach(&tmp); }
-#endif
-
-#ifdef HAVE_DARWIN5_THREADS
-#define pthread_sigmask(A,B,C) sigprocmask((A),(B),(C))
-#define pthread_kill(A,B) pthread_dummy((A) ? 0 : ESRCH)
-#define pthread_condattr_init(A) pthread_dummy(0)
-#define pthread_condattr_destroy(A) pthread_dummy(0)
-#undef pthread_detach_this_thread
-#define pthread_detach_this_thread() { pthread_t tmp=pthread_self() ; pthread_detach(tmp); }
-#endif
-
-#if ((defined(HAVE_PTHREAD_ATTR_CREATE) && !defined(HAVE_SIGWAIT)) || defined(HAVE_DEC_3_2_THREADS)) && !defined(HAVE_CTHREADS_WRAPPER)
-/* This is set on AIX_3_2 and Siemens unix (and DEC OSF/1 3.2 too) */
-#define pthread_key_create(A,B) \
- pthread_keycreate(A,(B) ?\
- (pthread_destructor_t) (B) :\
- (pthread_destructor_t) pthread_dummy)
-#define pthread_attr_init(A) pthread_attr_create(A)
-#define pthread_attr_destroy(A) pthread_attr_delete(A)
-#define pthread_attr_setdetachstate(A,B) pthread_dummy(0)
-#define pthread_create(A,B,C,D) pthread_create((A),*(B),(C),(D))
-#ifndef pthread_sigmask
-#define pthread_sigmask(A,B,C) sigprocmask((A),(B),(C))
-#endif
-#define pthread_kill(A,B) pthread_dummy((A) ? 0 : ESRCH)
-#undef pthread_detach_this_thread
-#define pthread_detach_this_thread() { pthread_t tmp=pthread_self() ; pthread_detach(&tmp); }
-#elif !defined(__NETWARE__) /* HAVE_PTHREAD_ATTR_CREATE && !HAVE_SIGWAIT */
-#define HAVE_PTHREAD_KILL
-#endif
-
-#endif /* defined(__WIN__) */
-
-#if defined(HPUX10) && !defined(DONT_REMAP_PTHREAD_FUNCTIONS)
-#undef pthread_cond_timedwait
-#define pthread_cond_timedwait(a,b,c) my_pthread_cond_timedwait((a),(b),(c))
-int my_pthread_cond_timedwait(pthread_cond_t *cond, pthread_mutex_t *mutex,
- struct timespec *abstime);
-#endif
-
-#if defined(HPUX10)
-#define pthread_attr_getstacksize(A,B) my_pthread_attr_getstacksize(A,B)
-void my_pthread_attr_getstacksize(pthread_attr_t *attrib, size_t *size);
-#endif
-
-#if defined(HAVE_POSIX1003_4a_MUTEX) && !defined(DONT_REMAP_PTHREAD_FUNCTIONS)
-#undef pthread_mutex_trylock
-#define pthread_mutex_trylock(a) my_pthread_mutex_trylock((a))
-int my_pthread_mutex_trylock(pthread_mutex_t *mutex);
-#endif
-
-/*
- The defines set_timespec and set_timespec_nsec should be used
- for calculating an absolute time at which
- pthread_cond_timedwait should timeout
-*/
-#ifdef HAVE_TIMESPEC_TS_SEC
-#ifndef set_timespec
-#define set_timespec(ABSTIME,SEC) \
-{ \
- (ABSTIME).ts_sec=time(0) + (time_t) (SEC); \
- (ABSTIME).ts_nsec=0; \
-}
-#endif /* !set_timespec */
-#ifndef set_timespec_nsec
-#define set_timespec_nsec(ABSTIME,NSEC) \
-{ \
- ulonglong now= my_getsystime() + (NSEC/100); \
- (ABSTIME).ts_sec= (now / ULL(10000000)); \
- (ABSTIME).ts_nsec= (now % ULL(10000000) * 100 + ((NSEC) % 100)); \
-}
-#endif /* !set_timespec_nsec */
-#else
-#ifndef set_timespec
-#define set_timespec(ABSTIME,SEC) \
-{\
- struct timeval tv;\
- gettimeofday(&tv,0);\
- (ABSTIME).tv_sec=tv.tv_sec+(time_t) (SEC);\
- (ABSTIME).tv_nsec=tv.tv_usec*1000;\
-}
-#endif /* !set_timespec */
-#ifndef set_timespec_nsec
-#define set_timespec_nsec(ABSTIME,NSEC) \
-{\
- ulonglong now= my_getsystime() + (NSEC/100); \
- (ABSTIME).tv_sec= (time_t) (now / ULL(10000000)); \
- (ABSTIME).tv_nsec= (long) (now % ULL(10000000) * 100 + ((NSEC) % 100)); \
-}
-#endif /* !set_timespec_nsec */
-#endif /* HAVE_TIMESPEC_TS_SEC */
-
- /* safe_mutex adds checking to mutex for easier debugging */
-
-#if defined(__NETWARE__) && !defined(SAFE_MUTEX_DETECT_DESTROY)
-#define SAFE_MUTEX_DETECT_DESTROY
-#endif
-
-typedef struct st_safe_mutex_t
-{
- pthread_mutex_t global,mutex;
- const char *file;
- uint line,count;
- pthread_t thread;
-#ifdef SAFE_MUTEX_DETECT_DESTROY
- struct st_safe_mutex_info_t *info; /* to track destroying of mutexes */
-#endif
-} safe_mutex_t;
-
-#ifdef SAFE_MUTEX_DETECT_DESTROY
-/*
- Used to track the destroying of mutexes. This needs to be a seperate
- structure because the safe_mutex_t structure could be freed before
- the mutexes are destroyed.
-*/
-
-typedef struct st_safe_mutex_info_t
-{
- struct st_safe_mutex_info_t *next;
- struct st_safe_mutex_info_t *prev;
- const char *init_file;
- uint32 init_line;
-} safe_mutex_info_t;
-#endif /* SAFE_MUTEX_DETECT_DESTROY */
-
-int safe_mutex_init(safe_mutex_t *mp, const pthread_mutexattr_t *attr,
- const char *file, uint line);
-int safe_mutex_lock(safe_mutex_t *mp, my_bool try_lock, const char *file, uint line);
-int safe_mutex_unlock(safe_mutex_t *mp,const char *file, uint line);
-int safe_mutex_destroy(safe_mutex_t *mp,const char *file, uint line);
-int safe_cond_wait(pthread_cond_t *cond, safe_mutex_t *mp,const char *file,
- uint line);
-int safe_cond_timedwait(pthread_cond_t *cond, safe_mutex_t *mp,
- struct timespec *abstime, const char *file, uint line);
-void safe_mutex_global_init(void);
-void safe_mutex_end(FILE *file);
-
- /* Wrappers if safe mutex is actually used */
-#ifdef SAFE_MUTEX
-#undef pthread_mutex_init
-#undef pthread_mutex_lock
-#undef pthread_mutex_unlock
-#undef pthread_mutex_destroy
-#undef pthread_mutex_wait
-#undef pthread_mutex_timedwait
-#undef pthread_mutex_t
-#undef pthread_cond_wait
-#undef pthread_cond_timedwait
-#undef pthread_mutex_trylock
-#define pthread_mutex_init(A,B) safe_mutex_init((A),(B),__FILE__,__LINE__)
-#define pthread_mutex_lock(A) safe_mutex_lock((A), FALSE, __FILE__, __LINE__)
-#define pthread_mutex_unlock(A) safe_mutex_unlock((A),__FILE__,__LINE__)
-#define pthread_mutex_destroy(A) safe_mutex_destroy((A),__FILE__,__LINE__)
-#define pthread_cond_wait(A,B) safe_cond_wait((A),(B),__FILE__,__LINE__)
-#define pthread_cond_timedwait(A,B,C) safe_cond_timedwait((A),(B),(C),__FILE__,__LINE__)
-#define pthread_mutex_trylock(A) safe_mutex_lock((A), TRUE, __FILE__, __LINE__)
-#define pthread_mutex_t safe_mutex_t
-#define safe_mutex_assert_owner(mp) \
- DBUG_ASSERT((mp)->count > 0 && \
- pthread_equal(pthread_self(), (mp)->thread))
-#define safe_mutex_assert_not_owner(mp) \
- DBUG_ASSERT(! (mp)->count || \
- ! pthread_equal(pthread_self(), (mp)->thread))
-#else
-#define safe_mutex_assert_owner(mp)
-#define safe_mutex_assert_not_owner(mp)
-#endif /* SAFE_MUTEX */
-
-#if defined(MY_PTHREAD_FASTMUTEX) && !defined(SAFE_MUTEX)
-typedef struct st_my_pthread_fastmutex_t
-{
- pthread_mutex_t mutex;
- uint spins;
- uint rng_state;
-} my_pthread_fastmutex_t;
-void fastmutex_global_init(void);
-
-int my_pthread_fastmutex_init(my_pthread_fastmutex_t *mp,
- const pthread_mutexattr_t *attr);
-int my_pthread_fastmutex_lock(my_pthread_fastmutex_t *mp);
-
-#undef pthread_mutex_init
-#undef pthread_mutex_lock
-#undef pthread_mutex_unlock
-#undef pthread_mutex_destroy
-#undef pthread_mutex_wait
-#undef pthread_mutex_timedwait
-#undef pthread_mutex_t
-#undef pthread_cond_wait
-#undef pthread_cond_timedwait
-#undef pthread_mutex_trylock
-#define pthread_mutex_init(A,B) my_pthread_fastmutex_init((A),(B))
-#define pthread_mutex_lock(A) my_pthread_fastmutex_lock(A)
-#define pthread_mutex_unlock(A) pthread_mutex_unlock(&(A)->mutex)
-#define pthread_mutex_destroy(A) pthread_mutex_destroy(&(A)->mutex)
-#define pthread_cond_wait(A,B) pthread_cond_wait((A),&(B)->mutex)
-#define pthread_cond_timedwait(A,B,C) pthread_cond_timedwait((A),&(B)->mutex,(C))
-#define pthread_mutex_trylock(A) pthread_mutex_trylock(&(A)->mutex)
-#define pthread_mutex_t my_pthread_fastmutex_t
-#endif /* defined(MY_PTHREAD_FASTMUTEX) && !defined(SAFE_MUTEX) */
-
- /* READ-WRITE thread locking */
-
-#ifdef HAVE_BROKEN_RWLOCK /* For OpenUnix */
-#undef HAVE_PTHREAD_RWLOCK_RDLOCK
-#undef HAVE_RWLOCK_INIT
-#undef HAVE_RWLOCK_T
-#endif
-
-#if defined(USE_MUTEX_INSTEAD_OF_RW_LOCKS)
-/* use these defs for simple mutex locking */
-#define rw_lock_t pthread_mutex_t
-#define my_rwlock_init(A,B) pthread_mutex_init((A),(B))
-#define rw_rdlock(A) pthread_mutex_lock((A))
-#define rw_wrlock(A) pthread_mutex_lock((A))
-#define rw_tryrdlock(A) pthread_mutex_trylock((A))
-#define rw_trywrlock(A) pthread_mutex_trylock((A))
-#define rw_unlock(A) pthread_mutex_unlock((A))
-#define rwlock_destroy(A) pthread_mutex_destroy((A))
-#elif defined(HAVE_PTHREAD_RWLOCK_RDLOCK)
-#define rw_lock_t pthread_rwlock_t
-#define my_rwlock_init(A,B) pthread_rwlock_init((A),(B))
-#define rw_rdlock(A) pthread_rwlock_rdlock(A)
-#define rw_wrlock(A) pthread_rwlock_wrlock(A)
-#define rw_tryrdlock(A) pthread_rwlock_tryrdlock((A))
-#define rw_trywrlock(A) pthread_rwlock_trywrlock((A))
-#define rw_unlock(A) pthread_rwlock_unlock(A)
-#define rwlock_destroy(A) pthread_rwlock_destroy(A)
-#elif defined(HAVE_RWLOCK_INIT)
-#ifdef HAVE_RWLOCK_T /* For example Solaris 2.6-> */
-#define rw_lock_t rwlock_t
-#endif
-#define my_rwlock_init(A,B) rwlock_init((A),USYNC_THREAD,0)
-#else
-/* Use our own version of read/write locks */
-typedef struct _my_rw_lock_t {
- pthread_mutex_t lock; /* lock for structure */
- pthread_cond_t readers; /* waiting readers */
- pthread_cond_t writers; /* waiting writers */
- int state; /* -1:writer,0:free,>0:readers */
- int waiters; /* number of waiting writers */
-} my_rw_lock_t;
-
-#define rw_lock_t my_rw_lock_t
-#define rw_rdlock(A) my_rw_rdlock((A))
-#define rw_wrlock(A) my_rw_wrlock((A))
-#define rw_tryrdlock(A) my_rw_tryrdlock((A))
-#define rw_trywrlock(A) my_rw_trywrlock((A))
-#define rw_unlock(A) my_rw_unlock((A))
-#define rwlock_destroy(A) my_rwlock_destroy((A))
-
-extern int my_rwlock_init(my_rw_lock_t *, void *);
-extern int my_rwlock_destroy(my_rw_lock_t *);
-extern int my_rw_rdlock(my_rw_lock_t *);
-extern int my_rw_wrlock(my_rw_lock_t *);
-extern int my_rw_unlock(my_rw_lock_t *);
-extern int my_rw_tryrdlock(my_rw_lock_t *);
-extern int my_rw_trywrlock(my_rw_lock_t *);
-#endif /* USE_MUTEX_INSTEAD_OF_RW_LOCKS */
-
-#define GETHOSTBYADDR_BUFF_SIZE 2048
-
-#ifndef HAVE_THR_SETCONCURRENCY
-#define thr_setconcurrency(A) pthread_dummy(0)
-#endif
-#if !defined(HAVE_PTHREAD_ATTR_SETSTACKSIZE) && ! defined(pthread_attr_setstacksize)
-#define pthread_attr_setstacksize(A,B) pthread_dummy(0)
-#endif
-
-/* Define mutex types, see my_thr_init.c */
-#define MY_MUTEX_INIT_SLOW NULL
-#ifdef PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP
-extern pthread_mutexattr_t my_fast_mutexattr;
-#define MY_MUTEX_INIT_FAST &my_fast_mutexattr
-#else
-#define MY_MUTEX_INIT_FAST NULL
-#endif
-#ifdef PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP
-extern pthread_mutexattr_t my_errorcheck_mutexattr;
-#define MY_MUTEX_INIT_ERRCHK &my_errorcheck_mutexattr
-#else
-#define MY_MUTEX_INIT_ERRCHK NULL
-#endif
-
-#ifndef ESRCH
-/* Define it to something */
-#define ESRCH 1
-#endif
-
-typedef ulong my_thread_id;
-
-extern my_bool my_thread_global_init(void);
-extern void my_thread_global_end(void);
-extern my_bool my_thread_init(void);
-extern void my_thread_end(void);
-extern const char *my_thread_name(void);
-extern my_thread_id my_thread_dbug_id(void);
-extern int pthread_no_free(void *);
-extern int pthread_dummy(int);
-
-/* All thread specific variables are in the following struct */
-
-#define THREAD_NAME_SIZE 10
-#ifndef DEFAULT_THREAD_STACK
-#if SIZEOF_CHARP > 4
-/*
- MySQL can survive with 32K, but some glibc libraries require > 128K stack
- To resolve hostnames. Also recursive stored procedures needs stack.
-*/
-#define DEFAULT_THREAD_STACK (256*1024L)
-#else
-#define DEFAULT_THREAD_STACK (192*1024)
-#endif
-#endif
-
-struct st_my_thread_var
-{
- int thr_errno;
- pthread_cond_t suspend;
- pthread_mutex_t mutex;
- pthread_mutex_t * volatile current_mutex;
- pthread_cond_t * volatile current_cond;
- pthread_t pthread_self;
- my_thread_id id;
- int cmp_length;
- int volatile abort;
- my_bool init;
- struct st_my_thread_var *next,**prev;
- void *opt_info;
-#ifndef DBUG_OFF
- void *dbug;
- char name[THREAD_NAME_SIZE+1];
-#endif
-};
-
-extern struct st_my_thread_var *_my_thread_var(void) __attribute__ ((const));
-extern uint my_thread_end_wait_time;
-#define my_thread_var (_my_thread_var())
-#define my_errno my_thread_var->thr_errno
-/*
- Keep track of shutdown,signal, and main threads so that my_end() will not
- report errors with them
-*/
-
-/* Which kind of thread library is in use */
-
-#define THD_LIB_OTHER 1
-#define THD_LIB_NPTL 2
-#define THD_LIB_LT 4
-
-extern uint thd_lib_detected;
-
-/*
- thread_safe_xxx functions are for critical statistic or counters.
- The implementation is guaranteed to be thread safe, on all platforms.
- Note that the calling code should *not* assume the counter is protected
- by the mutex given, as the implementation of these helpers may change
- to use my_atomic operations instead.
-*/
-
-/*
- Warning:
- When compiling without threads, this file is not included.
- See the *other* declarations of thread_safe_xxx in include/my_global.h
-
- Second warning:
- See include/config-win.h, for yet another implementation.
-*/
-#ifdef THREAD
-#ifndef thread_safe_increment
-#define thread_safe_increment(V,L) \
- (pthread_mutex_lock((L)), (V)++, pthread_mutex_unlock((L)))
-#define thread_safe_decrement(V,L) \
- (pthread_mutex_lock((L)), (V)--, pthread_mutex_unlock((L)))
-#endif
-
-#ifndef thread_safe_add
-#define thread_safe_add(V,C,L) \
- (pthread_mutex_lock((L)), (V)+=(C), pthread_mutex_unlock((L)))
-#define thread_safe_sub(V,C,L) \
- (pthread_mutex_lock((L)), (V)-=(C), pthread_mutex_unlock((L)))
-#endif
-#endif
-
-/*
- statistics_xxx functions are for non critical statistic,
- maintained in global variables.
- When compiling with SAFE_STATISTICS:
- - race conditions can not occur.
- - some locking occurs, which may cause performance degradation.
-
- When compiling without SAFE_STATISTICS:
- - race conditions can occur, making the result slightly inaccurate.
- - the lock given is not honored.
-*/
-#ifdef SAFE_STATISTICS
-#define statistic_increment(V,L) thread_safe_increment((V),(L))
-#define statistic_decrement(V,L) thread_safe_decrement((V),(L))
-#define statistic_add(V,C,L) thread_safe_add((V),(C),(L))
-#define statistic_sub(V,C,L) thread_safe_sub((V),(C),(L))
-#else
-#define statistic_decrement(V,L) (V)--
-#define statistic_increment(V,L) (V)++
-#define statistic_add(V,C,L) (V)+=(C)
-#define statistic_sub(V,C,L) (V)-=(C)
-#endif /* SAFE_STATISTICS */
-
-/*
- No locking needed, the counter is owned by the thread
-*/
-#define status_var_increment(V) (V)++
-#define status_var_decrement(V) (V)--
-#define status_var_add(V,C) (V)+=(C)
-#define status_var_sub(V,C) (V)-=(C)
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* _my_ptread_h */
diff --git a/lib/libmysql_win32/include/my_sys.h b/lib/libmysql_win32/include/my_sys.h
deleted file mode 100644
index a4ff5c30de..0000000000
--- a/lib/libmysql_win32/include/my_sys.h
+++ /dev/null
@@ -1,994 +0,0 @@
-/* Copyright (C) 2000-2003 MySQL 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; version 2 of the License.
-
- 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 _my_sys_h
-#define _my_sys_h
-C_MODE_START
-
-#ifdef HAVE_AIOWAIT
-#include <sys/asynch.h> /* Used by record-cache */
-typedef struct my_aio_result {
- aio_result_t result;
- int pending;
-} my_aio_result;
-#endif
-
-#ifndef THREAD
-extern int NEAR my_errno; /* Last error in mysys */
-#else
-#include <my_pthread.h>
-#endif
-
-#include <m_ctype.h> /* for CHARSET_INFO */
-#include <stdarg.h>
-#include <typelib.h>
-
-#define MYSYS_PROGRAM_USES_CURSES() { error_handler_hook = my_message_curses; mysys_uses_curses=1; }
-#define MYSYS_PROGRAM_DONT_USE_CURSES() { error_handler_hook = my_message_no_curses; mysys_uses_curses=0;}
-#define MY_INIT(name); { my_progname= name; my_init(); }
-
-#define MY_FILE_ERROR ((size_t) -1)
-
- /* General bitmaps for my_func's */
-#define MY_FFNF 1 /* Fatal if file not found */
-#define MY_FNABP 2 /* Fatal if not all bytes read/writen */
-#define MY_NABP 4 /* Error if not all bytes read/writen */
-#define MY_FAE 8 /* Fatal if any error */
-#define MY_WME 16 /* Write message on error */
-#define MY_WAIT_IF_FULL 32 /* Wait and try again if disk full error */
-#define MY_IGNORE_BADFD 32 /* my_sync: ignore 'bad descriptor' errors */
-#define MY_SYNC_DIR 1024 /* my_create/delete/rename: sync directory */
-#define MY_RAID 64 /* Support for RAID */
-#define MY_FULL_IO 512 /* For my_read - loop intil I/O is complete */
-#define MY_DONT_CHECK_FILESIZE 128 /* Option to init_io_cache() */
-#define MY_LINK_WARNING 32 /* my_redel() gives warning if links */
-#define MY_COPYTIME 64 /* my_redel() copys time */
-#define MY_DELETE_OLD 256 /* my_create_with_symlink() */
-#define MY_RESOLVE_LINK 128 /* my_realpath(); Only resolve links */
-#define MY_HOLD_ORIGINAL_MODES 128 /* my_copy() holds to file modes */
-#define MY_REDEL_MAKE_BACKUP 256
-#define MY_SEEK_NOT_DONE 32 /* my_lock may have to do a seek */
-#define MY_DONT_WAIT 64 /* my_lock() don't wait if can't lock */
-#define MY_ZEROFILL 32 /* my_malloc(), fill array with zero */
-#define MY_ALLOW_ZERO_PTR 64 /* my_realloc() ; zero ptr -> malloc */
-#define MY_FREE_ON_ERROR 128 /* my_realloc() ; Free old ptr on error */
-#define MY_HOLD_ON_ERROR 256 /* my_realloc() ; Return old ptr on error */
-#define MY_DONT_OVERWRITE_FILE 1024 /* my_copy: Don't overwrite file */
-#define MY_THREADSAFE 2048 /* my_seek(): lock fd mutex */
-#define MY_SYNC 4096 /* my_copy(): sync dst file */
-
-#define MY_CHECK_ERROR 1 /* Params to my_end; Check open-close */
-#define MY_GIVE_INFO 2 /* Give time info about process*/
-#define MY_DONT_FREE_DBUG 4 /* Do not call DBUG_END() in my_end() */
-
-#define MY_REMOVE_NONE 0 /* Params for modify_defaults_file */
-#define MY_REMOVE_OPTION 1
-#define MY_REMOVE_SECTION 2
-
-#define ME_HIGHBYTE 8 /* Shift for colours */
-#define ME_NOCUR 1 /* Don't use curses message */
-#define ME_OLDWIN 2 /* Use old window */
-#define ME_BELL 4 /* Ring bell then printing message */
-#define ME_HOLDTANG 8 /* Don't delete last keys */
-#define ME_WAITTOT 16 /* Wait for errtime secs of for a action */
-#define ME_WAITTANG 32 /* Wait for a user action */
-#define ME_NOREFRESH 64 /* Dont refresh screen */
-#define ME_NOINPUT 128 /* Dont use the input libary */
-#define ME_COLOUR1 ((1 << ME_HIGHBYTE)) /* Possibly error-colours */
-#define ME_COLOUR2 ((2 << ME_HIGHBYTE))
-#define ME_COLOUR3 ((3 << ME_HIGHBYTE))
-#define ME_FATALERROR 1024 /* Fatal statement error */
-#define ME_NO_WARNING_FOR_ERROR 2048 /* Don't push a warning for error */
-#define ME_NO_SP_HANDLER 4096 /* Don't call stored routine error handlers */
-
- /* Bits in last argument to fn_format */
-#define MY_REPLACE_DIR 1 /* replace dir in name with 'dir' */
-#define MY_REPLACE_EXT 2 /* replace extension with 'ext' */
-#define MY_UNPACK_FILENAME 4 /* Unpack name (~ -> home) */
-#define MY_PACK_FILENAME 8 /* Pack name (home -> ~) */
-#define MY_RESOLVE_SYMLINKS 16 /* Resolve all symbolic links */
-#define MY_RETURN_REAL_PATH 32 /* return full path for file */
-#define MY_SAFE_PATH 64 /* Return NULL if too long path */
-#define MY_RELATIVE_PATH 128 /* name is relative to 'dir' */
-#define MY_APPEND_EXT 256 /* add 'ext' as additional extension*/
-
-
- /* My seek flags */
-#define MY_SEEK_SET 0
-#define MY_SEEK_CUR 1
-#define MY_SEEK_END 2
-
- /* Some constants */
-#define MY_WAIT_FOR_USER_TO_FIX_PANIC 60 /* in seconds */
-#define MY_WAIT_GIVE_USER_A_MESSAGE 10 /* Every 10 times of prev */
-#define MIN_COMPRESS_LENGTH 50 /* Don't compress small bl. */
-#define DFLT_INIT_HITS 3
-
- /* root_alloc flags */
-#define MY_KEEP_PREALLOC 1
-#define MY_MARK_BLOCKS_FREE 2 /* move used to free list and reuse them */
-
- /* Internal error numbers (for assembler functions) */
-#define MY_ERRNO_EDOM 33
-#define MY_ERRNO_ERANGE 34
-
- /* Bits for get_date timeflag */
-#define GETDATE_DATE_TIME 1
-#define GETDATE_SHORT_DATE 2
-#define GETDATE_HHMMSSTIME 4
-#define GETDATE_GMT 8
-#define GETDATE_FIXEDLENGTH 16
-
- /* defines when allocating data */
-#ifdef SAFEMALLOC
-#define my_malloc(SZ,FLAG) _mymalloc((SZ), __FILE__, __LINE__, FLAG )
-#define my_malloc_ci(SZ,FLAG) _mymalloc((SZ), sFile, uLine, FLAG )
-#define my_realloc(PTR,SZ,FLAG) _myrealloc((PTR), (SZ), __FILE__, __LINE__, FLAG )
-#define my_checkmalloc() _sanity( __FILE__, __LINE__ )
-#define my_free(PTR,FLAG) _myfree((PTR), __FILE__, __LINE__,FLAG)
-#define my_memdup(A,B,C) _my_memdup((A),(B), __FILE__,__LINE__,C)
-#define my_strdup(A,C) _my_strdup((A), __FILE__,__LINE__,C)
-#define my_strndup(A,B,C) _my_strndup((A),(B),__FILE__,__LINE__,C)
-#define TRASH(A,B) bfill(A, B, 0x8F)
-#define QUICK_SAFEMALLOC sf_malloc_quick=1
-#define NORMAL_SAFEMALLOC sf_malloc_quick=0
-extern uint sf_malloc_prehunc,sf_malloc_endhunc,sf_malloc_quick;
-extern ulonglong sf_malloc_mem_limit;
-
-#define CALLER_INFO_PROTO , const char *sFile, uint uLine
-#define CALLER_INFO , __FILE__, __LINE__
-#define ORIG_CALLER_INFO , sFile, uLine
-#else
-#define my_checkmalloc()
-#undef TERMINATE
-#define TERMINATE(A,B) {}
-#define QUICK_SAFEMALLOC
-#define NORMAL_SAFEMALLOC
-extern void *my_malloc(size_t Size,myf MyFlags);
-#define my_malloc_ci(SZ,FLAG) my_malloc( SZ, FLAG )
-extern void *my_realloc(void *oldpoint, size_t Size, myf MyFlags);
-extern void my_no_flags_free(void *ptr);
-extern void *my_memdup(const void *from,size_t length,myf MyFlags);
-extern char *my_strdup(const char *from,myf MyFlags);
-extern char *my_strndup(const char *from, size_t length,
- myf MyFlags);
-/* we do use FG (as a no-op) in below so that a typo on FG is caught */
-#define my_free(PTR,FG) ((void)FG,my_no_flags_free(PTR))
-#define CALLER_INFO_PROTO /* nothing */
-#define CALLER_INFO /* nothing */
-#define ORIG_CALLER_INFO /* nothing */
-#define TRASH(A,B) /* nothing */
-#endif
-
-#if defined(ENABLED_DEBUG_SYNC)
-extern void (*debug_sync_C_callback_ptr)(const char *, size_t);
-#define DEBUG_SYNC_C(_sync_point_name_) do { \
- if (debug_sync_C_callback_ptr != NULL) \
- (*debug_sync_C_callback_ptr)(STRING_WITH_LEN(_sync_point_name_)); } \
- while(0)
-#else
-#define DEBUG_SYNC_C(_sync_point_name_)
-#endif /* defined(ENABLED_DEBUG_SYNC) */
-
-#ifdef HAVE_LARGE_PAGES
-extern uint my_get_large_page_size(void);
-extern uchar * my_large_malloc(size_t size, myf my_flags);
-extern void my_large_free(uchar * ptr, myf my_flags);
-#else
-#define my_get_large_page_size() (0)
-#define my_large_malloc(A,B) my_malloc_lock((A),(B))
-#define my_large_free(A,B) my_free_lock((A),(B))
-#endif /* HAVE_LARGE_PAGES */
-
-#ifdef HAVE_ALLOCA
-#if defined(_AIX) && !defined(__GNUC__) && !defined(_AIX43)
-#pragma alloca
-#endif /* _AIX */
-#if defined(__MWERKS__)
-#undef alloca
-#define alloca _alloca
-#endif /* __MWERKS__ */
-#if defined(__GNUC__) && !defined(HAVE_ALLOCA_H) && ! defined(alloca)
-#define alloca __builtin_alloca
-#endif /* GNUC */
-#define my_alloca(SZ) alloca((size_t) (SZ))
-#define my_afree(PTR) {}
-#else
-#define my_alloca(SZ) my_malloc(SZ,MYF(0))
-#define my_afree(PTR) my_free(PTR,MYF(MY_WME))
-#endif /* HAVE_ALLOCA */
-
-#ifndef errno /* did we already get it? */
-#ifdef HAVE_ERRNO_AS_DEFINE
-#include <errno.h> /* errno is a define */
-#else
-extern int errno; /* declare errno */
-#endif
-#endif /* #ifndef errno */
-extern char *home_dir; /* Home directory for user */
-extern const char *my_progname; /* program-name (printed in errors) */
-extern char NEAR curr_dir[]; /* Current directory for user */
-extern int (*error_handler_hook)(uint my_err, const char *str,myf MyFlags);
-extern int (*fatal_error_handler_hook)(uint my_err, const char *str,
- myf MyFlags);
-extern uint my_file_limit;
-extern ulong my_thread_stack_size;
-
-#ifdef HAVE_LARGE_PAGES
-extern my_bool my_use_large_pages;
-extern uint my_large_page_size;
-#endif
-
-/* charsets */
-extern MYSQL_PLUGIN_IMPORT CHARSET_INFO *default_charset_info;
-extern MYSQL_PLUGIN_IMPORT CHARSET_INFO *all_charsets[256];
-extern CHARSET_INFO compiled_charsets[];
-
-/* statistics */
-extern ulong my_file_opened,my_stream_opened, my_tmp_file_created;
-extern ulong my_file_total_opened;
-extern uint mysys_usage_id;
-extern my_bool my_init_done;
-
- /* Point to current my_message() */
-extern void (*my_sigtstp_cleanup)(void),
- /* Executed before jump to shell */
- (*my_sigtstp_restart)(void),
- (*my_abort_hook)(int);
- /* Executed when comming from shell */
-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 */
-extern my_bool NEAR mysys_uses_curses, my_use_symdir;
-extern size_t sf_malloc_cur_memory, sf_malloc_max_memory;
-
-extern ulong my_default_record_cache_size;
-extern my_bool NEAR my_disable_locking,NEAR my_disable_async_io,
- NEAR my_disable_flush_key_blocks, NEAR my_disable_symlinks;
-extern char wild_many,wild_one,wild_prefix;
-extern const char *charsets_dir;
-/* from default.c */
-extern char *my_defaults_extra_file;
-extern const char *my_defaults_group_suffix;
-extern const char *my_defaults_file;
-
-extern my_bool timed_mutexes;
-
-typedef struct wild_file_pack /* Struct to hold info when selecting files */
-{
- uint wilds; /* How many wildcards */
- uint not_pos; /* Start of not-theese-files */
- char * *wild; /* Pointer to wildcards */
-} WF_PACK;
-
-enum loglevel {
- ERROR_LEVEL,
- WARNING_LEVEL,
- INFORMATION_LEVEL
-};
-
-enum cache_type
-{
- TYPE_NOT_SET= 0, READ_CACHE, WRITE_CACHE,
- SEQ_READ_APPEND /* sequential read or append */,
- READ_FIFO, READ_NET,WRITE_NET};
-
-enum flush_type
-{
- FLUSH_KEEP, /* flush block and keep it in the cache */
- FLUSH_RELEASE, /* flush block and remove it from the cache */
- FLUSH_IGNORE_CHANGED, /* remove block from the cache */
- /*
- As my_disable_flush_pagecache_blocks is always 0, the following option
- is strictly equivalent to FLUSH_KEEP
- */
- FLUSH_FORCE_WRITE
-};
-
-typedef struct st_record_cache /* Used when cacheing records */
-{
- File file;
- int rc_seek,error,inited;
- uint rc_length,read_length,reclength;
- my_off_t rc_record_pos,end_of_file;
- uchar *rc_buff,*rc_buff2,*rc_pos,*rc_end,*rc_request_pos;
-#ifdef HAVE_AIOWAIT
- int use_async_io;
- my_aio_result aio_result;
-#endif
- enum cache_type type;
-} RECORD_CACHE;
-
-enum file_type
-{
- UNOPEN = 0, FILE_BY_OPEN, FILE_BY_CREATE, STREAM_BY_FOPEN, STREAM_BY_FDOPEN,
- FILE_BY_MKSTEMP, FILE_BY_DUP
-};
-
-struct st_my_file_info
-{
- char * name;
- enum file_type type;
-#if defined(THREAD) && !defined(HAVE_PREAD)
- pthread_mutex_t mutex;
-#endif
-};
-
-extern struct st_my_file_info *my_file_info;
-
-typedef struct st_dynamic_array
-{
- uchar *buffer;
- uint elements,max_element;
- uint alloc_increment;
- uint size_of_element;
-} DYNAMIC_ARRAY;
-
-typedef struct st_my_tmpdir
-{
- DYNAMIC_ARRAY full_list;
- char **list;
- uint cur, max;
-#ifdef THREAD
- pthread_mutex_t mutex;
-#endif
-} MY_TMPDIR;
-
-typedef struct st_dynamic_string
-{
- char *str;
- size_t length,max_length,alloc_increment;
-} DYNAMIC_STRING;
-
-struct st_io_cache;
-typedef int (*IO_CACHE_CALLBACK)(struct st_io_cache*);
-
-#ifdef THREAD
-typedef struct st_io_cache_share
-{
- pthread_mutex_t mutex; /* To sync on reads into buffer. */
- pthread_cond_t cond; /* To wait for signals. */
- pthread_cond_t cond_writer; /* For a synchronized writer. */
- /* Offset in file corresponding to the first byte of buffer. */
- my_off_t pos_in_file;
- /* If a synchronized write cache is the source of the data. */
- struct st_io_cache *source_cache;
- uchar *buffer; /* The read buffer. */
- uchar *read_end; /* Behind last valid byte of buffer. */
- int running_threads; /* threads not in lock. */
- int total_threads; /* threads sharing the cache. */
- int error; /* Last error. */
-#ifdef NOT_YET_IMPLEMENTED
- /* whether the structure should be free'd */
- my_bool alloced;
-#endif
-} IO_CACHE_SHARE;
-#endif
-
-typedef struct st_io_cache /* Used when cacheing files */
-{
- /* Offset in file corresponding to the first byte of uchar* buffer. */
- my_off_t pos_in_file;
- /*
- The offset of end of file for READ_CACHE and WRITE_CACHE.
- For SEQ_READ_APPEND it the maximum of the actual end of file and
- the position represented by read_end.
- */
- my_off_t end_of_file;
- /* Points to current read position in the buffer */
- uchar *read_pos;
- /* the non-inclusive boundary in the buffer for the currently valid read */
- uchar *read_end;
- uchar *buffer; /* The read buffer */
- /* Used in ASYNC_IO */
- uchar *request_pos;
-
- /* Only used in WRITE caches and in SEQ_READ_APPEND to buffer writes */
- uchar *write_buffer;
- /*
- Only used in SEQ_READ_APPEND, and points to the current read position
- in the write buffer. Note that reads in SEQ_READ_APPEND caches can
- happen from both read buffer (uchar* buffer) and write buffer
- (uchar* write_buffer).
- */
- uchar *append_read_pos;
- /* Points to current write position in the write buffer */
- uchar *write_pos;
- /* The non-inclusive boundary of the valid write area */
- uchar *write_end;
-
- /*
- Current_pos and current_end are convenience variables used by
- my_b_tell() and other routines that need to know the current offset
- current_pos points to &write_pos, and current_end to &write_end in a
- WRITE_CACHE, and &read_pos and &read_end respectively otherwise
- */
- uchar **current_pos, **current_end;
-#ifdef THREAD
- /*
- The lock is for append buffer used in SEQ_READ_APPEND cache
- need mutex copying from append buffer to read buffer.
- */
- pthread_mutex_t append_buffer_lock;
- /*
- The following is used when several threads are reading the
- same file in parallel. They are synchronized on disk
- accesses reading the cached part of the file asynchronously.
- It should be set to NULL to disable the feature. Only
- READ_CACHE mode is supported.
- */
- IO_CACHE_SHARE *share;
-#endif
- /*
- A caller will use my_b_read() macro to read from the cache
- if the data is already in cache, it will be simply copied with
- memcpy() and internal variables will be accordinging updated with
- no functions invoked. However, if the data is not fully in the cache,
- my_b_read() will call read_function to fetch the data. read_function
- must never be invoked directly.
- */
- int (*read_function)(struct st_io_cache *,uchar *,size_t);
- /*
- Same idea as in the case of read_function, except my_b_write() needs to
- be replaced with my_b_append() for a SEQ_READ_APPEND cache
- */
- int (*write_function)(struct st_io_cache *,const uchar *,size_t);
- /*
- Specifies the type of the cache. Depending on the type of the cache
- certain operations might not be available and yield unpredicatable
- results. Details to be documented later
- */
- enum cache_type type;
- /*
- Callbacks when the actual read I/O happens. These were added and
- are currently used for binary logging of LOAD DATA INFILE - when a
- block is read from the file, we create a block create/append event, and
- when IO_CACHE is closed, we create an end event. These functions could,
- of course be used for other things
- */
- IO_CACHE_CALLBACK pre_read;
- IO_CACHE_CALLBACK post_read;
- IO_CACHE_CALLBACK pre_close;
- /*
- Counts the number of times, when we were forced to use disk. We use it to
- increase the binlog_cache_disk_use status variable.
- */
- ulong disk_writes;
- void* arg; /* for use by pre/post_read */
- char *file_name; /* if used with 'open_cached_file' */
- char *dir,*prefix;
- File file; /* file descriptor */
- /*
- seek_not_done is set by my_b_seek() to inform the upcoming read/write
- operation that a seek needs to be preformed prior to the actual I/O
- error is 0 if the cache operation was successful, -1 if there was a
- "hard" error, and the actual number of I/O-ed bytes if the read/write was
- partial.
- */
- int seek_not_done,error;
- /* buffer_length is memory size allocated for buffer or write_buffer */
- size_t buffer_length;
- /* read_length is the same as buffer_length except when we use async io */
- size_t read_length;
- myf myflags; /* Flags used to my_read/my_write */
- /*
- alloced_buffer is 1 if the buffer was allocated by init_io_cache() and
- 0 if it was supplied by the user.
- Currently READ_NET is the only one that will use a buffer allocated
- somewhere else
- */
- my_bool alloced_buffer;
-#ifdef HAVE_AIOWAIT
- /*
- As inidicated by ifdef, this is for async I/O, which is not currently
- used (because it's not reliable on all systems)
- */
- uint inited;
- my_off_t aio_read_pos;
- my_aio_result aio_result;
-#endif
-} IO_CACHE;
-
-typedef int (*qsort2_cmp)(const void *, const void *, const void *);
-
- /* defines for mf_iocache */
-
- /* Test if buffer is inited */
-#define my_b_clear(info) (info)->buffer=0
-#define my_b_inited(info) (info)->buffer
-#define my_b_EOF INT_MIN
-
-#define my_b_read(info,Buffer,Count) \
- ((info)->read_pos + (Count) <= (info)->read_end ?\
- (memcpy(Buffer,(info)->read_pos,(size_t) (Count)), \
- ((info)->read_pos+=(Count)),0) :\
- (*(info)->read_function)((info),Buffer,Count))
-
-#define my_b_write(info,Buffer,Count) \
- ((info)->write_pos + (Count) <=(info)->write_end ?\
- (memcpy((info)->write_pos, (Buffer), (size_t)(Count)),\
- ((info)->write_pos+=(Count)),0) : \
- (*(info)->write_function)((info),(uchar *)(Buffer),(Count)))
-
-#define my_b_get(info) \
- ((info)->read_pos != (info)->read_end ?\
- ((info)->read_pos++, (int) (uchar) (info)->read_pos[-1]) :\
- _my_b_get(info))
-
- /* my_b_write_byte dosn't have any err-check */
-#define my_b_write_byte(info,chr) \
- (((info)->write_pos < (info)->write_end) ?\
- ((*(info)->write_pos++)=(chr)) :\
- (_my_b_write(info,0,0) , ((*(info)->write_pos++)=(chr))))
-
-#define my_b_fill_cache(info) \
- (((info)->read_end=(info)->read_pos),(*(info)->read_function)(info,0,0))
-
-#define my_b_tell(info) ((info)->pos_in_file + \
- (size_t) (*(info)->current_pos - (info)->request_pos))
-
-#define my_b_get_buffer_start(info) (info)->request_pos
-#define my_b_get_bytes_in_buffer(info) (char*) (info)->read_end - \
- (char*) my_b_get_buffer_start(info)
-#define my_b_get_pos_in_file(info) (info)->pos_in_file
-
-/* tell write offset in the SEQ_APPEND cache */
-int my_b_copy_to_file(IO_CACHE *cache, FILE *file);
-my_off_t my_b_append_tell(IO_CACHE* info);
-my_off_t my_b_safe_tell(IO_CACHE* info); /* picks the correct tell() */
-
-#define my_b_bytes_in_cache(info) (size_t) (*(info)->current_end - \
- *(info)->current_pos)
-
-typedef uint32 ha_checksum;
-
-/* Define the type of function to be passed to process_default_option_files */
-typedef int (*Process_option_func)(void *ctx, const char *group_name,
- const char *option);
-
-#include <my_alloc.h>
-
-
- /* Prototypes for mysys and my_func functions */
-
-extern int my_copy(const char *from,const char *to,myf MyFlags);
-extern int my_append(const char *from,const char *to,myf MyFlags);
-extern int my_delete(const char *name,myf MyFlags);
-extern int my_getwd(char * buf,size_t size,myf MyFlags);
-extern int my_setwd(const char *dir,myf MyFlags);
-extern int my_lock(File fd,int op,my_off_t start, my_off_t length,myf MyFlags);
-extern void *my_once_alloc(size_t Size,myf MyFlags);
-extern void my_once_free(void);
-extern char *my_once_strdup(const char *src,myf myflags);
-extern void *my_once_memdup(const void *src, size_t len, myf myflags);
-extern File my_open(const char *FileName,int Flags,myf MyFlags);
-extern File my_register_filename(File fd, const char *FileName,
- enum file_type type_of_file,
- uint error_message_number, myf MyFlags);
-extern File my_create(const char *FileName,int CreateFlags,
- int AccessFlags, myf MyFlags);
-extern int my_close(File Filedes,myf MyFlags);
-extern File my_dup(File file, myf MyFlags);
-extern int my_mkdir(const char *dir, int Flags, myf MyFlags);
-extern int my_readlink(char *to, const char *filename, myf MyFlags);
-extern int my_is_symlink(const char *filename);
-extern int my_realpath(char *to, const char *filename, myf MyFlags);
-extern File my_create_with_symlink(const char *linkname, const char *filename,
- int createflags, int access_flags,
- myf MyFlags);
-extern int my_delete_with_symlink(const char *name, myf MyFlags);
-extern int my_rename_with_symlink(const char *from,const char *to,myf MyFlags);
-extern int my_symlink(const char *content, const char *linkname, myf MyFlags);
-extern size_t my_read(File Filedes,uchar *Buffer,size_t Count,myf MyFlags);
-extern size_t my_pread(File Filedes,uchar *Buffer,size_t Count,my_off_t offset,
- myf MyFlags);
-extern int my_rename(const char *from,const char *to,myf MyFlags);
-extern my_off_t my_seek(File fd,my_off_t pos,int whence,myf MyFlags);
-extern my_off_t my_tell(File fd,myf MyFlags);
-extern size_t my_write(File Filedes,const uchar *Buffer,size_t Count,
- myf MyFlags);
-extern size_t my_pwrite(File Filedes,const uchar *Buffer,size_t Count,
- my_off_t offset,myf MyFlags);
-extern size_t my_fread(FILE *stream,uchar *Buffer,size_t Count,myf MyFlags);
-extern size_t my_fwrite(FILE *stream,const uchar *Buffer,size_t Count,
- myf MyFlags);
-extern my_off_t my_fseek(FILE *stream,my_off_t pos,int whence,myf MyFlags);
-extern my_off_t my_ftell(FILE *stream,myf MyFlags);
-extern void *_mymalloc(size_t uSize,const char *sFile,
- uint uLine, myf MyFlag);
-extern void *_myrealloc(void *pPtr,size_t uSize,const char *sFile,
- uint uLine, myf MyFlag);
-extern void * my_multi_malloc _VARARGS((myf MyFlags, ...));
-extern void _myfree(void *pPtr,const char *sFile,uint uLine, myf MyFlag);
-extern int _sanity(const char *sFile, uint uLine);
-extern void *_my_memdup(const void *from, size_t length,
- const char *sFile, uint uLine,myf MyFlag);
-extern char * _my_strdup(const char *from, const char *sFile, uint uLine,
- myf MyFlag);
-extern char *_my_strndup(const char *from, size_t length,
- const char *sFile, uint uLine,
- myf MyFlag);
-
-/* implemented in my_memmem.c */
-extern void *my_memmem(const void *haystack, size_t haystacklen,
- const void *needle, size_t needlelen);
-
-
-#ifdef __WIN__
-extern int my_access(const char *path, int amode);
-extern File my_sopen(const char *path, int oflag, int shflag, int pmode);
-#else
-#define my_access access
-#endif
-extern int check_if_legal_filename(const char *path);
-extern int check_if_legal_tablename(const char *path);
-
-#if defined(__WIN__) && defined(__NT__)
-extern int nt_share_delete(const char *name,myf MyFlags);
-#define my_delete_allow_opened(fname,flags) nt_share_delete((fname),(flags))
-#else
-#define my_delete_allow_opened(fname,flags) my_delete((fname),(flags))
-#endif
-
-#ifndef TERMINATE
-extern void TERMINATE(FILE *file, uint flag);
-#endif
-extern void init_glob_errs(void);
-extern void wait_for_free_space(const char *filename, int errors);
-extern FILE *my_fopen(const char *FileName,int Flags,myf MyFlags);
-extern FILE *my_fdopen(File Filedes,const char *name, int Flags,myf MyFlags);
-extern int my_fclose(FILE *fd,myf MyFlags);
-extern int my_chsize(File fd,my_off_t newlength, int filler, myf MyFlags);
-extern int my_sync(File fd, myf my_flags);
-extern int my_sync_dir(const char *dir_name, myf my_flags);
-extern int my_sync_dir_by_file(const char *file_name, myf my_flags);
-extern int my_error _VARARGS((int nr,myf MyFlags, ...));
-extern int my_printf_error _VARARGS((uint my_err, const char *format,
- myf MyFlags, ...))
- ATTRIBUTE_FORMAT(printf, 2, 4);
-extern int my_error_register(const char **errmsgs, int first, int last);
-extern const char **my_error_unregister(int first, int last);
-extern int my_message(uint my_err, const char *str,myf MyFlags);
-extern int my_message_no_curses(uint my_err, const char *str,myf MyFlags);
-extern int my_message_curses(uint my_err, const char *str,myf MyFlags);
-extern my_bool my_init(void);
-extern void my_end(int infoflag);
-extern int my_redel(const char *from, const char *to, int MyFlags);
-extern int my_copystat(const char *from, const char *to, int MyFlags);
-extern char * my_filename(File fd);
-
-#ifndef THREAD
-extern void dont_break(void);
-extern void allow_break(void);
-#else
-#define dont_break()
-#define allow_break()
-#endif
-
-#ifdef EXTRA_DEBUG
-void my_print_open_files(void);
-#else
-#define my_print_open_files()
-#endif
-
-extern my_bool init_tmpdir(MY_TMPDIR *tmpdir, const char *pathlist);
-extern char *my_tmpdir(MY_TMPDIR *tmpdir);
-extern void free_tmpdir(MY_TMPDIR *tmpdir);
-
-extern void my_remember_signal(int signal_number,sig_handler (*func)(int));
-extern size_t dirname_part(char * to,const char *name, size_t *to_res_length);
-extern size_t dirname_length(const char *name);
-#define base_name(A) (A+dirname_length(A))
-extern int test_if_hard_path(const char *dir_name);
-extern my_bool has_path(const char *name);
-extern char *convert_dirname(char *to, const char *from, const char *from_end);
-extern void to_unix_path(char * name);
-extern char * fn_ext(const char *name);
-extern char * fn_same(char * toname,const char *name,int flag);
-extern char * fn_format(char * to,const char *name,const char *dir,
- const char *form, uint flag);
-extern size_t strlength(const char *str);
-extern void pack_dirname(char * to,const char *from);
-extern size_t normalize_dirname(char * to, const char *from);
-extern size_t unpack_dirname(char * to,const char *from);
-extern size_t cleanup_dirname(char * to,const char *from);
-extern size_t system_filename(char * to,const char *from);
-extern size_t unpack_filename(char * to,const char *from);
-extern char * intern_filename(char * to,const char *from);
-extern char * directory_file_name(char * dst, const char *src);
-extern int pack_filename(char * to, const char *name, size_t max_length);
-extern char * my_path(char * to,const char *progname,
- const char *own_pathname_part);
-extern char * my_load_path(char * to, const char *path,
- const char *own_path_prefix);
-extern int wild_compare(const char *str,const char *wildstr,
- pbool str_is_pattern);
-extern WF_PACK *wf_comp(char * str);
-extern int wf_test(struct wild_file_pack *wf_pack,const char *name);
-extern void wf_end(struct wild_file_pack *buffer);
-extern my_bool array_append_string_unique(const char *str,
- const char **array, size_t size);
-extern void get_date(char * to,int timeflag,time_t use_time);
-extern void soundex(CHARSET_INFO *, char * out_pntr, char * in_pntr,
- pbool remove_garbage);
-extern int init_record_cache(RECORD_CACHE *info,size_t cachesize,File file,
- size_t reclength,enum cache_type type,
- pbool use_async_io);
-extern int read_cache_record(RECORD_CACHE *info,uchar *to);
-extern int end_record_cache(RECORD_CACHE *info);
-extern int write_cache_record(RECORD_CACHE *info,my_off_t filepos,
- const uchar *record,size_t length);
-extern int flush_write_cache(RECORD_CACHE *info);
-extern long my_clock(void);
-extern sig_handler sigtstp_handler(int signal_number);
-extern void handle_recived_signals(void);
-
-extern sig_handler my_set_alarm_variable(int signo);
-extern void my_string_ptr_sort(uchar *base,uint items,size_t size);
-extern void radixsort_for_str_ptr(uchar* base[], uint number_of_elements,
- size_t size_of_element,uchar *buffer[]);
-extern qsort_t my_qsort(void *base_ptr, size_t total_elems, size_t size,
- qsort_cmp cmp);
-extern qsort_t my_qsort2(void *base_ptr, size_t total_elems, size_t size,
- qsort2_cmp cmp, void *cmp_argument);
-extern qsort2_cmp get_ptr_compare(size_t);
-void my_store_ptr(uchar *buff, size_t pack_length, my_off_t pos);
-my_off_t my_get_ptr(uchar *ptr, size_t pack_length);
-extern int init_io_cache(IO_CACHE *info,File file,size_t cachesize,
- enum cache_type type,my_off_t seek_offset,
- pbool use_async_io, myf cache_myflags);
-extern my_bool reinit_io_cache(IO_CACHE *info,enum cache_type type,
- my_off_t seek_offset,pbool use_async_io,
- pbool clear_cache);
-extern void setup_io_cache(IO_CACHE* info);
-extern int _my_b_read(IO_CACHE *info,uchar *Buffer,size_t Count);
-#ifdef THREAD
-extern int _my_b_read_r(IO_CACHE *info,uchar *Buffer,size_t Count);
-extern void init_io_cache_share(IO_CACHE *read_cache, IO_CACHE_SHARE *cshare,
- IO_CACHE *write_cache, uint num_threads);
-extern void remove_io_thread(IO_CACHE *info);
-#endif
-extern int _my_b_seq_read(IO_CACHE *info,uchar *Buffer,size_t Count);
-extern int _my_b_net_read(IO_CACHE *info,uchar *Buffer,size_t Count);
-extern int _my_b_get(IO_CACHE *info);
-extern int _my_b_async_read(IO_CACHE *info,uchar *Buffer,size_t Count);
-extern int _my_b_write(IO_CACHE *info,const uchar *Buffer,size_t Count);
-extern int my_b_append(IO_CACHE *info,const uchar *Buffer,size_t Count);
-extern int my_b_safe_write(IO_CACHE *info,const uchar *Buffer,size_t Count);
-
-extern int my_block_write(IO_CACHE *info, const uchar *Buffer,
- size_t Count, my_off_t pos);
-extern int my_b_flush_io_cache(IO_CACHE *info, int need_append_buffer_lock);
-
-#define flush_io_cache(info) my_b_flush_io_cache((info),1)
-
-extern int end_io_cache(IO_CACHE *info);
-extern size_t my_b_fill(IO_CACHE *info);
-extern void my_b_seek(IO_CACHE *info,my_off_t pos);
-extern size_t my_b_gets(IO_CACHE *info, char *to, size_t max_length);
-extern my_off_t my_b_filelength(IO_CACHE *info);
-extern size_t my_b_printf(IO_CACHE *info, const char* fmt, ...);
-extern size_t my_b_vprintf(IO_CACHE *info, const char* fmt, va_list ap);
-extern my_bool open_cached_file(IO_CACHE *cache,const char *dir,
- const char *prefix, size_t cache_size,
- myf cache_myflags);
-extern my_bool real_open_cached_file(IO_CACHE *cache);
-extern void close_cached_file(IO_CACHE *cache);
-File create_temp_file(char *to, const char *dir, const char *pfx,
- int mode, myf MyFlags);
-#define my_init_dynamic_array(A,B,C,D) init_dynamic_array2(A,B,NULL,C,D CALLER_INFO)
-#define my_init_dynamic_array_ci(A,B,C,D) init_dynamic_array2(A,B,NULL,C,D ORIG_CALLER_INFO)
-#define my_init_dynamic_array2(A,B,C,D,E) init_dynamic_array2(A,B,C,D,E CALLER_INFO)
-#define my_init_dynamic_array2_ci(A,B,C,D,E) init_dynamic_array2(A,B,C,D,E ORIG_CALLER_INFO)
-extern my_bool init_dynamic_array2(DYNAMIC_ARRAY *array,uint element_size,
- void *init_buffer, uint init_alloc,
- uint alloc_increment
- CALLER_INFO_PROTO);
-/* init_dynamic_array() function is deprecated */
-extern my_bool init_dynamic_array(DYNAMIC_ARRAY *array,uint element_size,
- uint init_alloc,uint alloc_increment
- CALLER_INFO_PROTO);
-extern my_bool insert_dynamic(DYNAMIC_ARRAY *array,uchar * element);
-extern uchar *alloc_dynamic(DYNAMIC_ARRAY *array);
-extern uchar *pop_dynamic(DYNAMIC_ARRAY*);
-extern my_bool set_dynamic(DYNAMIC_ARRAY *array,uchar * element,uint array_index);
-extern my_bool allocate_dynamic(DYNAMIC_ARRAY *array, uint max_elements);
-extern void get_dynamic(DYNAMIC_ARRAY *array,uchar * element,uint array_index);
-extern void delete_dynamic(DYNAMIC_ARRAY *array);
-extern void delete_dynamic_element(DYNAMIC_ARRAY *array, uint array_index);
-extern void freeze_size(DYNAMIC_ARRAY *array);
-extern int get_index_dynamic(DYNAMIC_ARRAY *array, uchar * element);
-#define dynamic_array_ptr(array,array_index) ((array)->buffer+(array_index)*(array)->size_of_element)
-#define dynamic_element(array,array_index,type) ((type)((array)->buffer) +(array_index))
-#define push_dynamic(A,B) insert_dynamic((A),(B))
-#define reset_dynamic(array) ((array)->elements= 0)
-#define sort_dynamic(A,cmp) my_qsort((A)->buffer, (A)->elements, (A)->size_of_element, (cmp))
-
-extern my_bool init_dynamic_string(DYNAMIC_STRING *str, const char *init_str,
- size_t init_alloc,size_t alloc_increment);
-extern my_bool dynstr_append(DYNAMIC_STRING *str, const char *append);
-my_bool dynstr_append_mem(DYNAMIC_STRING *str, const char *append,
- size_t length);
-extern my_bool dynstr_append_os_quoted(DYNAMIC_STRING *str, const char *append,
- ...);
-extern my_bool dynstr_set(DYNAMIC_STRING *str, const char *init_str);
-extern my_bool dynstr_realloc(DYNAMIC_STRING *str, size_t additional_size);
-extern my_bool dynstr_trunc(DYNAMIC_STRING *str, size_t n);
-extern void dynstr_free(DYNAMIC_STRING *str);
-#ifdef HAVE_MLOCK
-extern void *my_malloc_lock(size_t length,myf flags);
-extern void my_free_lock(void *ptr,myf flags);
-#else
-#define my_malloc_lock(A,B) my_malloc((A),(B))
-#define my_free_lock(A,B) my_free((A),(B))
-#endif
-#define alloc_root_inited(A) ((A)->min_malloc != 0)
-#define ALLOC_ROOT_MIN_BLOCK_SIZE (MALLOC_OVERHEAD + sizeof(USED_MEM) + 8)
-#define clear_alloc_root(A) do { (A)->free= (A)->used= (A)->pre_alloc= 0; (A)->min_malloc=0;} while(0)
-extern void init_alloc_root(MEM_ROOT *mem_root, size_t block_size,
- size_t pre_alloc_size);
-extern void *alloc_root(MEM_ROOT *mem_root, size_t Size);
-extern void *multi_alloc_root(MEM_ROOT *mem_root, ...);
-extern void free_root(MEM_ROOT *root, myf MyFLAGS);
-extern void set_prealloc_root(MEM_ROOT *root, char *ptr);
-extern void reset_root_defaults(MEM_ROOT *mem_root, size_t block_size,
- size_t prealloc_size);
-extern char *strdup_root(MEM_ROOT *root,const char *str);
-extern char *strmake_root(MEM_ROOT *root,const char *str,size_t len);
-extern void *memdup_root(MEM_ROOT *root,const void *str, size_t len);
-extern int get_defaults_options(int argc, char **argv,
- char **defaults, char **extra_defaults,
- char **group_suffix);
-extern int my_load_defaults(const char *conf_file, const char **groups,
- int *argc, char ***argv, const char ***);
-extern int load_defaults(const char *conf_file, const char **groups,
- int *argc, char ***argv);
-extern int modify_defaults_file(const char *file_location, const char *option,
- const char *option_value,
- const char *section_name, int remove_option);
-extern int my_search_option_files(const char *conf_file, int *argc,
- char ***argv, uint *args_used,
- Process_option_func func, void *func_ctx,
- const char **default_directories);
-extern void free_defaults(char **argv);
-extern void my_print_default_files(const char *conf_file);
-extern void print_defaults(const char *conf_file, const char **groups);
-extern my_bool my_compress(uchar *, size_t *, size_t *);
-extern my_bool my_uncompress(uchar *, size_t , size_t *);
-extern uchar *my_compress_alloc(const uchar *packet, size_t *len,
- size_t *complen);
-extern int packfrm(uchar *, size_t, uchar **, size_t *);
-extern int unpackfrm(uchar **, size_t *, const uchar *);
-
-extern ha_checksum my_checksum(ha_checksum crc, const uchar *mem,
- size_t count);
-extern void my_sleep(ulong m_seconds);
-extern ulong crc32(ulong crc, const uchar *buf, uint len);
-extern uint my_set_max_open_files(uint files);
-void my_free_open_file_info(void);
-
-extern time_t my_time(myf flags);
-extern ulonglong my_getsystime(void);
-extern ulonglong my_micro_time();
-extern ulonglong my_micro_time_and_time(time_t *time_arg);
-time_t my_time_possible_from_micro(ulonglong microtime);
-extern my_bool my_gethwaddr(uchar *to);
-extern int my_getncpus();
-
-#ifdef HAVE_SYS_MMAN_H
-#include <sys/mman.h>
-
-#ifndef MAP_NOSYNC
-#define MAP_NOSYNC 0
-#endif
-#ifndef MAP_NORESERVE
-#define MAP_NORESERVE 0 /* For irix and AIX */
-#endif
-
-#ifdef HAVE_MMAP64
-#define my_mmap(a,b,c,d,e,f) mmap64(a,b,c,d,e,f)
-#else
-#define my_mmap(a,b,c,d,e,f) mmap(a,b,c,d,e,f)
-#endif
-#define my_munmap(a,b) munmap((a),(b))
-
-#else
-/* not a complete set of mmap() flags, but only those that nesessary */
-#define PROT_READ 1
-#define PROT_WRITE 2
-#define MAP_NORESERVE 0
-#define MAP_SHARED 0x0001
-#define MAP_PRIVATE 0x0002
-#define MAP_NOSYNC 0x0800
-#define MAP_FAILED ((void *)-1)
-#define MS_SYNC 0x0000
-
-#ifndef __NETWARE__
-#define HAVE_MMAP
-#endif
-
-void *my_mmap(void *, size_t, int, int, int, my_off_t);
-int my_munmap(void *, size_t);
-#endif
-
-/* my_getpagesize */
-#ifdef HAVE_GETPAGESIZE
-#define my_getpagesize() getpagesize()
-#else
-int my_getpagesize(void);
-#endif
-
-int my_msync(int, void *, size_t, int);
-
-/* character sets */
-extern uint get_charset_number(const char *cs_name, uint cs_flags);
-extern uint get_collation_number(const char *name);
-extern const char *get_charset_name(uint cs_number);
-
-extern CHARSET_INFO *get_charset(uint cs_number, myf flags);
-extern CHARSET_INFO *get_charset_by_name(const char *cs_name, myf flags);
-extern CHARSET_INFO *get_charset_by_csname(const char *cs_name,
- uint cs_flags, myf my_flags);
-
-extern my_bool resolve_charset(const char *cs_name,
- CHARSET_INFO *default_cs,
- CHARSET_INFO **cs);
-extern my_bool resolve_collation(const char *cl_name,
- CHARSET_INFO *default_cl,
- CHARSET_INFO **cl);
-
-extern char *get_charsets_dir(char *buf);
-extern my_bool my_charset_same(CHARSET_INFO *cs1, CHARSET_INFO *cs2);
-extern my_bool init_compiled_charsets(myf flags);
-extern void add_compiled_collation(CHARSET_INFO *cs);
-extern size_t escape_string_for_mysql(CHARSET_INFO *charset_info,
- char *to, size_t to_length,
- const char *from, size_t length);
-#ifdef __WIN__
-#define BACKSLASH_MBTAIL
-/* File system character set */
-extern CHARSET_INFO *fs_character_set(void);
-#endif
-extern size_t escape_quotes_for_mysql(CHARSET_INFO *charset_info,
- char *to, size_t to_length,
- const char *from, size_t length);
-
-extern void thd_increment_bytes_sent(ulong length);
-extern void thd_increment_bytes_received(ulong length);
-extern void thd_increment_net_big_packet_count(ulong length);
-
-#ifdef __WIN__
-extern my_bool have_tcpip; /* Is set if tcpip is used */
-
-/* implemented in my_windac.c */
-
-int my_security_attr_create(SECURITY_ATTRIBUTES **psa, const char **perror,
- DWORD owner_rights, DWORD everybody_rights);
-
-void my_security_attr_free(SECURITY_ATTRIBUTES *sa);
-
-/* implemented in my_conio.c */
-char* my_cgets(char *string, size_t clen, size_t* plen);
-
-#endif
-#ifdef __NETWARE__
-void netware_reg_user(const char *ip, const char *user,
- const char *application);
-#endif
-
-C_MODE_END
-#endif /* _my_sys_h */
diff --git a/lib/libmysql_win32/include/my_xml.h b/lib/libmysql_win32/include/my_xml.h
deleted file mode 100644
index 6a453ee90b..0000000000
--- a/lib/libmysql_win32/include/my_xml.h
+++ /dev/null
@@ -1,89 +0,0 @@
-/* Copyright (C) 2000 MySQL 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; version 2 of the License.
-
- 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 _my_xml_h
-#define _my_xml_h
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-#define MY_XML_OK 0
-#define MY_XML_ERROR 1
-
-/*
- A flag whether to use absolute tag names in call-back functions,
- like "a", "a.b" and "a.b.c" (used in character set file parser),
- or relative names like "a", "b" and "c".
-*/
-#define MY_XML_FLAG_RELATIVE_NAMES 1
-
-/*
- A flag whether to skip normilization of text values before calling
- call-back functions: i.e. skip leading/trailing spaces,
- \r, \n, \t characters.
-*/
-#define MY_XML_FLAG_SKIP_TEXT_NORMALIZATION 2
-
-enum my_xml_node_type
-{
- MY_XML_NODE_TAG, /* can have TAG, ATTR and TEXT children */
- MY_XML_NODE_ATTR, /* can have TEXT children */
- MY_XML_NODE_TEXT /* cannot have children */
-};
-
-typedef struct xml_stack_st
-{
- int flags;
- enum my_xml_node_type current_node_type;
- char errstr[128];
- char attr[128];
- char *attrend;
- const char *beg;
- const char *cur;
- const char *end;
- void *user_data;
- int (*enter)(struct xml_stack_st *st,const char *val, size_t len);
- int (*value)(struct xml_stack_st *st,const char *val, size_t len);
- int (*leave_xml)(struct xml_stack_st *st,const char *val, size_t len);
-} MY_XML_PARSER;
-
-void my_xml_parser_create(MY_XML_PARSER *st);
-void my_xml_parser_free(MY_XML_PARSER *st);
-int my_xml_parse(MY_XML_PARSER *st,const char *str, size_t len);
-
-void my_xml_set_value_handler(MY_XML_PARSER *st, int (*)(MY_XML_PARSER *,
- const char *,
- size_t len));
-void my_xml_set_enter_handler(MY_XML_PARSER *st, int (*)(MY_XML_PARSER *,
- const char *,
- size_t len));
-void my_xml_set_leave_handler(MY_XML_PARSER *st, int (*)(MY_XML_PARSER *,
- const char *,
- size_t len));
-void my_xml_set_user_data(MY_XML_PARSER *st, void *);
-
-size_t my_xml_error_pos(MY_XML_PARSER *st);
-uint my_xml_error_lineno(MY_XML_PARSER *st);
-
-const char *my_xml_error_string(MY_XML_PARSER *st);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _my_xml_h */
diff --git a/lib/libmysql_win32/include/mysql.h b/lib/libmysql_win32/include/mysql.h
deleted file mode 100644
index d114afb6c9..0000000000
--- a/lib/libmysql_win32/include/mysql.h
+++ /dev/null
@@ -1,867 +0,0 @@
-/* Copyright (C) 2000-2003 MySQL 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; version 2 of the License.
-
- 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 */
-
-/*
- This file defines the client API to MySQL and also the ABI of the
- dynamically linked libmysqlclient.
-
- The ABI should never be changed in a released product of MySQL
- thus you need to take great care when changing the file. In case
- the file is changed so the ABI is broken, you must also
- update the SHAREDLIB_MAJOR_VERSION in configure.in .
-
-*/
-
-#ifndef _mysql_h
-#define _mysql_h
-
-#ifdef _AIX /* large-file support will break without this */
-#include <standards.h>
-#endif
-
-#ifdef __CYGWIN__ /* CYGWIN implements a UNIX API */
-#undef WIN
-#undef _WIN
-#undef _WIN32
-#undef _WIN64
-#undef __WIN__
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef _global_h /* If not standard header */
-#include <sys/types.h>
-#ifdef __LCC__
-#include <winsock2.h> /* For windows */
-#endif
-typedef char my_bool;
-#if (defined(_WIN32) || defined(_WIN64)) && !defined(__WIN__)
-#define __WIN__
-#endif
-#if !defined(__WIN__)
-#define STDCALL
-#else
-#define STDCALL __stdcall
-#endif
-
-#ifndef my_socket_defined
-#ifdef __WIN__
-#define my_socket SOCKET
-#else
-typedef int my_socket;
-#endif /* __WIN__ */
-#endif /* my_socket_defined */
-#endif /* _global_h */
-
-#include "mysql_version.h"
-#include "mysql_com.h"
-#include "mysql_time.h"
-
-#include "my_list.h" /* for LISTs used in 'MYSQL' and 'MYSQL_STMT' */
-
-extern unsigned int mysql_port;
-extern char *mysql_unix_port;
-
-#define CLIENT_NET_READ_TIMEOUT 365*24*3600 /* Timeout on read */
-#define CLIENT_NET_WRITE_TIMEOUT 365*24*3600 /* Timeout on write */
-
-#ifdef __NETWARE__
-#pragma pack(push, 8) /* 8 byte alignment */
-#endif
-
-#define IS_PRI_KEY(n) ((n) & PRI_KEY_FLAG)
-#define IS_NOT_NULL(n) ((n) & NOT_NULL_FLAG)
-#define IS_BLOB(n) ((n) & BLOB_FLAG)
-#define IS_NUM(t) ((t) <= MYSQL_TYPE_INT24 || (t) == MYSQL_TYPE_YEAR || (t) == MYSQL_TYPE_NEWDECIMAL)
-#define IS_NUM_FIELD(f) ((f)->flags & NUM_FLAG)
-#define INTERNAL_NUM_FIELD(f) (((f)->type <= MYSQL_TYPE_INT24 && ((f)->type != MYSQL_TYPE_TIMESTAMP || (f)->length == 14 || (f)->length == 8)) || (f)->type == MYSQL_TYPE_YEAR)
-#define IS_LONGDATA(t) ((t) >= MYSQL_TYPE_TINY_BLOB && (t) <= MYSQL_TYPE_STRING)
-
-
-typedef struct st_mysql_field {
- char *name; /* Name of column */
- char *org_name; /* Original column name, if an alias */
- char *table; /* Table of column if column was a field */
- char *org_table; /* Org table name, if table was an alias */
- char *db; /* Database for table */
- char *catalog; /* Catalog for table */
- char *def; /* Default value (set by mysql_list_fields) */
- unsigned long length; /* Width of column (create length) */
- unsigned long max_length; /* Max width for selected set */
- unsigned int name_length;
- unsigned int org_name_length;
- unsigned int table_length;
- unsigned int org_table_length;
- unsigned int db_length;
- unsigned int catalog_length;
- unsigned int def_length;
- unsigned int flags; /* Div flags */
- unsigned int decimals; /* Number of decimals in field */
- unsigned int charsetnr; /* Character set */
- enum enum_field_types type; /* Type of field. See mysql_com.h for types */
- void *extension;
-} MYSQL_FIELD;
-
-typedef char **MYSQL_ROW; /* return data as array of strings */
-typedef unsigned int MYSQL_FIELD_OFFSET; /* offset to current field */
-
-#ifndef _global_h
-#if defined(NO_CLIENT_LONG_LONG)
-typedef unsigned long my_ulonglong;
-#elif defined (__WIN__)
-typedef unsigned __int64 my_ulonglong;
-#else
-typedef unsigned long long my_ulonglong;
-#endif
-#endif
-
-#include "typelib.h"
-
-#define MYSQL_COUNT_ERROR (~(my_ulonglong) 0)
-
-/* backward compatibility define - to be removed eventually */
-#define ER_WARN_DATA_TRUNCATED WARN_DATA_TRUNCATED
-
-typedef struct st_mysql_rows {
- struct st_mysql_rows *next; /* list of rows */
- MYSQL_ROW data;
- unsigned long length;
-} MYSQL_ROWS;
-
-typedef MYSQL_ROWS *MYSQL_ROW_OFFSET; /* offset to current row */
-
-#include "my_alloc.h"
-
-typedef struct embedded_query_result EMBEDDED_QUERY_RESULT;
-typedef struct st_mysql_data {
- MYSQL_ROWS *data;
- struct embedded_query_result *embedded_info;
- MEM_ROOT alloc;
- my_ulonglong rows;
- unsigned int fields;
- /* extra info for embedded library */
- void *extension;
-} MYSQL_DATA;
-
-enum mysql_option
-{
- MYSQL_OPT_CONNECT_TIMEOUT, MYSQL_OPT_COMPRESS, MYSQL_OPT_NAMED_PIPE,
- MYSQL_INIT_COMMAND, MYSQL_READ_DEFAULT_FILE, MYSQL_READ_DEFAULT_GROUP,
- MYSQL_SET_CHARSET_DIR, MYSQL_SET_CHARSET_NAME, MYSQL_OPT_LOCAL_INFILE,
- MYSQL_OPT_PROTOCOL, MYSQL_SHARED_MEMORY_BASE_NAME, MYSQL_OPT_READ_TIMEOUT,
- MYSQL_OPT_WRITE_TIMEOUT, MYSQL_OPT_USE_RESULT,
- MYSQL_OPT_USE_REMOTE_CONNECTION, MYSQL_OPT_USE_EMBEDDED_CONNECTION,
- MYSQL_OPT_GUESS_CONNECTION, MYSQL_SET_CLIENT_IP, MYSQL_SECURE_AUTH,
- MYSQL_REPORT_DATA_TRUNCATION, MYSQL_OPT_RECONNECT,
- MYSQL_OPT_SSL_VERIFY_SERVER_CERT
-};
-
-struct st_mysql_options {
- unsigned int connect_timeout, read_timeout, write_timeout;
- unsigned int port, protocol;
- unsigned long client_flag;
- char *host,*user,*password,*unix_socket,*db;
- struct st_dynamic_array *init_commands;
- char *my_cnf_file,*my_cnf_group, *charset_dir, *charset_name;
- char *ssl_key; /* PEM key file */
- char *ssl_cert; /* PEM cert file */
- char *ssl_ca; /* PEM CA file */
- char *ssl_capath; /* PEM directory of CA-s? */
- char *ssl_cipher; /* cipher to use */
- char *shared_memory_base_name;
- unsigned long max_allowed_packet;
- my_bool use_ssl; /* if to use SSL or not */
- my_bool compress,named_pipe;
- /*
- On connect, find out the replication role of the server, and
- establish connections to all the peers
- */
- my_bool rpl_probe;
- /*
- Each call to mysql_real_query() will parse it to tell if it is a read
- or a write, and direct it to the slave or the master
- */
- my_bool rpl_parse;
- /*
- If set, never read from a master, only from slave, when doing
- a read that is replication-aware
- */
- my_bool no_master_reads;
-#if !defined(CHECK_EMBEDDED_DIFFERENCES) || defined(EMBEDDED_LIBRARY)
- my_bool separate_thread;
-#endif
- enum mysql_option methods_to_use;
- char *client_ip;
- /* Refuse client connecting to server if it uses old (pre-4.1.1) protocol */
- my_bool secure_auth;
- /* 0 - never report, 1 - always report (default) */
- my_bool report_data_truncation;
-
- /* function pointers for local infile support */
- int (*local_infile_init)(void **, const char *, void *);
- int (*local_infile_read)(void *, char *, unsigned int);
- void (*local_infile_end)(void *);
- int (*local_infile_error)(void *, char *, unsigned int);
- void *local_infile_userdata;
- void *extension;
-};
-
-enum mysql_status
-{
- MYSQL_STATUS_READY,MYSQL_STATUS_GET_RESULT,MYSQL_STATUS_USE_RESULT
-};
-
-enum mysql_protocol_type
-{
- MYSQL_PROTOCOL_DEFAULT, MYSQL_PROTOCOL_TCP, MYSQL_PROTOCOL_SOCKET,
- MYSQL_PROTOCOL_PIPE, MYSQL_PROTOCOL_MEMORY
-};
-/*
- There are three types of queries - the ones that have to go to
- the master, the ones that go to a slave, and the adminstrative
- type which must happen on the pivot connectioin
-*/
-enum mysql_rpl_type
-{
- MYSQL_RPL_MASTER, MYSQL_RPL_SLAVE, MYSQL_RPL_ADMIN
-};
-
-typedef struct character_set
-{
- unsigned int number; /* character set number */
- unsigned int state; /* character set state */
- const char *csname; /* collation name */
- const char *name; /* character set name */
- const char *comment; /* comment */
- const char *dir; /* character set directory */
- unsigned int mbminlen; /* min. length for multibyte strings */
- unsigned int mbmaxlen; /* max. length for multibyte strings */
-} MY_CHARSET_INFO;
-
-struct st_mysql_methods;
-struct st_mysql_stmt;
-
-typedef struct st_mysql
-{
- NET net; /* Communication parameters */
- unsigned char *connector_fd; /* ConnectorFd for SSL */
- char *host,*user,*passwd,*unix_socket,*server_version,*host_info;
- char *info, *db;
- struct charset_info_st *charset;
- MYSQL_FIELD *fields;
- MEM_ROOT field_alloc;
- my_ulonglong affected_rows;
- my_ulonglong insert_id; /* id if insert on table with NEXTNR */
- my_ulonglong extra_info; /* Not used */
- unsigned long thread_id; /* Id for connection in server */
- unsigned long packet_length;
- unsigned int port;
- unsigned long client_flag,server_capabilities;
- unsigned int protocol_version;
- unsigned int field_count;
- unsigned int server_status;
- unsigned int server_language;
- unsigned int warning_count;
- struct st_mysql_options options;
- enum mysql_status status;
- my_bool free_me; /* If free in mysql_close */
- my_bool reconnect; /* set to 1 if automatic reconnect */
-
- /* session-wide random string */
- char scramble[SCRAMBLE_LENGTH+1];
-
- /*
- Set if this is the original connection, not a master or a slave we have
- added though mysql_rpl_probe() or mysql_set_master()/ mysql_add_slave()
- */
- my_bool rpl_pivot;
- /*
- Pointers to the master, and the next slave connections, points to
- itself if lone connection.
- */
- struct st_mysql* master, *next_slave;
-
- struct st_mysql* last_used_slave; /* needed for round-robin slave pick */
- /* needed for send/read/store/use result to work correctly with replication */
- struct st_mysql* last_used_con;
-
- LIST *stmts; /* list of all statements */
- const struct st_mysql_methods *methods;
- void *thd;
- /*
- Points to boolean flag in MYSQL_RES or MYSQL_STMT. We set this flag
- from mysql_stmt_close if close had to cancel result set of this object.
- */
- my_bool *unbuffered_fetch_owner;
- /* needed for embedded server - no net buffer to store the 'info' */
- char *info_buffer;
- void *extension;
-} MYSQL;
-
-
-typedef struct st_mysql_res {
- my_ulonglong row_count;
- MYSQL_FIELD *fields;
- MYSQL_DATA *data;
- MYSQL_ROWS *data_cursor;
- unsigned long *lengths; /* column lengths of current row */
- MYSQL *handle; /* for unbuffered reads */
- const struct st_mysql_methods *methods;
- MYSQL_ROW row; /* If unbuffered read */
- MYSQL_ROW current_row; /* buffer to current row */
- MEM_ROOT field_alloc;
- unsigned int field_count, current_field;
- my_bool eof; /* Used by mysql_fetch_row */
- /* mysql_stmt_close() had to cancel this result */
- my_bool unbuffered_fetch_cancelled;
- void *extension;
-} MYSQL_RES;
-
-#define MAX_MYSQL_MANAGER_ERR 256
-#define MAX_MYSQL_MANAGER_MSG 256
-
-#define MANAGER_OK 200
-#define MANAGER_INFO 250
-#define MANAGER_ACCESS 401
-#define MANAGER_CLIENT_ERR 450
-#define MANAGER_INTERNAL_ERR 500
-
-#if !defined(MYSQL_SERVER) && !defined(MYSQL_CLIENT)
-#define MYSQL_CLIENT
-#endif
-
-
-typedef struct st_mysql_manager
-{
- NET net;
- char *host, *user, *passwd;
- char *net_buf, *net_buf_pos, *net_data_end;
- unsigned int port;
- int cmd_status;
- int last_errno;
- int net_buf_size;
- my_bool free_me;
- my_bool eof;
- char last_error[MAX_MYSQL_MANAGER_ERR];
- void *extension;
-} MYSQL_MANAGER;
-
-typedef struct st_mysql_parameters
-{
- unsigned long *p_max_allowed_packet;
- unsigned long *p_net_buffer_length;
- void *extension;
-} MYSQL_PARAMETERS;
-
-#if !defined(MYSQL_SERVER) && !defined(EMBEDDED_LIBRARY)
-#define max_allowed_packet (*mysql_get_parameters()->p_max_allowed_packet)
-#define net_buffer_length (*mysql_get_parameters()->p_net_buffer_length)
-#endif
-
-/*
- Set up and bring down the server; to ensure that applications will
- work when linked against either the standard client library or the
- embedded server library, these functions should be called.
-*/
-int STDCALL mysql_server_init(int argc, char **argv, char **groups);
-void STDCALL mysql_server_end(void);
-
-/*
- mysql_server_init/end need to be called when using libmysqld or
- libmysqlclient (exactly, mysql_server_init() is called by mysql_init() so
- you don't need to call it explicitely; but you need to call
- mysql_server_end() to free memory). The names are a bit misleading
- (mysql_SERVER* to be used when using libmysqlCLIENT). So we add more general
- names which suit well whether you're using libmysqld or libmysqlclient. We
- intend to promote these aliases over the mysql_server* ones.
-*/
-#define mysql_library_init mysql_server_init
-#define mysql_library_end mysql_server_end
-
-MYSQL_PARAMETERS *STDCALL mysql_get_parameters(void);
-
-/*
- Set up and bring down a thread; these function should be called
- for each thread in an application which opens at least one MySQL
- connection. All uses of the connection(s) should be between these
- function calls.
-*/
-my_bool STDCALL mysql_thread_init(void);
-void STDCALL mysql_thread_end(void);
-
-/*
- Functions to get information from the MYSQL and MYSQL_RES structures
- Should definitely be used if one uses shared libraries.
-*/
-
-my_ulonglong STDCALL mysql_num_rows(MYSQL_RES *res);
-unsigned int STDCALL mysql_num_fields(MYSQL_RES *res);
-my_bool STDCALL mysql_eof(MYSQL_RES *res);
-MYSQL_FIELD *STDCALL mysql_fetch_field_direct(MYSQL_RES *res,
- unsigned int fieldnr);
-MYSQL_FIELD * STDCALL mysql_fetch_fields(MYSQL_RES *res);
-MYSQL_ROW_OFFSET STDCALL mysql_row_tell(MYSQL_RES *res);
-MYSQL_FIELD_OFFSET STDCALL mysql_field_tell(MYSQL_RES *res);
-
-unsigned int STDCALL mysql_field_count(MYSQL *mysql);
-my_ulonglong STDCALL mysql_affected_rows(MYSQL *mysql);
-my_ulonglong STDCALL mysql_insert_id(MYSQL *mysql);
-unsigned int STDCALL mysql_errno(MYSQL *mysql);
-const char * STDCALL mysql_error(MYSQL *mysql);
-const char *STDCALL mysql_sqlstate(MYSQL *mysql);
-unsigned int STDCALL mysql_warning_count(MYSQL *mysql);
-const char * STDCALL mysql_info(MYSQL *mysql);
-unsigned long STDCALL mysql_thread_id(MYSQL *mysql);
-const char * STDCALL mysql_character_set_name(MYSQL *mysql);
-int STDCALL mysql_set_character_set(MYSQL *mysql, const char *csname);
-
-MYSQL * STDCALL mysql_init(MYSQL *mysql);
-my_bool STDCALL mysql_ssl_set(MYSQL *mysql, const char *key,
- const char *cert, const char *ca,
- const char *capath, const char *cipher);
-const char * STDCALL mysql_get_ssl_cipher(MYSQL *mysql);
-my_bool STDCALL mysql_change_user(MYSQL *mysql, const char *user,
- const char *passwd, const char *db);
-MYSQL * STDCALL mysql_real_connect(MYSQL *mysql, const char *host,
- const char *user,
- const char *passwd,
- const char *db,
- unsigned int port,
- const char *unix_socket,
- unsigned long clientflag);
-int STDCALL mysql_select_db(MYSQL *mysql, const char *db);
-int STDCALL mysql_query(MYSQL *mysql, const char *q);
-int STDCALL mysql_send_query(MYSQL *mysql, const char *q,
- unsigned long length);
-int STDCALL mysql_real_query(MYSQL *mysql, const char *q,
- unsigned long length);
-MYSQL_RES * STDCALL mysql_store_result(MYSQL *mysql);
-MYSQL_RES * STDCALL mysql_use_result(MYSQL *mysql);
-
-/* perform query on master */
-my_bool STDCALL mysql_master_query(MYSQL *mysql, const char *q,
- unsigned long length);
-my_bool STDCALL mysql_master_send_query(MYSQL *mysql, const char *q,
- unsigned long length);
-/* perform query on slave */
-my_bool STDCALL mysql_slave_query(MYSQL *mysql, const char *q,
- unsigned long length);
-my_bool STDCALL mysql_slave_send_query(MYSQL *mysql, const char *q,
- unsigned long length);
-void STDCALL mysql_get_character_set_info(MYSQL *mysql,
- MY_CHARSET_INFO *charset);
-
-/* local infile support */
-
-#define LOCAL_INFILE_ERROR_LEN 512
-
-void
-mysql_set_local_infile_handler(MYSQL *mysql,
- int (*local_infile_init)(void **, const char *,
- void *),
- int (*local_infile_read)(void *, char *,
- unsigned int),
- void (*local_infile_end)(void *),
- int (*local_infile_error)(void *, char*,
- unsigned int),
- void *);
-
-void
-mysql_set_local_infile_default(MYSQL *mysql);
-
-
-/*
- enable/disable parsing of all queries to decide if they go on master or
- slave
-*/
-void STDCALL mysql_enable_rpl_parse(MYSQL* mysql);
-void STDCALL mysql_disable_rpl_parse(MYSQL* mysql);
-/* get the value of the parse flag */
-int STDCALL mysql_rpl_parse_enabled(MYSQL* mysql);
-
-/* enable/disable reads from master */
-void STDCALL mysql_enable_reads_from_master(MYSQL* mysql);
-void STDCALL mysql_disable_reads_from_master(MYSQL* mysql);
-/* get the value of the master read flag */
-my_bool STDCALL mysql_reads_from_master_enabled(MYSQL* mysql);
-
-enum mysql_rpl_type STDCALL mysql_rpl_query_type(const char* q, int len);
-
-/* discover the master and its slaves */
-my_bool STDCALL mysql_rpl_probe(MYSQL* mysql);
-
-/* set the master, close/free the old one, if it is not a pivot */
-int STDCALL mysql_set_master(MYSQL* mysql, const char* host,
- unsigned int port,
- const char* user,
- const char* passwd);
-int STDCALL mysql_add_slave(MYSQL* mysql, const char* host,
- unsigned int port,
- const char* user,
- const char* passwd);
-
-int STDCALL mysql_shutdown(MYSQL *mysql,
- enum mysql_enum_shutdown_level
- shutdown_level);
-int STDCALL mysql_dump_debug_info(MYSQL *mysql);
-int STDCALL mysql_refresh(MYSQL *mysql,
- unsigned int refresh_options);
-int STDCALL mysql_kill(MYSQL *mysql,unsigned long pid);
-int STDCALL mysql_set_server_option(MYSQL *mysql,
- enum enum_mysql_set_option
- option);
-int STDCALL mysql_ping(MYSQL *mysql);
-const char * STDCALL mysql_stat(MYSQL *mysql);
-const char * STDCALL mysql_get_server_info(MYSQL *mysql);
-const char * STDCALL mysql_get_client_info(void);
-unsigned long STDCALL mysql_get_client_version(void);
-const char * STDCALL mysql_get_host_info(MYSQL *mysql);
-unsigned long STDCALL mysql_get_server_version(MYSQL *mysql);
-unsigned int STDCALL mysql_get_proto_info(MYSQL *mysql);
-MYSQL_RES * STDCALL mysql_list_dbs(MYSQL *mysql,const char *wild);
-MYSQL_RES * STDCALL mysql_list_tables(MYSQL *mysql,const char *wild);
-MYSQL_RES * STDCALL mysql_list_processes(MYSQL *mysql);
-int STDCALL mysql_options(MYSQL *mysql,enum mysql_option option,
- const void *arg);
-void STDCALL mysql_free_result(MYSQL_RES *result);
-void STDCALL mysql_data_seek(MYSQL_RES *result,
- my_ulonglong offset);
-MYSQL_ROW_OFFSET STDCALL mysql_row_seek(MYSQL_RES *result,
- MYSQL_ROW_OFFSET offset);
-MYSQL_FIELD_OFFSET STDCALL mysql_field_seek(MYSQL_RES *result,
- MYSQL_FIELD_OFFSET offset);
-MYSQL_ROW STDCALL mysql_fetch_row(MYSQL_RES *result);
-unsigned long * STDCALL mysql_fetch_lengths(MYSQL_RES *result);
-MYSQL_FIELD * STDCALL mysql_fetch_field(MYSQL_RES *result);
-MYSQL_RES * STDCALL mysql_list_fields(MYSQL *mysql, const char *table,
- const char *wild);
-unsigned long STDCALL mysql_escape_string(char *to,const char *from,
- unsigned long from_length);
-unsigned long STDCALL mysql_hex_string(char *to,const char *from,
- unsigned long from_length);
-unsigned long STDCALL mysql_real_escape_string(MYSQL *mysql,
- char *to,const char *from,
- unsigned long length);
-void STDCALL mysql_debug(const char *debug);
-void STDCALL myodbc_remove_escape(MYSQL *mysql,char *name);
-unsigned int STDCALL mysql_thread_safe(void);
-my_bool STDCALL mysql_embedded(void);
-MYSQL_MANAGER* STDCALL mysql_manager_init(MYSQL_MANAGER* con);
-MYSQL_MANAGER* STDCALL mysql_manager_connect(MYSQL_MANAGER* con,
- const char* host,
- const char* user,
- const char* passwd,
- unsigned int port);
-void STDCALL mysql_manager_close(MYSQL_MANAGER* con);
-int STDCALL mysql_manager_command(MYSQL_MANAGER* con,
- const char* cmd, int cmd_len);
-int STDCALL mysql_manager_fetch_line(MYSQL_MANAGER* con,
- char* res_buf,
- int res_buf_size);
-my_bool STDCALL mysql_read_query_result(MYSQL *mysql);
-
-
-/*
- The following definitions are added for the enhanced
- client-server protocol
-*/
-
-/* statement state */
-enum enum_mysql_stmt_state
-{
- MYSQL_STMT_INIT_DONE= 1, MYSQL_STMT_PREPARE_DONE, MYSQL_STMT_EXECUTE_DONE,
- MYSQL_STMT_FETCH_DONE
-};
-
-
-/*
- This structure is used to define bind information, and
- internally by the client library.
- Public members with their descriptions are listed below
- (conventionally `On input' refers to the binds given to
- mysql_stmt_bind_param, `On output' refers to the binds given
- to mysql_stmt_bind_result):
-
- buffer_type - One of the MYSQL_* types, used to describe
- the host language type of buffer.
- On output: if column type is different from
- buffer_type, column value is automatically converted
- to buffer_type before it is stored in the buffer.
- buffer - On input: points to the buffer with input data.
- On output: points to the buffer capable to store
- output data.
- The type of memory pointed by buffer must correspond
- to buffer_type. See the correspondence table in
- the comment to mysql_stmt_bind_param.
-
- The two above members are mandatory for any kind of bind.
-
- buffer_length - the length of the buffer. You don't have to set
- it for any fixed length buffer: float, double,
- int, etc. It must be set however for variable-length
- types, such as BLOBs or STRINGs.
-
- length - On input: in case when lengths of input values
- are different for each execute, you can set this to
- point at a variable containining value length. This
- way the value length can be different in each execute.
- If length is not NULL, buffer_length is not used.
- Note, length can even point at buffer_length if
- you keep bind structures around while fetching:
- this way you can change buffer_length before
- each execution, everything will work ok.
- On output: if length is set, mysql_stmt_fetch will
- write column length into it.
-
- is_null - On input: points to a boolean variable that should
- be set to TRUE for NULL values.
- This member is useful only if your data may be
- NULL in some but not all cases.
- If your data is never NULL, is_null should be set to 0.
- If your data is always NULL, set buffer_type
- to MYSQL_TYPE_NULL, and is_null will not be used.
-
- is_unsigned - On input: used to signify that values provided for one
- of numeric types are unsigned.
- On output describes signedness of the output buffer.
- If, taking into account is_unsigned flag, column data
- is out of range of the output buffer, data for this column
- is regarded truncated. Note that this has no correspondence
- to the sign of result set column, if you need to find it out
- use mysql_stmt_result_metadata.
- error - where to write a truncation error if it is present.
- possible error value is:
- 0 no truncation
- 1 value is out of range or buffer is too small
-
- Please note that MYSQL_BIND also has internals members.
-*/
-
-typedef struct st_mysql_bind
-{
- unsigned long *length; /* output length pointer */
- my_bool *is_null; /* Pointer to null indicator */
- void *buffer; /* buffer to get/put data */
- /* set this if you want to track data truncations happened during fetch */
- my_bool *error;
- unsigned char *row_ptr; /* for the current data position */
- void (*store_param_func)(NET *net, struct st_mysql_bind *param);
- void (*fetch_result)(struct st_mysql_bind *, MYSQL_FIELD *,
- unsigned char **row);
- void (*skip_result)(struct st_mysql_bind *, MYSQL_FIELD *,
- unsigned char **row);
- /* output buffer length, must be set when fetching str/binary */
- unsigned long buffer_length;
- unsigned long offset; /* offset position for char/binary fetch */
- unsigned long length_value; /* Used if length is 0 */
- unsigned int param_number; /* For null count and error messages */
- unsigned int pack_length; /* Internal length for packed data */
- enum enum_field_types buffer_type; /* buffer type */
- my_bool error_value; /* used if error is 0 */
- my_bool is_unsigned; /* set if integer type is unsigned */
- my_bool long_data_used; /* If used with mysql_send_long_data */
- my_bool is_null_value; /* Used if is_null is 0 */
- void *extension;
-} MYSQL_BIND;
-
-
-/* statement handler */
-typedef struct st_mysql_stmt
-{
- MEM_ROOT mem_root; /* root allocations */
- LIST list; /* list to keep track of all stmts */
- MYSQL *mysql; /* connection handle */
- MYSQL_BIND *params; /* input parameters */
- MYSQL_BIND *bind; /* output parameters */
- MYSQL_FIELD *fields; /* result set metadata */
- MYSQL_DATA result; /* cached result set */
- MYSQL_ROWS *data_cursor; /* current row in cached result */
- /*
- mysql_stmt_fetch() calls this function to fetch one row (it's different
- for buffered, unbuffered and cursor fetch).
- */
- int (*read_row_func)(struct st_mysql_stmt *stmt,
- unsigned char **row);
- /* copy of mysql->affected_rows after statement execution */
- my_ulonglong affected_rows;
- my_ulonglong insert_id; /* copy of mysql->insert_id */
- unsigned long stmt_id; /* Id for prepared statement */
- unsigned long flags; /* i.e. type of cursor to open */
- unsigned long prefetch_rows; /* number of rows per one COM_FETCH */
- /*
- Copied from mysql->server_status after execute/fetch to know
- server-side cursor status for this statement.
- */
- unsigned int server_status;
- unsigned int last_errno; /* error code */
- unsigned int param_count; /* input parameter count */
- unsigned int field_count; /* number of columns in result set */
- enum enum_mysql_stmt_state state; /* statement state */
- char last_error[MYSQL_ERRMSG_SIZE]; /* error message */
- char sqlstate[SQLSTATE_LENGTH+1];
- /* Types of input parameters should be sent to server */
- my_bool send_types_to_server;
- my_bool bind_param_done; /* input buffers were supplied */
- unsigned char bind_result_done; /* output buffers were supplied */
- /* mysql_stmt_close() had to cancel this result */
- my_bool unbuffered_fetch_cancelled;
- /*
- Is set to true if we need to calculate field->max_length for
- metadata fields when doing mysql_stmt_store_result.
- */
- my_bool update_max_length;
- void *extension;
-} MYSQL_STMT;
-
-enum enum_stmt_attr_type
-{
- /*
- When doing mysql_stmt_store_result calculate max_length attribute
- of statement metadata. This is to be consistent with the old API,
- where this was done automatically.
- In the new API we do that only by request because it slows down
- mysql_stmt_store_result sufficiently.
- */
- STMT_ATTR_UPDATE_MAX_LENGTH,
- /*
- unsigned long with combination of cursor flags (read only, for update,
- etc)
- */
- STMT_ATTR_CURSOR_TYPE,
- /*
- Amount of rows to retrieve from server per one fetch if using cursors.
- Accepts unsigned long attribute in the range 1 - ulong_max
- */
- STMT_ATTR_PREFETCH_ROWS
-};
-
-
-typedef struct st_mysql_methods
-{
- my_bool (*read_query_result)(MYSQL *mysql);
- my_bool (*advanced_command)(MYSQL *mysql,
- enum enum_server_command command,
- const unsigned char *header,
- unsigned long header_length,
- const unsigned char *arg,
- unsigned long arg_length,
- my_bool skip_check,
- MYSQL_STMT *stmt);
- MYSQL_DATA *(*read_rows)(MYSQL *mysql,MYSQL_FIELD *mysql_fields,
- unsigned int fields);
- MYSQL_RES * (*use_result)(MYSQL *mysql);
- void (*fetch_lengths)(unsigned long *to,
- MYSQL_ROW column, unsigned int field_count);
- void (*flush_use_result)(MYSQL *mysql);
-#if !defined(MYSQL_SERVER) || defined(EMBEDDED_LIBRARY)
- MYSQL_FIELD * (*list_fields)(MYSQL *mysql);
- my_bool (*read_prepare_result)(MYSQL *mysql, MYSQL_STMT *stmt);
- int (*stmt_execute)(MYSQL_STMT *stmt);
- int (*read_binary_rows)(MYSQL_STMT *stmt);
- int (*unbuffered_fetch)(MYSQL *mysql, char **row);
- void (*free_embedded_thd)(MYSQL *mysql);
- const char *(*read_statistics)(MYSQL *mysql);
- my_bool (*next_result)(MYSQL *mysql);
- int (*read_change_user_result)(MYSQL *mysql, char *buff, const char *passwd);
- int (*read_rows_from_cursor)(MYSQL_STMT *stmt);
-#endif
-} MYSQL_METHODS;
-
-
-MYSQL_STMT * STDCALL mysql_stmt_init(MYSQL *mysql);
-int STDCALL mysql_stmt_prepare(MYSQL_STMT *stmt, const char *query,
- unsigned long length);
-int STDCALL mysql_stmt_execute(MYSQL_STMT *stmt);
-int STDCALL mysql_stmt_fetch(MYSQL_STMT *stmt);
-int STDCALL mysql_stmt_fetch_column(MYSQL_STMT *stmt, MYSQL_BIND *bind_arg,
- unsigned int column,
- unsigned long offset);
-int STDCALL mysql_stmt_store_result(MYSQL_STMT *stmt);
-unsigned long STDCALL mysql_stmt_param_count(MYSQL_STMT * stmt);
-my_bool STDCALL mysql_stmt_attr_set(MYSQL_STMT *stmt,
- enum enum_stmt_attr_type attr_type,
- const void *attr);
-my_bool STDCALL mysql_stmt_attr_get(MYSQL_STMT *stmt,
- enum enum_stmt_attr_type attr_type,
- void *attr);
-my_bool STDCALL mysql_stmt_bind_param(MYSQL_STMT * stmt, MYSQL_BIND * bnd);
-my_bool STDCALL mysql_stmt_bind_result(MYSQL_STMT * stmt, MYSQL_BIND * bnd);
-my_bool STDCALL mysql_stmt_close(MYSQL_STMT * stmt);
-my_bool STDCALL mysql_stmt_reset(MYSQL_STMT * stmt);
-my_bool STDCALL mysql_stmt_free_result(MYSQL_STMT *stmt);
-my_bool STDCALL mysql_stmt_send_long_data(MYSQL_STMT *stmt,
- unsigned int param_number,
- const char *data,
- unsigned long length);
-MYSQL_RES *STDCALL mysql_stmt_result_metadata(MYSQL_STMT *stmt);
-MYSQL_RES *STDCALL mysql_stmt_param_metadata(MYSQL_STMT *stmt);
-unsigned int STDCALL mysql_stmt_errno(MYSQL_STMT * stmt);
-const char *STDCALL mysql_stmt_error(MYSQL_STMT * stmt);
-const char *STDCALL mysql_stmt_sqlstate(MYSQL_STMT * stmt);
-MYSQL_ROW_OFFSET STDCALL mysql_stmt_row_seek(MYSQL_STMT *stmt,
- MYSQL_ROW_OFFSET offset);
-MYSQL_ROW_OFFSET STDCALL mysql_stmt_row_tell(MYSQL_STMT *stmt);
-void STDCALL mysql_stmt_data_seek(MYSQL_STMT *stmt, my_ulonglong offset);
-my_ulonglong STDCALL mysql_stmt_num_rows(MYSQL_STMT *stmt);
-my_ulonglong STDCALL mysql_stmt_affected_rows(MYSQL_STMT *stmt);
-my_ulonglong STDCALL mysql_stmt_insert_id(MYSQL_STMT *stmt);
-unsigned int STDCALL mysql_stmt_field_count(MYSQL_STMT *stmt);
-
-my_bool STDCALL mysql_commit(MYSQL * mysql);
-my_bool STDCALL mysql_rollback(MYSQL * mysql);
-my_bool STDCALL mysql_autocommit(MYSQL * mysql, my_bool auto_mode);
-my_bool STDCALL mysql_more_results(MYSQL *mysql);
-int STDCALL mysql_next_result(MYSQL *mysql);
-void STDCALL mysql_close(MYSQL *sock);
-
-
-/* status return codes */
-#define MYSQL_NO_DATA 100
-#define MYSQL_DATA_TRUNCATED 101
-
-#define mysql_reload(mysql) mysql_refresh((mysql),REFRESH_GRANT)
-
-#ifdef USE_OLD_FUNCTIONS
-MYSQL * STDCALL mysql_connect(MYSQL *mysql, const char *host,
- const char *user, const char *passwd);
-int STDCALL mysql_create_db(MYSQL *mysql, const char *DB);
-int STDCALL mysql_drop_db(MYSQL *mysql, const char *DB);
-#define mysql_reload(mysql) mysql_refresh((mysql),REFRESH_GRANT)
-#endif
-#define HAVE_MYSQL_REAL_CONNECT
-
-/*
- The following functions are mainly exported because of mysqlbinlog;
- They are not for general usage
-*/
-
-#define simple_command(mysql, command, arg, length, skip_check) \
- (*(mysql)->methods->advanced_command)(mysql, command, 0, \
- 0, arg, length, skip_check, NULL)
-#define stmt_command(mysql, command, arg, length, stmt) \
- (*(mysql)->methods->advanced_command)(mysql, command, 0, \
- 0, arg, length, 1, stmt)
-
-#ifdef __NETWARE__
-#pragma pack(pop) /* restore alignment */
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _mysql_h */
diff --git a/lib/libmysql_win32/include/mysql/plugin.h b/lib/libmysql_win32/include/mysql/plugin.h
deleted file mode 100644
index 2e59262d06..0000000000
--- a/lib/libmysql_win32/include/mysql/plugin.h
+++ /dev/null
@@ -1,832 +0,0 @@
-/* Copyright (C) 2005 MySQL 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; version 2 of the License.
-
- 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 _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;
-#define MYSQL_THD THD*
-#else
-#define MYSQL_THD void*
-#endif
-
-#ifndef _m_string_h
-/* This definition must match the one given in m_string.h */
-struct st_mysql_lex_string
-{
- char *str;
- unsigned int length;
-};
-#endif /* _m_string_h */
-typedef struct st_mysql_lex_string MYSQL_LEX_STRING;
-
-#define MYSQL_XIDDATASIZE 128
-/**
- struct st_mysql_xid is binary compatible with the XID structure as
- in the X/Open CAE Specification, Distributed Transaction Processing:
- The XA Specification, X/Open Company Ltd., 1991.
- http://www.opengroup.org/bookstore/catalog/c193.htm
-
- @see XID in sql/handler.h
-*/
-struct st_mysql_xid {
- long formatID;
- long gtrid_length;
- long bqual_length;
- char data[MYSQL_XIDDATASIZE]; /* Not \0-terminated */
-};
-typedef struct st_mysql_xid MYSQL_XID;
-
-/*************************************************************************
- Plugin API. Common for all plugin types.
-*/
-
-#define MYSQL_PLUGIN_INTERFACE_VERSION 0x0100
-
-/*
- The allowable types of plugins
-*/
-#define MYSQL_UDF_PLUGIN 0 /* User-defined function */
-#define MYSQL_STORAGE_ENGINE_PLUGIN 1 /* Storage Engine */
-#define MYSQL_FTPARSER_PLUGIN 2 /* Full-text parser plugin */
-#define MYSQL_DAEMON_PLUGIN 3 /* The daemon/raw plugin type */
-#define MYSQL_INFORMATION_SCHEMA_PLUGIN 4 /* The I_S plugin type */
-#define MYSQL_MAX_PLUGIN_TYPE_NUM 5 /* The number of plugin types */
-
-/* We use the following strings to define licenses for plugins */
-#define PLUGIN_LICENSE_PROPRIETARY 0
-#define PLUGIN_LICENSE_GPL 1
-#define PLUGIN_LICENSE_BSD 2
-
-#define PLUGIN_LICENSE_PROPRIETARY_STRING "PROPRIETARY"
-#define PLUGIN_LICENSE_GPL_STRING "GPL"
-#define PLUGIN_LICENSE_BSD_STRING "BSD"
-
-/*
- Macros for beginning and ending plugin declarations. Between
- mysql_declare_plugin and mysql_declare_plugin_end there should
- be a st_mysql_plugin struct for each plugin to be declared.
-*/
-
-
-#ifndef MYSQL_DYNAMIC_PLUGIN
-#define __MYSQL_DECLARE_PLUGIN(NAME, VERSION, PSIZE, DECLS) \
-int VERSION= MYSQL_PLUGIN_INTERFACE_VERSION; \
-int PSIZE= sizeof(struct st_mysql_plugin); \
-struct st_mysql_plugin DECLS[]= {
-#else
-#define __MYSQL_DECLARE_PLUGIN(NAME, VERSION, PSIZE, DECLS) \
-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) \
-__MYSQL_DECLARE_PLUGIN(NAME, \
- builtin_ ## NAME ## _plugin_interface_version, \
- builtin_ ## NAME ## _sizeof_struct_st_plugin, \
- builtin_ ## NAME ## _plugin)
-
-#define mysql_declare_plugin_end ,{0,0,0,0,0,0,0,0,0,0,0,0}}
-
-/*
- declarations for SHOW STATUS support in plugins
-*/
-enum enum_mysql_show_type
-{
- SHOW_UNDEF, SHOW_BOOL, SHOW_INT, SHOW_LONG,
- SHOW_LONGLONG, SHOW_CHAR, SHOW_CHAR_PTR,
- SHOW_ARRAY, SHOW_FUNC, SHOW_DOUBLE
-};
-
-struct st_mysql_show_var {
- const char *name;
- char *value;
- enum enum_mysql_show_type type;
-};
-
-#define SHOW_VAR_FUNC_BUFF_SIZE 1024
-typedef int (*mysql_show_var_func)(MYSQL_THD, struct st_mysql_show_var*, char *);
-
-
-/*
- declarations for server variables and command line options
-*/
-
-
-#define PLUGIN_VAR_BOOL 0x0001
-#define PLUGIN_VAR_INT 0x0002
-#define PLUGIN_VAR_LONG 0x0003
-#define PLUGIN_VAR_LONGLONG 0x0004
-#define PLUGIN_VAR_STR 0x0005
-#define PLUGIN_VAR_ENUM 0x0006
-#define PLUGIN_VAR_SET 0x0007
-#define PLUGIN_VAR_UNSIGNED 0x0080
-#define PLUGIN_VAR_THDLOCAL 0x0100 /* Variable is per-connection */
-#define PLUGIN_VAR_READONLY 0x0200 /* Server variable is read only */
-#define PLUGIN_VAR_NOSYSVAR 0x0400 /* Not a server variable */
-#define PLUGIN_VAR_NOCMDOPT 0x0800 /* Not a command line option */
-#define PLUGIN_VAR_NOCMDARG 0x1000 /* No argument for cmd line */
-#define PLUGIN_VAR_RQCMDARG 0x0000 /* Argument required for cmd line */
-#define PLUGIN_VAR_OPCMDARG 0x2000 /* Argument optional for cmd line */
-#define PLUGIN_VAR_MEMALLOC 0x8000 /* String needs memory allocated */
-
-struct st_mysql_sys_var;
-struct st_mysql_value;
-
-/*
- SYNOPSIS
- (*mysql_var_check_func)()
- thd thread handle
- var dynamic variable being altered
- save pointer to temporary storage
- value user provided value
- RETURN
- 0 user provided value is OK and the update func may be called.
- any other value indicates error.
-
- This function should parse the user provided value and store in the
- provided temporary storage any data as required by the update func.
- There is sufficient space in the temporary storage to store a double.
- Note that the update func may not be called if any other error occurs
- so any memory allocated should be thread-local so that it may be freed
- automatically at the end of the statement.
-*/
-
-typedef int (*mysql_var_check_func)(MYSQL_THD thd,
- struct st_mysql_sys_var *var,
- void *save, struct st_mysql_value *value);
-
-/*
- SYNOPSIS
- (*mysql_var_update_func)()
- thd thread handle
- var dynamic variable being altered
- var_ptr pointer to dynamic variable
- save pointer to temporary storage
- RETURN
- NONE
-
- This function should use the validated value stored in the temporary store
- and persist it in the provided pointer to the dynamic variable.
- For example, strings may require memory to be allocated.
-*/
-typedef void (*mysql_var_update_func)(MYSQL_THD thd,
- struct st_mysql_sys_var *var,
- void *var_ptr, const void *save);
-
-
-/* the following declarations are for internal use only */
-
-
-#define PLUGIN_VAR_MASK \
- (PLUGIN_VAR_READONLY | PLUGIN_VAR_NOSYSVAR | \
- PLUGIN_VAR_NOCMDOPT | PLUGIN_VAR_NOCMDARG | \
- PLUGIN_VAR_OPCMDARG | PLUGIN_VAR_RQCMDARG | PLUGIN_VAR_MEMALLOC)
-
-#define MYSQL_PLUGIN_VAR_HEADER \
- int flags; \
- const char *name; \
- const char *comment; \
- mysql_var_check_func check; \
- mysql_var_update_func update
-
-#define MYSQL_SYSVAR_NAME(name) mysql_sysvar_ ## name
-#define MYSQL_SYSVAR(name) \
- ((struct st_mysql_sys_var *)&(MYSQL_SYSVAR_NAME(name)))
-
-/*
- for global variables, the value pointer is the first
- element after the header, the default value is the second.
- for thread variables, the value offset is the first
- element after the header, the default value is the second.
-*/
-
-
-#define DECLARE_MYSQL_SYSVAR_BASIC(name, type) struct { \
- MYSQL_PLUGIN_VAR_HEADER; \
- type *value; \
- const type def_val; \
-} MYSQL_SYSVAR_NAME(name)
-
-#define DECLARE_MYSQL_SYSVAR_SIMPLE(name, type) struct { \
- MYSQL_PLUGIN_VAR_HEADER; \
- type *value; type def_val; \
- type min_val; type max_val; \
- type blk_sz; \
-} MYSQL_SYSVAR_NAME(name)
-
-#define DECLARE_MYSQL_SYSVAR_TYPELIB(name, type) struct { \
- MYSQL_PLUGIN_VAR_HEADER; \
- type *value; type def_val; \
- TYPELIB *typelib; \
-} MYSQL_SYSVAR_NAME(name)
-
-#define DECLARE_THDVAR_FUNC(type) \
- type *(*resolve)(MYSQL_THD thd, int offset)
-
-#define DECLARE_MYSQL_THDVAR_BASIC(name, type) struct { \
- MYSQL_PLUGIN_VAR_HEADER; \
- int offset; \
- const type def_val; \
- DECLARE_THDVAR_FUNC(type); \
-} MYSQL_SYSVAR_NAME(name)
-
-#define DECLARE_MYSQL_THDVAR_SIMPLE(name, type) struct { \
- MYSQL_PLUGIN_VAR_HEADER; \
- int offset; \
- type def_val; type min_val; \
- type max_val; type blk_sz; \
- DECLARE_THDVAR_FUNC(type); \
-} MYSQL_SYSVAR_NAME(name)
-
-#define DECLARE_MYSQL_THDVAR_TYPELIB(name, type) struct { \
- MYSQL_PLUGIN_VAR_HEADER; \
- int offset; \
- type def_val; \
- DECLARE_THDVAR_FUNC(type); \
- TYPELIB *typelib; \
-} MYSQL_SYSVAR_NAME(name)
-
-
-/*
- the following declarations are for use by plugin implementors
-*/
-
-#define MYSQL_SYSVAR_BOOL(name, varname, opt, comment, check, update, def) \
-DECLARE_MYSQL_SYSVAR_BASIC(name, char) = { \
- PLUGIN_VAR_BOOL | ((opt) & PLUGIN_VAR_MASK), \
- #name, comment, check, update, &varname, def}
-
-#define MYSQL_SYSVAR_STR(name, varname, opt, comment, check, update, def) \
-DECLARE_MYSQL_SYSVAR_BASIC(name, char *) = { \
- PLUGIN_VAR_STR | ((opt) & PLUGIN_VAR_MASK), \
- #name, comment, check, update, &varname, def}
-
-#define MYSQL_SYSVAR_INT(name, varname, opt, comment, check, update, def, min, max, blk) \
-DECLARE_MYSQL_SYSVAR_SIMPLE(name, int) = { \
- PLUGIN_VAR_INT | ((opt) & PLUGIN_VAR_MASK), \
- #name, comment, check, update, &varname, def, min, max, blk }
-
-#define MYSQL_SYSVAR_UINT(name, varname, opt, comment, check, update, def, min, max, blk) \
-DECLARE_MYSQL_SYSVAR_SIMPLE(name, unsigned int) = { \
- PLUGIN_VAR_INT | PLUGIN_VAR_UNSIGNED | ((opt) & PLUGIN_VAR_MASK), \
- #name, comment, check, update, &varname, def, min, max, blk }
-
-#define MYSQL_SYSVAR_LONG(name, varname, opt, comment, check, update, def, min, max, blk) \
-DECLARE_MYSQL_SYSVAR_SIMPLE(name, long) = { \
- PLUGIN_VAR_LONG | ((opt) & PLUGIN_VAR_MASK), \
- #name, comment, check, update, &varname, def, min, max, blk }
-
-#define MYSQL_SYSVAR_ULONG(name, varname, opt, comment, check, update, def, min, max, blk) \
-DECLARE_MYSQL_SYSVAR_SIMPLE(name, unsigned long) = { \
- PLUGIN_VAR_LONG | PLUGIN_VAR_UNSIGNED | ((opt) & PLUGIN_VAR_MASK), \
- #name, comment, check, update, &varname, def, min, max, blk }
-
-#define MYSQL_SYSVAR_LONGLONG(name, varname, opt, comment, check, update, def, min, max, blk) \
-DECLARE_MYSQL_SYSVAR_SIMPLE(name, long long) = { \
- PLUGIN_VAR_LONGLONG | ((opt) & PLUGIN_VAR_MASK), \
- #name, comment, check, update, &varname, def, min, max, blk }
-
-#define MYSQL_SYSVAR_ULONGLONG(name, varname, opt, comment, check, update, def, min, max, blk) \
-DECLARE_MYSQL_SYSVAR_SIMPLE(name, unsigned long long) = { \
- PLUGIN_VAR_LONGLONG | PLUGIN_VAR_UNSIGNED | ((opt) & PLUGIN_VAR_MASK), \
- #name, comment, check, update, &varname, def, min, max, blk }
-
-#define MYSQL_SYSVAR_ENUM(name, varname, opt, comment, check, update, def, typelib) \
-DECLARE_MYSQL_SYSVAR_TYPELIB(name, unsigned long) = { \
- PLUGIN_VAR_ENUM | ((opt) & PLUGIN_VAR_MASK), \
- #name, comment, check, update, &varname, def, typelib }
-
-#define MYSQL_SYSVAR_SET(name, varname, opt, comment, check, update, def, typelib) \
-DECLARE_MYSQL_SYSVAR_TYPELIB(name, unsigned long long) = { \
- PLUGIN_VAR_SET | ((opt) & PLUGIN_VAR_MASK), \
- #name, comment, check, update, &varname, def, typelib }
-
-#define MYSQL_THDVAR_BOOL(name, opt, comment, check, update, def) \
-DECLARE_MYSQL_THDVAR_BASIC(name, char) = { \
- PLUGIN_VAR_BOOL | PLUGIN_VAR_THDLOCAL | ((opt) & PLUGIN_VAR_MASK), \
- #name, comment, check, update, -1, def, NULL}
-
-#define MYSQL_THDVAR_STR(name, opt, comment, check, update, def) \
-DECLARE_MYSQL_THDVAR_BASIC(name, char *) = { \
- PLUGIN_VAR_STR | PLUGIN_VAR_THDLOCAL | ((opt) & PLUGIN_VAR_MASK), \
- #name, comment, check, update, -1, def, NULL}
-
-#define MYSQL_THDVAR_INT(name, opt, comment, check, update, def, min, max, blk) \
-DECLARE_MYSQL_THDVAR_SIMPLE(name, int) = { \
- PLUGIN_VAR_INT | PLUGIN_VAR_THDLOCAL | ((opt) & PLUGIN_VAR_MASK), \
- #name, comment, check, update, -1, def, min, max, blk, NULL }
-
-#define MYSQL_THDVAR_UINT(name, opt, comment, check, update, def, min, max, blk) \
-DECLARE_MYSQL_THDVAR_SIMPLE(name, unsigned int) = { \
- PLUGIN_VAR_INT | PLUGIN_VAR_THDLOCAL | PLUGIN_VAR_UNSIGNED | ((opt) & PLUGIN_VAR_MASK), \
- #name, comment, check, update, -1, def, min, max, blk, NULL }
-
-#define MYSQL_THDVAR_LONG(name, opt, comment, check, update, def, min, max, blk) \
-DECLARE_MYSQL_THDVAR_SIMPLE(name, long) = { \
- PLUGIN_VAR_LONG | PLUGIN_VAR_THDLOCAL | ((opt) & PLUGIN_VAR_MASK), \
- #name, comment, check, update, -1, def, min, max, blk, NULL }
-
-#define MYSQL_THDVAR_ULONG(name, opt, comment, check, update, def, min, max, blk) \
-DECLARE_MYSQL_THDVAR_SIMPLE(name, unsigned long) = { \
- PLUGIN_VAR_LONG | PLUGIN_VAR_THDLOCAL | PLUGIN_VAR_UNSIGNED | ((opt) & PLUGIN_VAR_MASK), \
- #name, comment, check, update, -1, def, min, max, blk, NULL }
-
-#define MYSQL_THDVAR_LONGLONG(name, opt, comment, check, update, def, min, max, blk) \
-DECLARE_MYSQL_THDVAR_SIMPLE(name, long long) = { \
- PLUGIN_VAR_LONGLONG | PLUGIN_VAR_THDLOCAL | ((opt) & PLUGIN_VAR_MASK), \
- #name, comment, check, update, -1, def, min, max, blk, NULL }
-
-#define MYSQL_THDVAR_ULONGLONG(name, opt, comment, check, update, def, min, max, blk) \
-DECLARE_MYSQL_THDVAR_SIMPLE(name, unsigned long long) = { \
- PLUGIN_VAR_LONGLONG | PLUGIN_VAR_THDLOCAL | PLUGIN_VAR_UNSIGNED | ((opt) & PLUGIN_VAR_MASK), \
- #name, comment, check, update, -1, def, min, max, blk, NULL }
-
-#define MYSQL_THDVAR_ENUM(name, opt, comment, check, update, def, typelib) \
-DECLARE_MYSQL_THDVAR_TYPELIB(name, unsigned long) = { \
- PLUGIN_VAR_ENUM | PLUGIN_VAR_THDLOCAL | ((opt) & PLUGIN_VAR_MASK), \
- #name, comment, check, update, -1, def, NULL, typelib }
-
-#define MYSQL_THDVAR_SET(name, opt, comment, check, update, def, typelib) \
-DECLARE_MYSQL_THDVAR_TYPELIB(name, unsigned long long) = { \
- PLUGIN_VAR_SET | PLUGIN_VAR_THDLOCAL | ((opt) & PLUGIN_VAR_MASK), \
- #name, comment, check, update, -1, def, NULL, typelib }
-
-/* accessor macros */
-
-#define SYSVAR(name) \
- (*(MYSQL_SYSVAR_NAME(name).value))
-
-/* when thd == null, result points to global value */
-#define THDVAR(thd, name) \
- (*(MYSQL_SYSVAR_NAME(name).resolve(thd, MYSQL_SYSVAR_NAME(name).offset)))
-
-
-/*
- Plugin description structure.
-*/
-
-struct st_mysql_plugin
-{
- int type; /* the plugin type (a MYSQL_XXX_PLUGIN value) */
- void *info; /* pointer to type-specific plugin descriptor */
- const char *name; /* plugin name */
- const char *author; /* plugin author (for SHOW PLUGINS) */
- const char *descr; /* general descriptive text (for SHOW PLUGINS ) */
- int license; /* the plugin license (PLUGIN_LICENSE_XXX) */
- int (*init)(void *); /* the function to invoke when plugin is loaded */
- int (*deinit)(void *);/* the function to invoke when plugin is unloaded */
- unsigned int version; /* plugin version (for SHOW PLUGINS) */
- struct st_mysql_show_var *status_vars;
- struct st_mysql_sys_var **system_vars;
- void * __reserved1; /* reserved for dependency checking */
-};
-
-/*************************************************************************
- API for Full-text parser plugin. (MYSQL_FTPARSER_PLUGIN)
-*/
-
-#define MYSQL_FTPARSER_INTERFACE_VERSION 0x0100
-
-/* Parsing modes. Set in MYSQL_FTPARSER_PARAM::mode */
-enum enum_ftparser_mode
-{
-/*
- Fast and simple mode. This mode is used for indexing, and natural
- language queries.
-
- The parser is expected to return only those words that go into the
- index. Stopwords or too short/long words should not be returned. The
- 'boolean_info' argument of mysql_add_word() does not have to be set.
-*/
- MYSQL_FTPARSER_SIMPLE_MODE= 0,
-
-/*
- Parse with stopwords mode. This mode is used in boolean searches for
- "phrase matching."
-
- The parser is not allowed to ignore words in this mode. Every word
- should be returned, including stopwords and words that are too short
- or long. The 'boolean_info' argument of mysql_add_word() does not
- have to be set.
-*/
- MYSQL_FTPARSER_WITH_STOPWORDS= 1,
-
-/*
- Parse in boolean mode. This mode is used to parse a boolean query string.
-
- The parser should provide a valid MYSQL_FTPARSER_BOOLEAN_INFO
- structure in the 'boolean_info' argument to mysql_add_word().
- Usually that means that the parser should recognize boolean operators
- in the parsing stream and set appropriate fields in
- MYSQL_FTPARSER_BOOLEAN_INFO structure accordingly. As for
- MYSQL_FTPARSER_WITH_STOPWORDS mode, no word should be ignored.
- Instead, use FT_TOKEN_STOPWORD for the token type of such a word.
-*/
- MYSQL_FTPARSER_FULL_BOOLEAN_INFO= 2
-};
-
-/*
- Token types for boolean mode searching (used for the type member of
- MYSQL_FTPARSER_BOOLEAN_INFO struct)
-
- FT_TOKEN_EOF: End of data.
- FT_TOKEN_WORD: Regular word.
- FT_TOKEN_LEFT_PAREN: Left parenthesis (start of group/sub-expression).
- FT_TOKEN_RIGHT_PAREN: Right parenthesis (end of group/sub-expression).
- FT_TOKEN_STOPWORD: Stopword.
-*/
-
-enum enum_ft_token_type
-{
- FT_TOKEN_EOF= 0,
- FT_TOKEN_WORD= 1,
- FT_TOKEN_LEFT_PAREN= 2,
- FT_TOKEN_RIGHT_PAREN= 3,
- FT_TOKEN_STOPWORD= 4
-};
-
-/*
- This structure is used in boolean search mode only. It conveys
- boolean-mode metadata to the MySQL search engine for every word in
- the search query. A valid instance of this structure must be filled
- in by the plugin parser and passed as an argument in the call to
- mysql_add_word (the callback function in the MYSQL_FTPARSER_PARAM
- structure) when a query is parsed in boolean mode.
-
- type: The token type. Should be one of the enum_ft_token_type values.
-
- yesno: Whether the word must be present for a match to occur:
- >0 Must be present
- <0 Must not be present
- 0 Neither; the word is optional but its presence increases the relevance
- With the default settings of the ft_boolean_syntax system variable,
- >0 corresponds to the '+' operator, <0 corrresponds to the '-' operator,
- and 0 means neither operator was used.
-
- weight_adjust: A weighting factor that determines how much a match
- for the word counts. Positive values increase, negative - decrease the
- relative word's importance in the query.
-
- wasign: The sign of the word's weight in the query. If it's non-negative
- the match for the word will increase document relevance, if it's
- negative - decrease (the word becomes a "noise word", the less of it the
- better).
-
- trunc: Corresponds to the '*' operator in the default setting of the
- ft_boolean_syntax system variable.
-*/
-
-typedef struct st_mysql_ftparser_boolean_info
-{
- enum enum_ft_token_type type;
- int yesno;
- int weight_adjust;
- char wasign;
- char trunc;
- /* These are parser state and must be removed. */
- char prev;
- char *quot;
-} MYSQL_FTPARSER_BOOLEAN_INFO;
-
-/*
- The following flag means that buffer with a string (document, word)
- may be overwritten by the caller before the end of the parsing (that is
- before st_mysql_ftparser::deinit() call). If one needs the string
- to survive between two successive calls of the parsing function, she
- needs to save a copy of it. The flag may be set by MySQL before calling
- st_mysql_ftparser::parse(), or it may be set by a plugin before calling
- st_mysql_ftparser_param::mysql_parse() or
- st_mysql_ftparser_param::mysql_add_word().
-*/
-#define MYSQL_FTFLAGS_NEED_COPY 1
-
-/*
- An argument of the full-text parser plugin. This structure is
- filled in by MySQL server and passed to the parsing function of the
- plugin as an in/out parameter.
-
- mysql_parse: A pointer to the built-in parser implementation of the
- server. It's set by the server and can be used by the parser plugin
- to invoke the MySQL default parser. If plugin's role is to extract
- textual data from .doc, .pdf or .xml content, it might extract
- plaintext from the content, and then pass the text to the default
- MySQL parser to be parsed.
-
- mysql_add_word: A server callback to add a new word. When parsing
- a document, the server sets this to point at a function that adds
- the word to MySQL full-text index. When parsing a search query,
- this function will add the new word to the list of words to search
- for. The boolean_info argument can be NULL for all cases except
- when mode is MYSQL_FTPARSER_FULL_BOOLEAN_INFO.
-
- ftparser_state: A generic pointer. The plugin can set it to point
- to information to be used internally for its own purposes.
-
- mysql_ftparam: This is set by the server. It is used by MySQL functions
- called via mysql_parse() and mysql_add_word() callback. The plugin
- should not modify it.
-
- cs: Information about the character set of the document or query string.
-
- doc: A pointer to the document or query string to be parsed.
-
- length: Length of the document or query string, in bytes.
-
- flags: See MYSQL_FTFLAGS_* constants above.
-
- mode: The parsing mode. With boolean operators, with stopwords, or
- nothing. See enum_ftparser_mode above.
-*/
-
-typedef struct st_mysql_ftparser_param
-{
- int (*mysql_parse)(struct st_mysql_ftparser_param *,
- char *doc, int doc_len);
- int (*mysql_add_word)(struct st_mysql_ftparser_param *,
- char *word, int word_len,
- MYSQL_FTPARSER_BOOLEAN_INFO *boolean_info);
- void *ftparser_state;
- void *mysql_ftparam;
- struct charset_info_st *cs;
- char *doc;
- int length;
- int flags;
- enum enum_ftparser_mode mode;
-} MYSQL_FTPARSER_PARAM;
-
-/*
- Full-text parser descriptor.
-
- interface_version is, e.g., MYSQL_FTPARSER_INTERFACE_VERSION.
- The parsing, initialization, and deinitialization functions are
- invoked per SQL statement for which the parser is used.
-*/
-
-struct st_mysql_ftparser
-{
- int interface_version;
- int (*parse)(MYSQL_FTPARSER_PARAM *param);
- int (*init)(MYSQL_FTPARSER_PARAM *param);
- int (*deinit)(MYSQL_FTPARSER_PARAM *param);
-};
-
-/*************************************************************************
- API for Storage Engine plugin. (MYSQL_DAEMON_PLUGIN)
-*/
-
-/* handlertons of different MySQL releases are incompatible */
-#define MYSQL_DAEMON_INTERFACE_VERSION (MYSQL_VERSION_ID << 8)
-
-/*************************************************************************
- API for I_S plugin. (MYSQL_INFORMATION_SCHEMA_PLUGIN)
-*/
-
-/* handlertons of different MySQL releases are incompatible */
-#define MYSQL_INFORMATION_SCHEMA_INTERFACE_VERSION (MYSQL_VERSION_ID << 8)
-
-/*************************************************************************
- API for Storage Engine plugin. (MYSQL_STORAGE_ENGINE_PLUGIN)
-*/
-
-/* handlertons of different MySQL releases are incompatible */
-#define MYSQL_HANDLERTON_INTERFACE_VERSION (MYSQL_VERSION_ID << 8)
-
-/*
- The real API is in the sql/handler.h
- Here we define only the descriptor structure, that is referred from
- st_mysql_plugin.
-*/
-
-struct st_mysql_storage_engine
-{
- int interface_version;
-};
-
-struct handlerton;
-
-/*
- Here we define only the descriptor structure, that is referred from
- st_mysql_plugin.
-*/
-
-struct st_mysql_daemon
-{
- int interface_version;
-};
-
-/*
- Here we define only the descriptor structure, that is referred from
- st_mysql_plugin.
-*/
-
-struct st_mysql_information_schema
-{
- int interface_version;
-};
-
-
-/*
- st_mysql_value struct for reading values from mysqld.
- Used by server variables framework to parse user-provided values.
- Will be used for arguments when implementing UDFs.
-
- Note that val_str() returns a string in temporary memory
- that will be freed at the end of statement. Copy the string
- if you need it to persist.
-*/
-
-#define MYSQL_VALUE_TYPE_STRING 0
-#define MYSQL_VALUE_TYPE_REAL 1
-#define MYSQL_VALUE_TYPE_INT 2
-
-struct st_mysql_value
-{
- int (*value_type)(struct st_mysql_value *);
- const char *(*val_str)(struct st_mysql_value *, char *buffer, int *length);
- int (*val_real)(struct st_mysql_value *, double *realbuf);
- int (*val_int)(struct st_mysql_value *, long long *intbuf);
-};
-
-
-/*************************************************************************
- Miscellaneous functions for plugin implementors
-*/
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-int thd_in_lock_tables(const MYSQL_THD thd);
-int thd_tablespace_op(const MYSQL_THD thd);
-long long thd_test_options(const MYSQL_THD thd, long long test_options);
-int thd_sql_command(const MYSQL_THD thd);
-const char *thd_proc_info(MYSQL_THD thd, const char *info);
-void **thd_ha_data(const MYSQL_THD thd, const struct handlerton *hton);
-int thd_tx_isolation(const MYSQL_THD thd);
-char *thd_security_context(MYSQL_THD thd, char *buffer, unsigned int length,
- unsigned int max_query_len);
-/* Increments the row counter, see THD::row_count */
-void thd_inc_row_count(MYSQL_THD thd);
-
-/**
- Create a temporary file.
-
- @details
- The temporary file is created in a location specified by the mysql
- server configuration (--tmpdir option). The caller does not need to
- delete the file, it will be deleted automatically.
-
- @param prefix prefix for temporary file name
- @retval -1 error
- @retval >= 0 a file handle that can be passed to dup or my_close
-*/
-int mysql_tmpfile(const char *prefix);
-
-/**
- Check the killed state of a connection
-
- @details
- In MySQL support for the KILL statement is cooperative. The KILL
- statement only sets a "killed" flag. This function returns the value
- of that flag. A thread should check it often, especially inside
- time-consuming loops, and gracefully abort the operation if it is
- non-zero.
-
- @param thd user thread connection handle
- @retval 0 the connection is active
- @retval 1 the connection has been killed
-*/
-int thd_killed(const MYSQL_THD thd);
-
-
-/**
- Return the thread id of a user thread
-
- @param thd user thread connection handle
- @return thread id
-*/
-unsigned long thd_get_thread_id(const MYSQL_THD thd);
-
-
-/**
- Allocate memory in the connection's local memory pool
-
- @details
- When properly used in place of @c my_malloc(), this can significantly
- improve concurrency. Don't use this or related functions to allocate
- large chunks of memory. Use for temporary storage only. The memory
- will be freed automatically at the end of the statement; no explicit
- code is required to prevent memory leaks.
-
- @see alloc_root()
-*/
-void *thd_alloc(MYSQL_THD thd, unsigned int size);
-/**
- @see thd_alloc()
-*/
-void *thd_calloc(MYSQL_THD thd, unsigned int size);
-/**
- @see thd_alloc()
-*/
-char *thd_strdup(MYSQL_THD thd, const char *str);
-/**
- @see thd_alloc()
-*/
-char *thd_strmake(MYSQL_THD thd, const char *str, unsigned int size);
-/**
- @see thd_alloc()
-*/
-void *thd_memdup(MYSQL_THD thd, const void* str, unsigned int size);
-
-/**
- Create a LEX_STRING in this connection's local memory pool
-
- @param thd user thread connection handle
- @param lex_str pointer to LEX_STRING object to be initialized
- @param str initializer to be copied into lex_str
- @param size length of str, in bytes
- @param allocate_lex_string flag: if TRUE, allocate new LEX_STRING object,
- instead of using lex_str value
- @return NULL on failure, or pointer to the LEX_STRING object
-
- @see thd_alloc()
-*/
-MYSQL_LEX_STRING *thd_make_lex_string(MYSQL_THD thd, MYSQL_LEX_STRING *lex_str,
- const char *str, unsigned int size,
- int allocate_lex_string);
-
-/**
- Get the XID for this connection's transaction
-
- @param thd user thread connection handle
- @param xid location where identifier is stored
-*/
-void thd_get_xid(const MYSQL_THD thd, MYSQL_XID *xid);
-
-/**
- Invalidate the query cache for a given table.
-
- @param thd user thread connection handle
- @param key databasename\\0tablename\\0
- @param key_length length of key in bytes, including the NUL bytes
- @param using_trx flag: TRUE if using transactions, FALSE otherwise
-*/
-void mysql_query_cache_invalidate4(MYSQL_THD thd,
- const char *key, unsigned int key_length,
- int using_trx);
-
-#ifdef __cplusplus
-}
-#endif
-
-#ifdef __cplusplus
-/**
- Provide a handler data getter to simplify coding
-*/
-inline
-void *
-thd_get_ha_data(const MYSQL_THD thd, const struct handlerton *hton)
-{
- return *thd_ha_data(thd, hton);
-}
-
-/**
- Provide a handler data setter to simplify coding
-*/
-inline
-void
-thd_set_ha_data(const MYSQL_THD thd, const struct handlerton *hton,
- const void *ha_data)
-{
- *thd_ha_data(thd, hton)= (void*) ha_data;
-}
-#endif
-
-#endif
-
diff --git a/lib/libmysql_win32/include/mysql_com.h b/lib/libmysql_win32/include/mysql_com.h
deleted file mode 100644
index db5a5eb874..0000000000
--- a/lib/libmysql_win32/include/mysql_com.h
+++ /dev/null
@@ -1,522 +0,0 @@
-/* Copyright (C) 2000 MySQL 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; version 2 of the License.
-
- 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 */
-
-/*
-** Common definition between mysql server & client
-*/
-
-#ifndef _mysql_com_h
-#define _mysql_com_h
-
-#define HOSTNAME_LENGTH 60
-#define SYSTEM_CHARSET_MBMAXLEN 3
-#define NAME_CHAR_LEN 64 /* Field/table name length */
-#define USERNAME_CHAR_LENGTH 16
-#define NAME_LEN (NAME_CHAR_LEN*SYSTEM_CHARSET_MBMAXLEN)
-#define USERNAME_LENGTH (USERNAME_CHAR_LENGTH*SYSTEM_CHARSET_MBMAXLEN)
-
-#define SERVER_VERSION_LENGTH 60
-#define SQLSTATE_LENGTH 5
-
-/*
- USER_HOST_BUFF_SIZE -- length of string buffer, that is enough to contain
- username and hostname parts of the user identifier with trailing zero in
- MySQL standard format:
- user_name_part@host_name_part\0
-*/
-#define USER_HOST_BUFF_SIZE HOSTNAME_LENGTH + USERNAME_LENGTH + 2
-
-#define LOCAL_HOST "localhost"
-#define LOCAL_HOST_NAMEDPIPE "."
-
-
-#if defined(__WIN__) && !defined( _CUSTOMCONFIG_)
-#define MYSQL_NAMEDPIPE "MySQL"
-#define MYSQL_SERVICENAME "MySQL"
-#endif /* __WIN__ */
-
-/*
- You should add new commands to the end of this list, otherwise old
- servers won't be able to handle them as 'unsupported'.
-*/
-
-enum enum_server_command
-{
- COM_SLEEP, COM_QUIT, COM_INIT_DB, COM_QUERY, COM_FIELD_LIST,
- COM_CREATE_DB, COM_DROP_DB, COM_REFRESH, COM_SHUTDOWN, COM_STATISTICS,
- COM_PROCESS_INFO, COM_CONNECT, COM_PROCESS_KILL, COM_DEBUG, COM_PING,
- COM_TIME, COM_DELAYED_INSERT, COM_CHANGE_USER, COM_BINLOG_DUMP,
- COM_TABLE_DUMP, COM_CONNECT_OUT, COM_REGISTER_SLAVE,
- COM_STMT_PREPARE, COM_STMT_EXECUTE, COM_STMT_SEND_LONG_DATA, COM_STMT_CLOSE,
- COM_STMT_RESET, COM_SET_OPTION, COM_STMT_FETCH, COM_DAEMON,
- /* don't forget to update const char *command_name[] in sql_parse.cc */
-
- /* Must be last */
- COM_END
-};
-
-
-/*
- Length of random string sent by server on handshake; this is also length of
- obfuscated password, recieved from client
-*/
-#define SCRAMBLE_LENGTH 20
-#define SCRAMBLE_LENGTH_323 8
-/* length of password stored in the db: new passwords are preceeded with '*' */
-#define SCRAMBLED_PASSWORD_CHAR_LENGTH (SCRAMBLE_LENGTH*2+1)
-#define SCRAMBLED_PASSWORD_CHAR_LENGTH_323 (SCRAMBLE_LENGTH_323*2)
-
-
-#define NOT_NULL_FLAG 1 /* Field can't be NULL */
-#define PRI_KEY_FLAG 2 /* Field is part of a primary key */
-#define UNIQUE_KEY_FLAG 4 /* Field is part of a unique key */
-#define MULTIPLE_KEY_FLAG 8 /* Field is part of a key */
-#define BLOB_FLAG 16 /* Field is a blob */
-#define UNSIGNED_FLAG 32 /* Field is unsigned */
-#define ZEROFILL_FLAG 64 /* Field is zerofill */
-#define BINARY_FLAG 128 /* Field is binary */
-
-/* The following are only sent to new clients */
-#define ENUM_FLAG 256 /* field is an enum */
-#define AUTO_INCREMENT_FLAG 512 /* field is a autoincrement field */
-#define TIMESTAMP_FLAG 1024 /* Field is a timestamp */
-#define SET_FLAG 2048 /* field is a set */
-#define NO_DEFAULT_VALUE_FLAG 4096 /* Field doesn't have default value */
-#define ON_UPDATE_NOW_FLAG 8192 /* Field is set to NOW on UPDATE */
-#define NUM_FLAG 32768 /* Field is num (for clients) */
-#define PART_KEY_FLAG 16384 /* Intern; Part of some key */
-#define GROUP_FLAG 32768 /* Intern: Group field */
-#define UNIQUE_FLAG 65536 /* Intern: Used by sql_yacc */
-#define BINCMP_FLAG 131072 /* Intern: Used by sql_yacc */
-#define GET_FIXED_FIELDS_FLAG (1 << 18) /* Used to get fields in item tree */
-#define FIELD_IN_PART_FUNC_FLAG (1 << 19)/* Field part of partition func */
-#define FIELD_IN_ADD_INDEX (1<< 20) /* Intern: Field used in ADD INDEX */
-#define FIELD_IS_RENAMED (1<< 21) /* Intern: Field is being renamed */
-
-#define REFRESH_GRANT 1 /* Refresh grant tables */
-#define REFRESH_LOG 2 /* Start on new log file */
-#define REFRESH_TABLES 4 /* close all tables */
-#define REFRESH_HOSTS 8 /* Flush host cache */
-#define REFRESH_STATUS 16 /* Flush status variables */
-#define REFRESH_THREADS 32 /* Flush thread cache */
-#define REFRESH_SLAVE 64 /* Reset master info and restart slave
- thread */
-#define REFRESH_MASTER 128 /* Remove all bin logs in the index
- and truncate the index */
-
-/* The following can't be set with mysql_refresh() */
-#define REFRESH_READ_LOCK 16384 /* Lock tables for read */
-#define REFRESH_FAST 32768 /* Intern flag */
-
-/* RESET (remove all queries) from query cache */
-#define REFRESH_QUERY_CACHE 65536
-#define REFRESH_QUERY_CACHE_FREE 0x20000L /* pack query cache */
-#define REFRESH_DES_KEY_FILE 0x40000L
-#define REFRESH_USER_RESOURCES 0x80000L
-
-#define CLIENT_LONG_PASSWORD 1 /* new more secure passwords */
-#define CLIENT_FOUND_ROWS 2 /* Found instead of affected rows */
-#define CLIENT_LONG_FLAG 4 /* Get all column flags */
-#define CLIENT_CONNECT_WITH_DB 8 /* One can specify db on connect */
-#define CLIENT_NO_SCHEMA 16 /* Don't allow database.table.column */
-#define CLIENT_COMPRESS 32 /* Can use compression protocol */
-#define CLIENT_ODBC 64 /* Odbc client */
-#define CLIENT_LOCAL_FILES 128 /* Can use LOAD DATA LOCAL */
-#define CLIENT_IGNORE_SPACE 256 /* Ignore spaces before '(' */
-#define CLIENT_PROTOCOL_41 512 /* New 4.1 protocol */
-#define CLIENT_INTERACTIVE 1024 /* This is an interactive client */
-#define CLIENT_SSL 2048 /* Switch to SSL after handshake */
-#define CLIENT_IGNORE_SIGPIPE 4096 /* IGNORE sigpipes */
-#define CLIENT_TRANSACTIONS 8192 /* Client knows about transactions */
-#define CLIENT_RESERVED 16384 /* Old flag for 4.1 protocol */
-#define CLIENT_SECURE_CONNECTION 32768 /* New 4.1 authentication */
-#define CLIENT_MULTI_STATEMENTS (1UL << 16) /* Enable/disable multi-stmt support */
-#define CLIENT_MULTI_RESULTS (1UL << 17) /* Enable/disable multi-results */
-
-#define CLIENT_SSL_VERIFY_SERVER_CERT (1UL << 30)
-#define CLIENT_REMEMBER_OPTIONS (1UL << 31)
-
-/* Gather all possible capabilites (flags) supported by the server */
-#define CLIENT_ALL_FLAGS (CLIENT_LONG_PASSWORD | \
- CLIENT_FOUND_ROWS | \
- CLIENT_LONG_FLAG | \
- CLIENT_CONNECT_WITH_DB | \
- CLIENT_NO_SCHEMA | \
- CLIENT_COMPRESS | \
- CLIENT_ODBC | \
- CLIENT_LOCAL_FILES | \
- CLIENT_IGNORE_SPACE | \
- CLIENT_PROTOCOL_41 | \
- CLIENT_INTERACTIVE | \
- CLIENT_SSL | \
- CLIENT_IGNORE_SIGPIPE | \
- CLIENT_TRANSACTIONS | \
- CLIENT_RESERVED | \
- CLIENT_SECURE_CONNECTION | \
- CLIENT_MULTI_STATEMENTS | \
- CLIENT_MULTI_RESULTS | \
- CLIENT_SSL_VERIFY_SERVER_CERT | \
- CLIENT_REMEMBER_OPTIONS)
-
-/*
- Switch off the flags that are optional and depending on build flags
- If any of the optional flags is supported by the build it will be switched
- on before sending to the client during the connection handshake.
-*/
-#define CLIENT_BASIC_FLAGS (((CLIENT_ALL_FLAGS & ~CLIENT_SSL) \
- & ~CLIENT_COMPRESS) \
- & ~CLIENT_SSL_VERIFY_SERVER_CERT)
-
-#define SERVER_STATUS_IN_TRANS 1 /* Transaction has started */
-#define SERVER_STATUS_AUTOCOMMIT 2 /* Server in auto_commit mode */
-#define SERVER_MORE_RESULTS_EXISTS 8 /* Multi query - next query exists */
-#define SERVER_QUERY_NO_GOOD_INDEX_USED 16
-#define SERVER_QUERY_NO_INDEX_USED 32
-/**
- The server was able to fulfill the clients request and opened a
- read-only non-scrollable cursor for a query. This flag comes
- in reply to COM_STMT_EXECUTE and COM_STMT_FETCH commands.
-*/
-#define SERVER_STATUS_CURSOR_EXISTS 64
-/**
- This flag is sent when a read-only cursor is exhausted, in reply to
- COM_STMT_FETCH command.
-*/
-#define SERVER_STATUS_LAST_ROW_SENT 128
-#define SERVER_STATUS_DB_DROPPED 256 /* A database was dropped */
-#define SERVER_STATUS_NO_BACKSLASH_ESCAPES 512
-/**
- Sent to the client if after a prepared statement reprepare
- we discovered that the new statement returns a different
- number of result set columns.
-*/
-#define SERVER_STATUS_METADATA_CHANGED 1024
-
-/**
- Server status flags that must be cleared when starting
- execution of a new SQL statement.
- Flags from this set are only added to the
- current server status by the execution engine, but
- never removed -- the execution engine expects them
- to disappear automagically by the next command.
-*/
-#define SERVER_STATUS_CLEAR_SET (SERVER_QUERY_NO_GOOD_INDEX_USED| \
- SERVER_QUERY_NO_INDEX_USED|\
- SERVER_MORE_RESULTS_EXISTS|\
- SERVER_STATUS_METADATA_CHANGED)
-
-#define MYSQL_ERRMSG_SIZE 512
-#define NET_READ_TIMEOUT 30 /* Timeout on read */
-#define NET_WRITE_TIMEOUT 60 /* Timeout on write */
-#define NET_WAIT_TIMEOUT 8*60*60 /* Wait for new query */
-
-#define ONLY_KILL_QUERY 1
-
-
-struct st_vio; /* Only C */
-typedef struct st_vio Vio;
-
-#define MAX_TINYINT_WIDTH 3 /* Max width for a TINY w.o. sign */
-#define MAX_SMALLINT_WIDTH 5 /* Max width for a SHORT w.o. sign */
-#define MAX_MEDIUMINT_WIDTH 8 /* Max width for a INT24 w.o. sign */
-#define MAX_INT_WIDTH 10 /* Max width for a LONG w.o. sign */
-#define MAX_BIGINT_WIDTH 20 /* Max width for a LONGLONG */
-#define MAX_CHAR_WIDTH 255 /* Max length for a CHAR colum */
-#define MAX_BLOB_WIDTH 16777216 /* Default width for blob */
-
-typedef struct st_net {
-#if !defined(CHECK_EMBEDDED_DIFFERENCES) || !defined(EMBEDDED_LIBRARY)
- Vio *vio;
- unsigned char *buff,*buff_end,*write_pos,*read_pos;
- my_socket fd; /* For Perl DBI/dbd */
- /*
- The following variable is set if we are doing several queries in one
- command ( as in LOAD TABLE ... FROM MASTER ),
- and do not want to confuse the client with OK at the wrong time
- */
- unsigned long remain_in_buf,length, buf_length, where_b;
- unsigned long max_packet,max_packet_size;
- unsigned int pkt_nr,compress_pkt_nr;
- unsigned int write_timeout, read_timeout, retry_count;
- int fcntl;
- unsigned int *return_status;
- unsigned char reading_or_writing;
- char save_char;
- my_bool unused0; /* Please remove with the next incompatible ABI change. */
- my_bool unused; /* Please remove with the next incompatible ABI change */
- my_bool compress;
- my_bool unused1; /* Please remove with the next incompatible ABI change. */
- /*
- Pointer to query object in query cache, do not equal NULL (0) for
- queries in cache that have not stored its results yet
- */
-#endif
- /*
- 'query_cache_query' should be accessed only via query cache
- functions and methods to maintain proper locking.
- */
- unsigned char *query_cache_query;
- unsigned int last_errno;
- unsigned char error;
- my_bool unused2; /* Please remove with the next incompatible ABI change. */
- my_bool return_errno;
- /** Client library error message buffer. Actually belongs to struct MYSQL. */
- char last_error[MYSQL_ERRMSG_SIZE];
- /** Client library sqlstate buffer. Set along with the error message. */
- char sqlstate[SQLSTATE_LENGTH+1];
- void *extension;
-} NET;
-
-
-#define packet_error (~(unsigned long) 0)
-
-enum enum_field_types { MYSQL_TYPE_DECIMAL, MYSQL_TYPE_TINY,
- MYSQL_TYPE_SHORT, MYSQL_TYPE_LONG,
- MYSQL_TYPE_FLOAT, MYSQL_TYPE_DOUBLE,
- MYSQL_TYPE_NULL, MYSQL_TYPE_TIMESTAMP,
- MYSQL_TYPE_LONGLONG,MYSQL_TYPE_INT24,
- MYSQL_TYPE_DATE, MYSQL_TYPE_TIME,
- MYSQL_TYPE_DATETIME, MYSQL_TYPE_YEAR,
- MYSQL_TYPE_NEWDATE, MYSQL_TYPE_VARCHAR,
- MYSQL_TYPE_BIT,
- MYSQL_TYPE_NEWDECIMAL=246,
- MYSQL_TYPE_ENUM=247,
- MYSQL_TYPE_SET=248,
- MYSQL_TYPE_TINY_BLOB=249,
- MYSQL_TYPE_MEDIUM_BLOB=250,
- MYSQL_TYPE_LONG_BLOB=251,
- MYSQL_TYPE_BLOB=252,
- MYSQL_TYPE_VAR_STRING=253,
- MYSQL_TYPE_STRING=254,
- MYSQL_TYPE_GEOMETRY=255
-
-};
-
-/* For backward compatibility */
-#define CLIENT_MULTI_QUERIES CLIENT_MULTI_STATEMENTS
-#define FIELD_TYPE_DECIMAL MYSQL_TYPE_DECIMAL
-#define FIELD_TYPE_NEWDECIMAL MYSQL_TYPE_NEWDECIMAL
-#define FIELD_TYPE_TINY MYSQL_TYPE_TINY
-#define FIELD_TYPE_SHORT MYSQL_TYPE_SHORT
-#define FIELD_TYPE_LONG MYSQL_TYPE_LONG
-#define FIELD_TYPE_FLOAT MYSQL_TYPE_FLOAT
-#define FIELD_TYPE_DOUBLE MYSQL_TYPE_DOUBLE
-#define FIELD_TYPE_NULL MYSQL_TYPE_NULL
-#define FIELD_TYPE_TIMESTAMP MYSQL_TYPE_TIMESTAMP
-#define FIELD_TYPE_LONGLONG MYSQL_TYPE_LONGLONG
-#define FIELD_TYPE_INT24 MYSQL_TYPE_INT24
-#define FIELD_TYPE_DATE MYSQL_TYPE_DATE
-#define FIELD_TYPE_TIME MYSQL_TYPE_TIME
-#define FIELD_TYPE_DATETIME MYSQL_TYPE_DATETIME
-#define FIELD_TYPE_YEAR MYSQL_TYPE_YEAR
-#define FIELD_TYPE_NEWDATE MYSQL_TYPE_NEWDATE
-#define FIELD_TYPE_ENUM MYSQL_TYPE_ENUM
-#define FIELD_TYPE_SET MYSQL_TYPE_SET
-#define FIELD_TYPE_TINY_BLOB MYSQL_TYPE_TINY_BLOB
-#define FIELD_TYPE_MEDIUM_BLOB MYSQL_TYPE_MEDIUM_BLOB
-#define FIELD_TYPE_LONG_BLOB MYSQL_TYPE_LONG_BLOB
-#define FIELD_TYPE_BLOB MYSQL_TYPE_BLOB
-#define FIELD_TYPE_VAR_STRING MYSQL_TYPE_VAR_STRING
-#define FIELD_TYPE_STRING MYSQL_TYPE_STRING
-#define FIELD_TYPE_CHAR MYSQL_TYPE_TINY
-#define FIELD_TYPE_INTERVAL MYSQL_TYPE_ENUM
-#define FIELD_TYPE_GEOMETRY MYSQL_TYPE_GEOMETRY
-#define FIELD_TYPE_BIT MYSQL_TYPE_BIT
-
-
-/* Shutdown/kill enums and constants */
-
-/* Bits for THD::killable. */
-#define MYSQL_SHUTDOWN_KILLABLE_CONNECT (unsigned char)(1 << 0)
-#define MYSQL_SHUTDOWN_KILLABLE_TRANS (unsigned char)(1 << 1)
-#define MYSQL_SHUTDOWN_KILLABLE_LOCK_TABLE (unsigned char)(1 << 2)
-#define MYSQL_SHUTDOWN_KILLABLE_UPDATE (unsigned char)(1 << 3)
-
-enum mysql_enum_shutdown_level {
- /*
- We want levels to be in growing order of hardness (because we use number
- comparisons). Note that DEFAULT does not respect the growing property, but
- it's ok.
- */
- SHUTDOWN_DEFAULT = 0,
- /* wait for existing connections to finish */
- SHUTDOWN_WAIT_CONNECTIONS= MYSQL_SHUTDOWN_KILLABLE_CONNECT,
- /* wait for existing trans to finish */
- SHUTDOWN_WAIT_TRANSACTIONS= MYSQL_SHUTDOWN_KILLABLE_TRANS,
- /* wait for existing updates to finish (=> no partial MyISAM update) */
- SHUTDOWN_WAIT_UPDATES= MYSQL_SHUTDOWN_KILLABLE_UPDATE,
- /* flush InnoDB buffers and other storage engines' buffers*/
- SHUTDOWN_WAIT_ALL_BUFFERS= (MYSQL_SHUTDOWN_KILLABLE_UPDATE << 1),
- /* don't flush InnoDB buffers, flush other storage engines' buffers*/
- SHUTDOWN_WAIT_CRITICAL_BUFFERS= (MYSQL_SHUTDOWN_KILLABLE_UPDATE << 1) + 1,
- /* Now the 2 levels of the KILL command */
-#if MYSQL_VERSION_ID >= 50000
- KILL_QUERY= 254,
-#endif
- KILL_CONNECTION= 255
-};
-
-
-enum enum_cursor_type
-{
- CURSOR_TYPE_NO_CURSOR= 0,
- CURSOR_TYPE_READ_ONLY= 1,
- CURSOR_TYPE_FOR_UPDATE= 2,
- CURSOR_TYPE_SCROLLABLE= 4
-};
-
-
-/* options for mysql_set_option */
-enum enum_mysql_set_option
-{
- MYSQL_OPTION_MULTI_STATEMENTS_ON,
- MYSQL_OPTION_MULTI_STATEMENTS_OFF
-};
-
-#define net_new_transaction(net) ((net)->pkt_nr=0)
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-my_bool my_net_init(NET *net, Vio* vio);
-void my_net_local_init(NET *net);
-void net_end(NET *net);
- void net_clear(NET *net, my_bool clear_buffer);
-my_bool net_realloc(NET *net, size_t length);
-my_bool net_flush(NET *net);
-my_bool my_net_write(NET *net,const unsigned char *packet, size_t len);
-my_bool net_write_command(NET *net,unsigned char command,
- const unsigned char *header, size_t head_len,
- const unsigned char *packet, size_t len);
-int net_real_write(NET *net,const unsigned char *packet, size_t len);
-unsigned long my_net_read(NET *net);
-
-#ifdef _global_h
-void my_net_set_write_timeout(NET *net, uint timeout);
-void my_net_set_read_timeout(NET *net, uint timeout);
-#endif
-
-/*
- The following function is not meant for normal usage
- Currently it's used internally by manager.c
-*/
-struct sockaddr;
-int my_connect(my_socket s, const struct sockaddr *name, unsigned int namelen,
- unsigned int timeout);
-
-struct rand_struct {
- unsigned long seed1,seed2,max_value;
- double max_value_dbl;
-};
-
-#ifdef __cplusplus
-}
-#endif
-
- /* The following is for user defined functions */
-
-enum Item_result {STRING_RESULT=0, REAL_RESULT, INT_RESULT, ROW_RESULT,
- DECIMAL_RESULT};
-
-typedef struct st_udf_args
-{
- unsigned int arg_count; /* Number of arguments */
- enum Item_result *arg_type; /* Pointer to item_results */
- char **args; /* Pointer to argument */
- unsigned long *lengths; /* Length of string arguments */
- char *maybe_null; /* Set to 1 for all maybe_null args */
- char **attributes; /* Pointer to attribute name */
- unsigned long *attribute_lengths; /* Length of attribute arguments */
- void *extension;
-} UDF_ARGS;
-
- /* This holds information about the result */
-
-typedef struct st_udf_init
-{
- my_bool maybe_null; /* 1 if function can return NULL */
- unsigned int decimals; /* for real functions */
- unsigned long max_length; /* For string functions */
- char *ptr; /* free pointer for function data */
- my_bool const_item; /* 1 if function always returns the same value */
- void *extension;
-} UDF_INIT;
-/*
- TODO: add a notion for determinism of the UDF.
- See Item_udf_func::update_used_tables ()
-*/
-
- /* Constants when using compression */
-#define NET_HEADER_SIZE 4 /* standard header size */
-#define COMP_HEADER_SIZE 3 /* compression header extra size */
-
- /* Prototypes to password functions */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- These functions are used for authentication by client and server and
- implemented in sql/password.c
-*/
-
-void randominit(struct rand_struct *, unsigned long seed1,
- unsigned long seed2);
-double my_rnd(struct rand_struct *);
-void create_random_string(char *to, unsigned int length, struct rand_struct *rand_st);
-
-void hash_password(unsigned long *to, const char *password, unsigned int password_len);
-void make_scrambled_password_323(char *to, const char *password);
-void scramble_323(char *to, const char *message, const char *password);
-my_bool check_scramble_323(const char *, const char *message,
- unsigned long *salt);
-void get_salt_from_password_323(unsigned long *res, const char *password);
-void make_password_from_salt_323(char *to, const unsigned long *salt);
-
-void make_scrambled_password(char *to, const char *password);
-void scramble(char *to, const char *message, const char *password);
-my_bool check_scramble(const char *reply, const char *message,
- const unsigned char *hash_stage2);
-void get_salt_from_password(unsigned char *res, const char *password);
-void make_password_from_salt(char *to, const unsigned char *hash_stage2);
-char *octet2hex(char *to, const char *str, unsigned int len);
-
-/* end of password.c */
-
-char *get_tty_password(const char *opt_message);
-const char *mysql_errno_to_sqlstate(unsigned int mysql_errno);
-
-/* Some other useful functions */
-
-my_bool my_thread_init(void);
-void my_thread_end(void);
-
-#ifdef _global_h
-ulong STDCALL net_field_length(uchar **packet);
-my_ulonglong net_field_length_ll(uchar **packet);
-uchar *net_store_length(uchar *pkg, ulonglong length);
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#define NULL_LENGTH ((unsigned long) ~0) /* For net_store_length */
-#define MYSQL_STMT_HEADER 4
-#define MYSQL_LONG_DATA_HEADER 6
-
-#endif
diff --git a/lib/libmysql_win32/include/mysql_embed.h b/lib/libmysql_win32/include/mysql_embed.h
deleted file mode 100644
index 4a7fd3ef63..0000000000
--- a/lib/libmysql_win32/include/mysql_embed.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Copyright (C) 2000 MySQL 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; version 2 of the License.
-
- 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 */
-
-/* Defines that are unique to the embedded version of MySQL */
-
-#ifdef EMBEDDED_LIBRARY
-
-/* Things we don't need in the embedded version of MySQL */
-/* TODO HF add #undef HAVE_VIO if we don't want client in embedded library */
-
-#undef HAVE_PSTACK /* No stacktrace */
-#undef HAVE_OPENSSL
-#undef HAVE_SMEM /* No shared memory */
-#undef HAVE_NDBCLUSTER_DB /* No NDB cluster */
-
-#define DONT_USE_RAID
-
-#endif /* EMBEDDED_LIBRARY */
diff --git a/lib/libmysql_win32/include/mysql_time.h b/lib/libmysql_win32/include/mysql_time.h
deleted file mode 100644
index 0a3f17a81f..0000000000
--- a/lib/libmysql_win32/include/mysql_time.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/* Copyright (C) 2004 MySQL 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; version 2 of the License.
-
- 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 _mysql_time_h_
-#define _mysql_time_h_
-
-/*
- Time declarations shared between the server and client API:
- you should not add anything to this header unless it's used
- (and hence should be visible) in mysql.h.
- If you're looking for a place to add new time-related declaration,
- it's most likely my_time.h. See also "C API Handling of Date
- and Time Values" chapter in documentation.
-*/
-
-enum enum_mysql_timestamp_type
-{
- MYSQL_TIMESTAMP_NONE= -2, MYSQL_TIMESTAMP_ERROR= -1,
- MYSQL_TIMESTAMP_DATE= 0, MYSQL_TIMESTAMP_DATETIME= 1, MYSQL_TIMESTAMP_TIME= 2
-};
-
-
-/*
- Structure which is used to represent datetime values inside MySQL.
-
- We assume that values in this structure are normalized, i.e. year <= 9999,
- month <= 12, day <= 31, hour <= 23, hour <= 59, hour <= 59. Many functions
- in server such as my_system_gmt_sec() or make_time() family of functions
- rely on this (actually now usage of make_*() family relies on a bit weaker
- restriction). Also functions that produce MYSQL_TIME as result ensure this.
- There is one exception to this rule though if this structure holds time
- value (time_type == MYSQL_TIMESTAMP_TIME) days and hour member can hold
- bigger values.
-*/
-typedef struct st_mysql_time
-{
- unsigned int year, month, day, hour, minute, second;
- unsigned long second_part;
- my_bool neg;
- enum enum_mysql_timestamp_type time_type;
-} MYSQL_TIME;
-
-#endif /* _mysql_time_h_ */
diff --git a/lib/libmysql_win32/include/mysql_version.h b/lib/libmysql_win32/include/mysql_version.h
deleted file mode 100644
index 33e57bdfb3..0000000000
--- a/lib/libmysql_win32/include/mysql_version.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Copyright Abandoned 1996, 1999, 2001 MySQL AB
- This file is public domain and comes with NO WARRANTY of any kind */
-
-/* Version numbers for protocol & mysqld */
-
-#ifndef _mysql_version_h
-#define _mysql_version_h
-#ifdef _CUSTOMCONFIG_
-#include <custom_conf.h>
-#else
-#define PROTOCOL_VERSION 10
-#define MYSQL_SERVER_VERSION "5.1.44"
-#define MYSQL_BASE_VERSION "mysqld-5.1"
-#define MYSQL_SERVER_SUFFIX_DEF "-community"
-#define FRM_VER 6
-#define MYSQL_VERSION_ID 50144
-#define MYSQL_PORT 3306
-#define MYSQL_PORT_DEFAULT 0
-#define MYSQL_UNIX_ADDR "/tmp/mysql.sock"
-#define MYSQL_CONFIG_NAME "my"
-#define MYSQL_COMPILATION_COMMENT "MySQL Community Server (GPL)"
-
-/* mysqld compile time options */
-#endif /* _CUSTOMCONFIG_ */
-
-#ifndef LICENSE
-#define LICENSE GPL
-#endif /* LICENSE */
-
-#endif /* _mysql_version_h */
diff --git a/lib/libmysql_win32/include/mysqld_ername.h b/lib/libmysql_win32/include/mysqld_ername.h
deleted file mode 100644
index 4a495d002f..0000000000
--- a/lib/libmysql_win32/include/mysqld_ername.h
+++ /dev/null
@@ -1,643 +0,0 @@
-/* Autogenerated file, please don't edit */
-
-{ "ER_HASHCHK", 1000 },
-{ "ER_NISAMCHK", 1001 },
-{ "ER_NO", 1002 },
-{ "ER_YES", 1003 },
-{ "ER_CANT_CREATE_FILE", 1004 },
-{ "ER_CANT_CREATE_TABLE", 1005 },
-{ "ER_CANT_CREATE_DB", 1006 },
-{ "ER_DB_CREATE_EXISTS", 1007 },
-{ "ER_DB_DROP_EXISTS", 1008 },
-{ "ER_DB_DROP_DELETE", 1009 },
-{ "ER_DB_DROP_RMDIR", 1010 },
-{ "ER_CANT_DELETE_FILE", 1011 },
-{ "ER_CANT_FIND_SYSTEM_REC", 1012 },
-{ "ER_CANT_GET_STAT", 1013 },
-{ "ER_CANT_GET_WD", 1014 },
-{ "ER_CANT_LOCK", 1015 },
-{ "ER_CANT_OPEN_FILE", 1016 },
-{ "ER_FILE_NOT_FOUND", 1017 },
-{ "ER_CANT_READ_DIR", 1018 },
-{ "ER_CANT_SET_WD", 1019 },
-{ "ER_CHECKREAD", 1020 },
-{ "ER_DISK_FULL", 1021 },
-{ "ER_DUP_KEY", 1022 },
-{ "ER_ERROR_ON_CLOSE", 1023 },
-{ "ER_ERROR_ON_READ", 1024 },
-{ "ER_ERROR_ON_RENAME", 1025 },
-{ "ER_ERROR_ON_WRITE", 1026 },
-{ "ER_FILE_USED", 1027 },
-{ "ER_FILSORT_ABORT", 1028 },
-{ "ER_FORM_NOT_FOUND", 1029 },
-{ "ER_GET_ERRNO", 1030 },
-{ "ER_ILLEGAL_HA", 1031 },
-{ "ER_KEY_NOT_FOUND", 1032 },
-{ "ER_NOT_FORM_FILE", 1033 },
-{ "ER_NOT_KEYFILE", 1034 },
-{ "ER_OLD_KEYFILE", 1035 },
-{ "ER_OPEN_AS_READONLY", 1036 },
-{ "ER_OUTOFMEMORY", 1037 },
-{ "ER_OUT_OF_SORTMEMORY", 1038 },
-{ "ER_UNEXPECTED_EOF", 1039 },
-{ "ER_CON_COUNT_ERROR", 1040 },
-{ "ER_OUT_OF_RESOURCES", 1041 },
-{ "ER_BAD_HOST_ERROR", 1042 },
-{ "ER_HANDSHAKE_ERROR", 1043 },
-{ "ER_DBACCESS_DENIED_ERROR", 1044 },
-{ "ER_ACCESS_DENIED_ERROR", 1045 },
-{ "ER_NO_DB_ERROR", 1046 },
-{ "ER_UNKNOWN_COM_ERROR", 1047 },
-{ "ER_BAD_NULL_ERROR", 1048 },
-{ "ER_BAD_DB_ERROR", 1049 },
-{ "ER_TABLE_EXISTS_ERROR", 1050 },
-{ "ER_BAD_TABLE_ERROR", 1051 },
-{ "ER_NON_UNIQ_ERROR", 1052 },
-{ "ER_SERVER_SHUTDOWN", 1053 },
-{ "ER_BAD_FIELD_ERROR", 1054 },
-{ "ER_WRONG_FIELD_WITH_GROUP", 1055 },
-{ "ER_WRONG_GROUP_FIELD", 1056 },
-{ "ER_WRONG_SUM_SELECT", 1057 },
-{ "ER_WRONG_VALUE_COUNT", 1058 },
-{ "ER_TOO_LONG_IDENT", 1059 },
-{ "ER_DUP_FIELDNAME", 1060 },
-{ "ER_DUP_KEYNAME", 1061 },
-{ "ER_DUP_ENTRY", 1062 },
-{ "ER_WRONG_FIELD_SPEC", 1063 },
-{ "ER_PARSE_ERROR", 1064 },
-{ "ER_EMPTY_QUERY", 1065 },
-{ "ER_NONUNIQ_TABLE", 1066 },
-{ "ER_INVALID_DEFAULT", 1067 },
-{ "ER_MULTIPLE_PRI_KEY", 1068 },
-{ "ER_TOO_MANY_KEYS", 1069 },
-{ "ER_TOO_MANY_KEY_PARTS", 1070 },
-{ "ER_TOO_LONG_KEY", 1071 },
-{ "ER_KEY_COLUMN_DOES_NOT_EXITS", 1072 },
-{ "ER_BLOB_USED_AS_KEY", 1073 },
-{ "ER_TOO_BIG_FIELDLENGTH", 1074 },
-{ "ER_WRONG_AUTO_KEY", 1075 },
-{ "ER_READY", 1076 },
-{ "ER_NORMAL_SHUTDOWN", 1077 },
-{ "ER_GOT_SIGNAL", 1078 },
-{ "ER_SHUTDOWN_COMPLETE", 1079 },
-{ "ER_FORCING_CLOSE", 1080 },
-{ "ER_IPSOCK_ERROR", 1081 },
-{ "ER_NO_SUCH_INDEX", 1082 },
-{ "ER_WRONG_FIELD_TERMINATORS", 1083 },
-{ "ER_BLOBS_AND_NO_TERMINATED", 1084 },
-{ "ER_TEXTFILE_NOT_READABLE", 1085 },
-{ "ER_FILE_EXISTS_ERROR", 1086 },
-{ "ER_LOAD_INFO", 1087 },
-{ "ER_ALTER_INFO", 1088 },
-{ "ER_WRONG_SUB_KEY", 1089 },
-{ "ER_CANT_REMOVE_ALL_FIELDS", 1090 },
-{ "ER_CANT_DROP_FIELD_OR_KEY", 1091 },
-{ "ER_INSERT_INFO", 1092 },
-{ "ER_UPDATE_TABLE_USED", 1093 },
-{ "ER_NO_SUCH_THREAD", 1094 },
-{ "ER_KILL_DENIED_ERROR", 1095 },
-{ "ER_NO_TABLES_USED", 1096 },
-{ "ER_TOO_BIG_SET", 1097 },
-{ "ER_NO_UNIQUE_LOGFILE", 1098 },
-{ "ER_TABLE_NOT_LOCKED_FOR_WRITE", 1099 },
-{ "ER_TABLE_NOT_LOCKED", 1100 },
-{ "ER_BLOB_CANT_HAVE_DEFAULT", 1101 },
-{ "ER_WRONG_DB_NAME", 1102 },
-{ "ER_WRONG_TABLE_NAME", 1103 },
-{ "ER_TOO_BIG_SELECT", 1104 },
-{ "ER_UNKNOWN_ERROR", 1105 },
-{ "ER_UNKNOWN_PROCEDURE", 1106 },
-{ "ER_WRONG_PARAMCOUNT_TO_PROCEDURE", 1107 },
-{ "ER_WRONG_PARAMETERS_TO_PROCEDURE", 1108 },
-{ "ER_UNKNOWN_TABLE", 1109 },
-{ "ER_FIELD_SPECIFIED_TWICE", 1110 },
-{ "ER_INVALID_GROUP_FUNC_USE", 1111 },
-{ "ER_UNSUPPORTED_EXTENSION", 1112 },
-{ "ER_TABLE_MUST_HAVE_COLUMNS", 1113 },
-{ "ER_RECORD_FILE_FULL", 1114 },
-{ "ER_UNKNOWN_CHARACTER_SET", 1115 },
-{ "ER_TOO_MANY_TABLES", 1116 },
-{ "ER_TOO_MANY_FIELDS", 1117 },
-{ "ER_TOO_BIG_ROWSIZE", 1118 },
-{ "ER_STACK_OVERRUN", 1119 },
-{ "ER_WRONG_OUTER_JOIN", 1120 },
-{ "ER_NULL_COLUMN_IN_INDEX", 1121 },
-{ "ER_CANT_FIND_UDF", 1122 },
-{ "ER_CANT_INITIALIZE_UDF", 1123 },
-{ "ER_UDF_NO_PATHS", 1124 },
-{ "ER_UDF_EXISTS", 1125 },
-{ "ER_CANT_OPEN_LIBRARY", 1126 },
-{ "ER_CANT_FIND_DL_ENTRY", 1127 },
-{ "ER_FUNCTION_NOT_DEFINED", 1128 },
-{ "ER_HOST_IS_BLOCKED", 1129 },
-{ "ER_HOST_NOT_PRIVILEGED", 1130 },
-{ "ER_PASSWORD_ANONYMOUS_USER", 1131 },
-{ "ER_PASSWORD_NOT_ALLOWED", 1132 },
-{ "ER_PASSWORD_NO_MATCH", 1133 },
-{ "ER_UPDATE_INFO", 1134 },
-{ "ER_CANT_CREATE_THREAD", 1135 },
-{ "ER_WRONG_VALUE_COUNT_ON_ROW", 1136 },
-{ "ER_CANT_REOPEN_TABLE", 1137 },
-{ "ER_INVALID_USE_OF_NULL", 1138 },
-{ "ER_REGEXP_ERROR", 1139 },
-{ "ER_MIX_OF_GROUP_FUNC_AND_FIELDS", 1140 },
-{ "ER_NONEXISTING_GRANT", 1141 },
-{ "ER_TABLEACCESS_DENIED_ERROR", 1142 },
-{ "ER_COLUMNACCESS_DENIED_ERROR", 1143 },
-{ "ER_ILLEGAL_GRANT_FOR_TABLE", 1144 },
-{ "ER_GRANT_WRONG_HOST_OR_USER", 1145 },
-{ "ER_NO_SUCH_TABLE", 1146 },
-{ "ER_NONEXISTING_TABLE_GRANT", 1147 },
-{ "ER_NOT_ALLOWED_COMMAND", 1148 },
-{ "ER_SYNTAX_ERROR", 1149 },
-{ "ER_DELAYED_CANT_CHANGE_LOCK", 1150 },
-{ "ER_TOO_MANY_DELAYED_THREADS", 1151 },
-{ "ER_ABORTING_CONNECTION", 1152 },
-{ "ER_NET_PACKET_TOO_LARGE", 1153 },
-{ "ER_NET_READ_ERROR_FROM_PIPE", 1154 },
-{ "ER_NET_FCNTL_ERROR", 1155 },
-{ "ER_NET_PACKETS_OUT_OF_ORDER", 1156 },
-{ "ER_NET_UNCOMPRESS_ERROR", 1157 },
-{ "ER_NET_READ_ERROR", 1158 },
-{ "ER_NET_READ_INTERRUPTED", 1159 },
-{ "ER_NET_ERROR_ON_WRITE", 1160 },
-{ "ER_NET_WRITE_INTERRUPTED", 1161 },
-{ "ER_TOO_LONG_STRING", 1162 },
-{ "ER_TABLE_CANT_HANDLE_BLOB", 1163 },
-{ "ER_TABLE_CANT_HANDLE_AUTO_INCREMENT", 1164 },
-{ "ER_DELAYED_INSERT_TABLE_LOCKED", 1165 },
-{ "ER_WRONG_COLUMN_NAME", 1166 },
-{ "ER_WRONG_KEY_COLUMN", 1167 },
-{ "ER_WRONG_MRG_TABLE", 1168 },
-{ "ER_DUP_UNIQUE", 1169 },
-{ "ER_BLOB_KEY_WITHOUT_LENGTH", 1170 },
-{ "ER_PRIMARY_CANT_HAVE_NULL", 1171 },
-{ "ER_TOO_MANY_ROWS", 1172 },
-{ "ER_REQUIRES_PRIMARY_KEY", 1173 },
-{ "ER_NO_RAID_COMPILED", 1174 },
-{ "ER_UPDATE_WITHOUT_KEY_IN_SAFE_MODE", 1175 },
-{ "ER_KEY_DOES_NOT_EXITS", 1176 },
-{ "ER_CHECK_NO_SUCH_TABLE", 1177 },
-{ "ER_CHECK_NOT_IMPLEMENTED", 1178 },
-{ "ER_CANT_DO_THIS_DURING_AN_TRANSACTION", 1179 },
-{ "ER_ERROR_DURING_COMMIT", 1180 },
-{ "ER_ERROR_DURING_ROLLBACK", 1181 },
-{ "ER_ERROR_DURING_FLUSH_LOGS", 1182 },
-{ "ER_ERROR_DURING_CHECKPOINT", 1183 },
-{ "ER_NEW_ABORTING_CONNECTION", 1184 },
-{ "ER_DUMP_NOT_IMPLEMENTED", 1185 },
-{ "ER_FLUSH_MASTER_BINLOG_CLOSED", 1186 },
-{ "ER_INDEX_REBUILD", 1187 },
-{ "ER_MASTER", 1188 },
-{ "ER_MASTER_NET_READ", 1189 },
-{ "ER_MASTER_NET_WRITE", 1190 },
-{ "ER_FT_MATCHING_KEY_NOT_FOUND", 1191 },
-{ "ER_LOCK_OR_ACTIVE_TRANSACTION", 1192 },
-{ "ER_UNKNOWN_SYSTEM_VARIABLE", 1193 },
-{ "ER_CRASHED_ON_USAGE", 1194 },
-{ "ER_CRASHED_ON_REPAIR", 1195 },
-{ "ER_WARNING_NOT_COMPLETE_ROLLBACK", 1196 },
-{ "ER_TRANS_CACHE_FULL", 1197 },
-{ "ER_SLAVE_MUST_STOP", 1198 },
-{ "ER_SLAVE_NOT_RUNNING", 1199 },
-{ "ER_BAD_SLAVE", 1200 },
-{ "ER_MASTER_INFO", 1201 },
-{ "ER_SLAVE_THREAD", 1202 },
-{ "ER_TOO_MANY_USER_CONNECTIONS", 1203 },
-{ "ER_SET_CONSTANTS_ONLY", 1204 },
-{ "ER_LOCK_WAIT_TIMEOUT", 1205 },
-{ "ER_LOCK_TABLE_FULL", 1206 },
-{ "ER_READ_ONLY_TRANSACTION", 1207 },
-{ "ER_DROP_DB_WITH_READ_LOCK", 1208 },
-{ "ER_CREATE_DB_WITH_READ_LOCK", 1209 },
-{ "ER_WRONG_ARGUMENTS", 1210 },
-{ "ER_NO_PERMISSION_TO_CREATE_USER", 1211 },
-{ "ER_UNION_TABLES_IN_DIFFERENT_DIR", 1212 },
-{ "ER_LOCK_DEADLOCK", 1213 },
-{ "ER_TABLE_CANT_HANDLE_FT", 1214 },
-{ "ER_CANNOT_ADD_FOREIGN", 1215 },
-{ "ER_NO_REFERENCED_ROW", 1216 },
-{ "ER_ROW_IS_REFERENCED", 1217 },
-{ "ER_CONNECT_TO_MASTER", 1218 },
-{ "ER_QUERY_ON_MASTER", 1219 },
-{ "ER_ERROR_WHEN_EXECUTING_COMMAND", 1220 },
-{ "ER_WRONG_USAGE", 1221 },
-{ "ER_WRONG_NUMBER_OF_COLUMNS_IN_SELECT", 1222 },
-{ "ER_CANT_UPDATE_WITH_READLOCK", 1223 },
-{ "ER_MIXING_NOT_ALLOWED", 1224 },
-{ "ER_DUP_ARGUMENT", 1225 },
-{ "ER_USER_LIMIT_REACHED", 1226 },
-{ "ER_SPECIFIC_ACCESS_DENIED_ERROR", 1227 },
-{ "ER_LOCAL_VARIABLE", 1228 },
-{ "ER_GLOBAL_VARIABLE", 1229 },
-{ "ER_NO_DEFAULT", 1230 },
-{ "ER_WRONG_VALUE_FOR_VAR", 1231 },
-{ "ER_WRONG_TYPE_FOR_VAR", 1232 },
-{ "ER_VAR_CANT_BE_READ", 1233 },
-{ "ER_CANT_USE_OPTION_HERE", 1234 },
-{ "ER_NOT_SUPPORTED_YET", 1235 },
-{ "ER_MASTER_FATAL_ERROR_READING_BINLOG", 1236 },
-{ "ER_SLAVE_IGNORED_TABLE", 1237 },
-{ "ER_INCORRECT_GLOBAL_LOCAL_VAR", 1238 },
-{ "ER_WRONG_FK_DEF", 1239 },
-{ "ER_KEY_REF_DO_NOT_MATCH_TABLE_REF", 1240 },
-{ "ER_OPERAND_COLUMNS", 1241 },
-{ "ER_SUBQUERY_NO_1_ROW", 1242 },
-{ "ER_UNKNOWN_STMT_HANDLER", 1243 },
-{ "ER_CORRUPT_HELP_DB", 1244 },
-{ "ER_CYCLIC_REFERENCE", 1245 },
-{ "ER_AUTO_CONVERT", 1246 },
-{ "ER_ILLEGAL_REFERENCE", 1247 },
-{ "ER_DERIVED_MUST_HAVE_ALIAS", 1248 },
-{ "ER_SELECT_REDUCED", 1249 },
-{ "ER_TABLENAME_NOT_ALLOWED_HERE", 1250 },
-{ "ER_NOT_SUPPORTED_AUTH_MODE", 1251 },
-{ "ER_SPATIAL_CANT_HAVE_NULL", 1252 },
-{ "ER_COLLATION_CHARSET_MISMATCH", 1253 },
-{ "ER_SLAVE_WAS_RUNNING", 1254 },
-{ "ER_SLAVE_WAS_NOT_RUNNING", 1255 },
-{ "ER_TOO_BIG_FOR_UNCOMPRESS", 1256 },
-{ "ER_ZLIB_Z_MEM_ERROR", 1257 },
-{ "ER_ZLIB_Z_BUF_ERROR", 1258 },
-{ "ER_ZLIB_Z_DATA_ERROR", 1259 },
-{ "ER_CUT_VALUE_GROUP_CONCAT", 1260 },
-{ "ER_WARN_TOO_FEW_RECORDS", 1261 },
-{ "ER_WARN_TOO_MANY_RECORDS", 1262 },
-{ "ER_WARN_NULL_TO_NOTNULL", 1263 },
-{ "ER_WARN_DATA_OUT_OF_RANGE", 1264 },
-{ "WARN_DATA_TRUNCATED", 1265 },
-{ "ER_WARN_USING_OTHER_HANDLER", 1266 },
-{ "ER_CANT_AGGREGATE_2COLLATIONS", 1267 },
-{ "ER_DROP_USER", 1268 },
-{ "ER_REVOKE_GRANTS", 1269 },
-{ "ER_CANT_AGGREGATE_3COLLATIONS", 1270 },
-{ "ER_CANT_AGGREGATE_NCOLLATIONS", 1271 },
-{ "ER_VARIABLE_IS_NOT_STRUCT", 1272 },
-{ "ER_UNKNOWN_COLLATION", 1273 },
-{ "ER_SLAVE_IGNORED_SSL_PARAMS", 1274 },
-{ "ER_SERVER_IS_IN_SECURE_AUTH_MODE", 1275 },
-{ "ER_WARN_FIELD_RESOLVED", 1276 },
-{ "ER_BAD_SLAVE_UNTIL_COND", 1277 },
-{ "ER_MISSING_SKIP_SLAVE", 1278 },
-{ "ER_UNTIL_COND_IGNORED", 1279 },
-{ "ER_WRONG_NAME_FOR_INDEX", 1280 },
-{ "ER_WRONG_NAME_FOR_CATALOG", 1281 },
-{ "ER_WARN_QC_RESIZE", 1282 },
-{ "ER_BAD_FT_COLUMN", 1283 },
-{ "ER_UNKNOWN_KEY_CACHE", 1284 },
-{ "ER_WARN_HOSTNAME_WONT_WORK", 1285 },
-{ "ER_UNKNOWN_STORAGE_ENGINE", 1286 },
-{ "ER_WARN_DEPRECATED_SYNTAX", 1287 },
-{ "ER_NON_UPDATABLE_TABLE", 1288 },
-{ "ER_FEATURE_DISABLED", 1289 },
-{ "ER_OPTION_PREVENTS_STATEMENT", 1290 },
-{ "ER_DUPLICATED_VALUE_IN_TYPE", 1291 },
-{ "ER_TRUNCATED_WRONG_VALUE", 1292 },
-{ "ER_TOO_MUCH_AUTO_TIMESTAMP_COLS", 1293 },
-{ "ER_INVALID_ON_UPDATE", 1294 },
-{ "ER_UNSUPPORTED_PS", 1295 },
-{ "ER_GET_ERRMSG", 1296 },
-{ "ER_GET_TEMPORARY_ERRMSG", 1297 },
-{ "ER_UNKNOWN_TIME_ZONE", 1298 },
-{ "ER_WARN_INVALID_TIMESTAMP", 1299 },
-{ "ER_INVALID_CHARACTER_STRING", 1300 },
-{ "ER_WARN_ALLOWED_PACKET_OVERFLOWED", 1301 },
-{ "ER_CONFLICTING_DECLARATIONS", 1302 },
-{ "ER_SP_NO_RECURSIVE_CREATE", 1303 },
-{ "ER_SP_ALREADY_EXISTS", 1304 },
-{ "ER_SP_DOES_NOT_EXIST", 1305 },
-{ "ER_SP_DROP_FAILED", 1306 },
-{ "ER_SP_STORE_FAILED", 1307 },
-{ "ER_SP_LILABEL_MISMATCH", 1308 },
-{ "ER_SP_LABEL_REDEFINE", 1309 },
-{ "ER_SP_LABEL_MISMATCH", 1310 },
-{ "ER_SP_UNINIT_VAR", 1311 },
-{ "ER_SP_BADSELECT", 1312 },
-{ "ER_SP_BADRETURN", 1313 },
-{ "ER_SP_BADSTATEMENT", 1314 },
-{ "ER_UPDATE_LOG_DEPRECATED_IGNORED", 1315 },
-{ "ER_UPDATE_LOG_DEPRECATED_TRANSLATED", 1316 },
-{ "ER_QUERY_INTERRUPTED", 1317 },
-{ "ER_SP_WRONG_NO_OF_ARGS", 1318 },
-{ "ER_SP_COND_MISMATCH", 1319 },
-{ "ER_SP_NORETURN", 1320 },
-{ "ER_SP_NORETURNEND", 1321 },
-{ "ER_SP_BAD_CURSOR_QUERY", 1322 },
-{ "ER_SP_BAD_CURSOR_SELECT", 1323 },
-{ "ER_SP_CURSOR_MISMATCH", 1324 },
-{ "ER_SP_CURSOR_ALREADY_OPEN", 1325 },
-{ "ER_SP_CURSOR_NOT_OPEN", 1326 },
-{ "ER_SP_UNDECLARED_VAR", 1327 },
-{ "ER_SP_WRONG_NO_OF_FETCH_ARGS", 1328 },
-{ "ER_SP_FETCH_NO_DATA", 1329 },
-{ "ER_SP_DUP_PARAM", 1330 },
-{ "ER_SP_DUP_VAR", 1331 },
-{ "ER_SP_DUP_COND", 1332 },
-{ "ER_SP_DUP_CURS", 1333 },
-{ "ER_SP_CANT_ALTER", 1334 },
-{ "ER_SP_SUBSELECT_NYI", 1335 },
-{ "ER_STMT_NOT_ALLOWED_IN_SF_OR_TRG", 1336 },
-{ "ER_SP_VARCOND_AFTER_CURSHNDLR", 1337 },
-{ "ER_SP_CURSOR_AFTER_HANDLER", 1338 },
-{ "ER_SP_CASE_NOT_FOUND", 1339 },
-{ "ER_FPARSER_TOO_BIG_FILE", 1340 },
-{ "ER_FPARSER_BAD_HEADER", 1341 },
-{ "ER_FPARSER_EOF_IN_COMMENT", 1342 },
-{ "ER_FPARSER_ERROR_IN_PARAMETER", 1343 },
-{ "ER_FPARSER_EOF_IN_UNKNOWN_PARAMETER", 1344 },
-{ "ER_VIEW_NO_EXPLAIN", 1345 },
-{ "ER_FRM_UNKNOWN_TYPE", 1346 },
-{ "ER_WRONG_OBJECT", 1347 },
-{ "ER_NONUPDATEABLE_COLUMN", 1348 },
-{ "ER_VIEW_SELECT_DERIVED", 1349 },
-{ "ER_VIEW_SELECT_CLAUSE", 1350 },
-{ "ER_VIEW_SELECT_VARIABLE", 1351 },
-{ "ER_VIEW_SELECT_TMPTABLE", 1352 },
-{ "ER_VIEW_WRONG_LIST", 1353 },
-{ "ER_WARN_VIEW_MERGE", 1354 },
-{ "ER_WARN_VIEW_WITHOUT_KEY", 1355 },
-{ "ER_VIEW_INVALID", 1356 },
-{ "ER_SP_NO_DROP_SP", 1357 },
-{ "ER_SP_GOTO_IN_HNDLR", 1358 },
-{ "ER_TRG_ALREADY_EXISTS", 1359 },
-{ "ER_TRG_DOES_NOT_EXIST", 1360 },
-{ "ER_TRG_ON_VIEW_OR_TEMP_TABLE", 1361 },
-{ "ER_TRG_CANT_CHANGE_ROW", 1362 },
-{ "ER_TRG_NO_SUCH_ROW_IN_TRG", 1363 },
-{ "ER_NO_DEFAULT_FOR_FIELD", 1364 },
-{ "ER_DIVISION_BY_ZERO", 1365 },
-{ "ER_TRUNCATED_WRONG_VALUE_FOR_FIELD", 1366 },
-{ "ER_ILLEGAL_VALUE_FOR_TYPE", 1367 },
-{ "ER_VIEW_NONUPD_CHECK", 1368 },
-{ "ER_VIEW_CHECK_FAILED", 1369 },
-{ "ER_PROCACCESS_DENIED_ERROR", 1370 },
-{ "ER_RELAY_LOG_FAIL", 1371 },
-{ "ER_PASSWD_LENGTH", 1372 },
-{ "ER_UNKNOWN_TARGET_BINLOG", 1373 },
-{ "ER_IO_ERR_LOG_INDEX_READ", 1374 },
-{ "ER_BINLOG_PURGE_PROHIBITED", 1375 },
-{ "ER_FSEEK_FAIL", 1376 },
-{ "ER_BINLOG_PURGE_FATAL_ERR", 1377 },
-{ "ER_LOG_IN_USE", 1378 },
-{ "ER_LOG_PURGE_UNKNOWN_ERR", 1379 },
-{ "ER_RELAY_LOG_INIT", 1380 },
-{ "ER_NO_BINARY_LOGGING", 1381 },
-{ "ER_RESERVED_SYNTAX", 1382 },
-{ "ER_WSAS_FAILED", 1383 },
-{ "ER_DIFF_GROUPS_PROC", 1384 },
-{ "ER_NO_GROUP_FOR_PROC", 1385 },
-{ "ER_ORDER_WITH_PROC", 1386 },
-{ "ER_LOGGING_PROHIBIT_CHANGING_OF", 1387 },
-{ "ER_NO_FILE_MAPPING", 1388 },
-{ "ER_WRONG_MAGIC", 1389 },
-{ "ER_PS_MANY_PARAM", 1390 },
-{ "ER_KEY_PART_0", 1391 },
-{ "ER_VIEW_CHECKSUM", 1392 },
-{ "ER_VIEW_MULTIUPDATE", 1393 },
-{ "ER_VIEW_NO_INSERT_FIELD_LIST", 1394 },
-{ "ER_VIEW_DELETE_MERGE_VIEW", 1395 },
-{ "ER_CANNOT_USER", 1396 },
-{ "ER_XAER_NOTA", 1397 },
-{ "ER_XAER_INVAL", 1398 },
-{ "ER_XAER_RMFAIL", 1399 },
-{ "ER_XAER_OUTSIDE", 1400 },
-{ "ER_XAER_RMERR", 1401 },
-{ "ER_XA_RBROLLBACK", 1402 },
-{ "ER_NONEXISTING_PROC_GRANT", 1403 },
-{ "ER_PROC_AUTO_GRANT_FAIL", 1404 },
-{ "ER_PROC_AUTO_REVOKE_FAIL", 1405 },
-{ "ER_DATA_TOO_LONG", 1406 },
-{ "ER_SP_BAD_SQLSTATE", 1407 },
-{ "ER_STARTUP", 1408 },
-{ "ER_LOAD_FROM_FIXED_SIZE_ROWS_TO_VAR", 1409 },
-{ "ER_CANT_CREATE_USER_WITH_GRANT", 1410 },
-{ "ER_WRONG_VALUE_FOR_TYPE", 1411 },
-{ "ER_TABLE_DEF_CHANGED", 1412 },
-{ "ER_SP_DUP_HANDLER", 1413 },
-{ "ER_SP_NOT_VAR_ARG", 1414 },
-{ "ER_SP_NO_RETSET", 1415 },
-{ "ER_CANT_CREATE_GEOMETRY_OBJECT", 1416 },
-{ "ER_FAILED_ROUTINE_BREAK_BINLOG", 1417 },
-{ "ER_BINLOG_UNSAFE_ROUTINE", 1418 },
-{ "ER_BINLOG_CREATE_ROUTINE_NEED_SUPER", 1419 },
-{ "ER_EXEC_STMT_WITH_OPEN_CURSOR", 1420 },
-{ "ER_STMT_HAS_NO_OPEN_CURSOR", 1421 },
-{ "ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG", 1422 },
-{ "ER_NO_DEFAULT_FOR_VIEW_FIELD", 1423 },
-{ "ER_SP_NO_RECURSION", 1424 },
-{ "ER_TOO_BIG_SCALE", 1425 },
-{ "ER_TOO_BIG_PRECISION", 1426 },
-{ "ER_M_BIGGER_THAN_D", 1427 },
-{ "ER_WRONG_LOCK_OF_SYSTEM_TABLE", 1428 },
-{ "ER_CONNECT_TO_FOREIGN_DATA_SOURCE", 1429 },
-{ "ER_QUERY_ON_FOREIGN_DATA_SOURCE", 1430 },
-{ "ER_FOREIGN_DATA_SOURCE_DOESNT_EXIST", 1431 },
-{ "ER_FOREIGN_DATA_STRING_INVALID_CANT_CREATE", 1432 },
-{ "ER_FOREIGN_DATA_STRING_INVALID", 1433 },
-{ "ER_CANT_CREATE_FEDERATED_TABLE", 1434 },
-{ "ER_TRG_IN_WRONG_SCHEMA", 1435 },
-{ "ER_STACK_OVERRUN_NEED_MORE", 1436 },
-{ "ER_TOO_LONG_BODY", 1437 },
-{ "ER_WARN_CANT_DROP_DEFAULT_KEYCACHE", 1438 },
-{ "ER_TOO_BIG_DISPLAYWIDTH", 1439 },
-{ "ER_XAER_DUPID", 1440 },
-{ "ER_DATETIME_FUNCTION_OVERFLOW", 1441 },
-{ "ER_CANT_UPDATE_USED_TABLE_IN_SF_OR_TRG", 1442 },
-{ "ER_VIEW_PREVENT_UPDATE", 1443 },
-{ "ER_PS_NO_RECURSION", 1444 },
-{ "ER_SP_CANT_SET_AUTOCOMMIT", 1445 },
-{ "ER_MALFORMED_DEFINER", 1446 },
-{ "ER_VIEW_FRM_NO_USER", 1447 },
-{ "ER_VIEW_OTHER_USER", 1448 },
-{ "ER_NO_SUCH_USER", 1449 },
-{ "ER_FORBID_SCHEMA_CHANGE", 1450 },
-{ "ER_ROW_IS_REFERENCED_2", 1451 },
-{ "ER_NO_REFERENCED_ROW_2", 1452 },
-{ "ER_SP_BAD_VAR_SHADOW", 1453 },
-{ "ER_TRG_NO_DEFINER", 1454 },
-{ "ER_OLD_FILE_FORMAT", 1455 },
-{ "ER_SP_RECURSION_LIMIT", 1456 },
-{ "ER_SP_PROC_TABLE_CORRUPT", 1457 },
-{ "ER_SP_WRONG_NAME", 1458 },
-{ "ER_TABLE_NEEDS_UPGRADE", 1459 },
-{ "ER_SP_NO_AGGREGATE", 1460 },
-{ "ER_MAX_PREPARED_STMT_COUNT_REACHED", 1461 },
-{ "ER_VIEW_RECURSIVE", 1462 },
-{ "ER_NON_GROUPING_FIELD_USED", 1463 },
-{ "ER_TABLE_CANT_HANDLE_SPKEYS", 1464 },
-{ "ER_NO_TRIGGERS_ON_SYSTEM_SCHEMA", 1465 },
-{ "ER_REMOVED_SPACES", 1466 },
-{ "ER_AUTOINC_READ_FAILED", 1467 },
-{ "ER_USERNAME", 1468 },
-{ "ER_HOSTNAME", 1469 },
-{ "ER_WRONG_STRING_LENGTH", 1470 },
-{ "ER_NON_INSERTABLE_TABLE", 1471 },
-{ "ER_ADMIN_WRONG_MRG_TABLE", 1472 },
-{ "ER_TOO_HIGH_LEVEL_OF_NESTING_FOR_SELECT", 1473 },
-{ "ER_NAME_BECOMES_EMPTY", 1474 },
-{ "ER_AMBIGUOUS_FIELD_TERM", 1475 },
-{ "ER_FOREIGN_SERVER_EXISTS", 1476 },
-{ "ER_FOREIGN_SERVER_DOESNT_EXIST", 1477 },
-{ "ER_ILLEGAL_HA_CREATE_OPTION", 1478 },
-{ "ER_PARTITION_REQUIRES_VALUES_ERROR", 1479 },
-{ "ER_PARTITION_WRONG_VALUES_ERROR", 1480 },
-{ "ER_PARTITION_MAXVALUE_ERROR", 1481 },
-{ "ER_PARTITION_SUBPARTITION_ERROR", 1482 },
-{ "ER_PARTITION_SUBPART_MIX_ERROR", 1483 },
-{ "ER_PARTITION_WRONG_NO_PART_ERROR", 1484 },
-{ "ER_PARTITION_WRONG_NO_SUBPART_ERROR", 1485 },
-{ "ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR", 1486 },
-{ "ER_NO_CONST_EXPR_IN_RANGE_OR_LIST_ERROR", 1487 },
-{ "ER_FIELD_NOT_FOUND_PART_ERROR", 1488 },
-{ "ER_LIST_OF_FIELDS_ONLY_IN_HASH_ERROR", 1489 },
-{ "ER_INCONSISTENT_PARTITION_INFO_ERROR", 1490 },
-{ "ER_PARTITION_FUNC_NOT_ALLOWED_ERROR", 1491 },
-{ "ER_PARTITIONS_MUST_BE_DEFINED_ERROR", 1492 },
-{ "ER_RANGE_NOT_INCREASING_ERROR", 1493 },
-{ "ER_INCONSISTENT_TYPE_OF_FUNCTIONS_ERROR", 1494 },
-{ "ER_MULTIPLE_DEF_CONST_IN_LIST_PART_ERROR", 1495 },
-{ "ER_PARTITION_ENTRY_ERROR", 1496 },
-{ "ER_MIX_HANDLER_ERROR", 1497 },
-{ "ER_PARTITION_NOT_DEFINED_ERROR", 1498 },
-{ "ER_TOO_MANY_PARTITIONS_ERROR", 1499 },
-{ "ER_SUBPARTITION_ERROR", 1500 },
-{ "ER_CANT_CREATE_HANDLER_FILE", 1501 },
-{ "ER_BLOB_FIELD_IN_PART_FUNC_ERROR", 1502 },
-{ "ER_UNIQUE_KEY_NEED_ALL_FIELDS_IN_PF", 1503 },
-{ "ER_NO_PARTS_ERROR", 1504 },
-{ "ER_PARTITION_MGMT_ON_NONPARTITIONED", 1505 },
-{ "ER_FOREIGN_KEY_ON_PARTITIONED", 1506 },
-{ "ER_DROP_PARTITION_NON_EXISTENT", 1507 },
-{ "ER_DROP_LAST_PARTITION", 1508 },
-{ "ER_COALESCE_ONLY_ON_HASH_PARTITION", 1509 },
-{ "ER_REORG_HASH_ONLY_ON_SAME_NO", 1510 },
-{ "ER_REORG_NO_PARAM_ERROR", 1511 },
-{ "ER_ONLY_ON_RANGE_LIST_PARTITION", 1512 },
-{ "ER_ADD_PARTITION_SUBPART_ERROR", 1513 },
-{ "ER_ADD_PARTITION_NO_NEW_PARTITION", 1514 },
-{ "ER_COALESCE_PARTITION_NO_PARTITION", 1515 },
-{ "ER_REORG_PARTITION_NOT_EXIST", 1516 },
-{ "ER_SAME_NAME_PARTITION", 1517 },
-{ "ER_NO_BINLOG_ERROR", 1518 },
-{ "ER_CONSECUTIVE_REORG_PARTITIONS", 1519 },
-{ "ER_REORG_OUTSIDE_RANGE", 1520 },
-{ "ER_PARTITION_FUNCTION_FAILURE", 1521 },
-{ "ER_PART_STATE_ERROR", 1522 },
-{ "ER_LIMITED_PART_RANGE", 1523 },
-{ "ER_PLUGIN_IS_NOT_LOADED", 1524 },
-{ "ER_WRONG_VALUE", 1525 },
-{ "ER_NO_PARTITION_FOR_GIVEN_VALUE", 1526 },
-{ "ER_FILEGROUP_OPTION_ONLY_ONCE", 1527 },
-{ "ER_CREATE_FILEGROUP_FAILED", 1528 },
-{ "ER_DROP_FILEGROUP_FAILED", 1529 },
-{ "ER_TABLESPACE_AUTO_EXTEND_ERROR", 1530 },
-{ "ER_WRONG_SIZE_NUMBER", 1531 },
-{ "ER_SIZE_OVERFLOW_ERROR", 1532 },
-{ "ER_ALTER_FILEGROUP_FAILED", 1533 },
-{ "ER_BINLOG_ROW_LOGGING_FAILED", 1534 },
-{ "ER_BINLOG_ROW_WRONG_TABLE_DEF", 1535 },
-{ "ER_BINLOG_ROW_RBR_TO_SBR", 1536 },
-{ "ER_EVENT_ALREADY_EXISTS", 1537 },
-{ "ER_EVENT_STORE_FAILED", 1538 },
-{ "ER_EVENT_DOES_NOT_EXIST", 1539 },
-{ "ER_EVENT_CANT_ALTER", 1540 },
-{ "ER_EVENT_DROP_FAILED", 1541 },
-{ "ER_EVENT_INTERVAL_NOT_POSITIVE_OR_TOO_BIG", 1542 },
-{ "ER_EVENT_ENDS_BEFORE_STARTS", 1543 },
-{ "ER_EVENT_EXEC_TIME_IN_THE_PAST", 1544 },
-{ "ER_EVENT_OPEN_TABLE_FAILED", 1545 },
-{ "ER_EVENT_NEITHER_M_EXPR_NOR_M_AT", 1546 },
-{ "ER_COL_COUNT_DOESNT_MATCH_CORRUPTED", 1547 },
-{ "ER_CANNOT_LOAD_FROM_TABLE", 1548 },
-{ "ER_EVENT_CANNOT_DELETE", 1549 },
-{ "ER_EVENT_COMPILE_ERROR", 1550 },
-{ "ER_EVENT_SAME_NAME", 1551 },
-{ "ER_EVENT_DATA_TOO_LONG", 1552 },
-{ "ER_DROP_INDEX_FK", 1553 },
-{ "ER_WARN_DEPRECATED_SYNTAX_WITH_VER", 1554 },
-{ "ER_CANT_WRITE_LOCK_LOG_TABLE", 1555 },
-{ "ER_CANT_LOCK_LOG_TABLE", 1556 },
-{ "ER_FOREIGN_DUPLICATE_KEY", 1557 },
-{ "ER_COL_COUNT_DOESNT_MATCH_PLEASE_UPDATE", 1558 },
-{ "ER_TEMP_TABLE_PREVENTS_SWITCH_OUT_OF_RBR", 1559 },
-{ "ER_STORED_FUNCTION_PREVENTS_SWITCH_BINLOG_FORMAT", 1560 },
-{ "ER_NDB_CANT_SWITCH_BINLOG_FORMAT", 1561 },
-{ "ER_PARTITION_NO_TEMPORARY", 1562 },
-{ "ER_PARTITION_CONST_DOMAIN_ERROR", 1563 },
-{ "ER_PARTITION_FUNCTION_IS_NOT_ALLOWED", 1564 },
-{ "ER_DDL_LOG_ERROR", 1565 },
-{ "ER_NULL_IN_VALUES_LESS_THAN", 1566 },
-{ "ER_WRONG_PARTITION_NAME", 1567 },
-{ "ER_CANT_CHANGE_TX_ISOLATION", 1568 },
-{ "ER_DUP_ENTRY_AUTOINCREMENT_CASE", 1569 },
-{ "ER_EVENT_MODIFY_QUEUE_ERROR", 1570 },
-{ "ER_EVENT_SET_VAR_ERROR", 1571 },
-{ "ER_PARTITION_MERGE_ERROR", 1572 },
-{ "ER_CANT_ACTIVATE_LOG", 1573 },
-{ "ER_RBR_NOT_AVAILABLE", 1574 },
-{ "ER_BASE64_DECODE_ERROR", 1575 },
-{ "ER_EVENT_RECURSION_FORBIDDEN", 1576 },
-{ "ER_EVENTS_DB_ERROR", 1577 },
-{ "ER_ONLY_INTEGERS_ALLOWED", 1578 },
-{ "ER_UNSUPORTED_LOG_ENGINE", 1579 },
-{ "ER_BAD_LOG_STATEMENT", 1580 },
-{ "ER_CANT_RENAME_LOG_TABLE", 1581 },
-{ "ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT", 1582 },
-{ "ER_WRONG_PARAMETERS_TO_NATIVE_FCT", 1583 },
-{ "ER_WRONG_PARAMETERS_TO_STORED_FCT", 1584 },
-{ "ER_NATIVE_FCT_NAME_COLLISION", 1585 },
-{ "ER_DUP_ENTRY_WITH_KEY_NAME", 1586 },
-{ "ER_BINLOG_PURGE_EMFILE", 1587 },
-{ "ER_EVENT_CANNOT_CREATE_IN_THE_PAST", 1588 },
-{ "ER_EVENT_CANNOT_ALTER_IN_THE_PAST", 1589 },
-{ "ER_SLAVE_INCIDENT", 1590 },
-{ "ER_NO_PARTITION_FOR_GIVEN_VALUE_SILENT", 1591 },
-{ "ER_BINLOG_UNSAFE_STATEMENT", 1592 },
-{ "ER_SLAVE_FATAL_ERROR", 1593 },
-{ "ER_SLAVE_RELAY_LOG_READ_FAILURE", 1594 },
-{ "ER_SLAVE_RELAY_LOG_WRITE_FAILURE", 1595 },
-{ "ER_SLAVE_CREATE_EVENT_FAILURE", 1596 },
-{ "ER_SLAVE_MASTER_COM_FAILURE", 1597 },
-{ "ER_BINLOG_LOGGING_IMPOSSIBLE", 1598 },
-{ "ER_VIEW_NO_CREATION_CTX", 1599 },
-{ "ER_VIEW_INVALID_CREATION_CTX", 1600 },
-{ "ER_SR_INVALID_CREATION_CTX", 1601 },
-{ "ER_TRG_CORRUPTED_FILE", 1602 },
-{ "ER_TRG_NO_CREATION_CTX", 1603 },
-{ "ER_TRG_INVALID_CREATION_CTX", 1604 },
-{ "ER_EVENT_INVALID_CREATION_CTX", 1605 },
-{ "ER_TRG_CANT_OPEN_TABLE", 1606 },
-{ "ER_CANT_CREATE_SROUTINE", 1607 },
-{ "ER_SLAVE_AMBIGOUS_EXEC_MODE", 1608 },
-{ "ER_NO_FORMAT_DESCRIPTION_EVENT_BEFORE_BINLOG_STATEMENT", 1609 },
-{ "ER_SLAVE_CORRUPT_EVENT", 1610 },
-{ "ER_LOAD_DATA_INVALID_COLUMN", 1611 },
-{ "ER_LOG_PURGE_NO_FILE", 1612 },
-{ "ER_XA_RBTIMEOUT", 1613 },
-{ "ER_XA_RBDEADLOCK", 1614 },
-{ "ER_NEED_REPREPARE", 1615 },
-{ "ER_DELAYED_NOT_SUPPORTED", 1616 },
-{ "WARN_NO_MASTER_INFO", 1617 },
-{ "WARN_OPTION_IGNORED", 1618 },
-{ "WARN_PLUGIN_DELETE_BUILTIN", 1619 },
-{ "WARN_PLUGIN_BUSY", 1620 },
-{ "ER_VARIABLE_IS_READONLY", 1621 },
-{ "ER_WARN_ENGINE_TRANSACTION_ROLLBACK", 1622 },
-{ "ER_SLAVE_HEARTBEAT_FAILURE", 1623 },
-{ "ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE", 1624 },
-{ "ER_NDB_REPLICATION_SCHEMA_ERROR", 1625 },
-{ "ER_CONFLICT_FN_PARSE_ERROR", 1626 },
-{ "ER_EXCEPTIONS_WRITE_ERROR", 1627 },
-{ "ER_TOO_LONG_TABLE_COMMENT", 1628 },
-{ "ER_TOO_LONG_FIELD_COMMENT", 1629 },
-{ "ER_FUNC_INEXISTENT_NAME_COLLISION", 1630 },
-{ "ER_DATABASE_NAME", 1631 },
-{ "ER_TABLE_NAME", 1632 },
-{ "ER_PARTITION_NAME", 1633 },
-{ "ER_SUBPARTITION_NAME", 1634 },
-{ "ER_TEMPORARY_NAME", 1635 },
-{ "ER_RENAMED_NAME", 1636 },
-{ "ER_TOO_MANY_CONCURRENT_TRXS", 1637 },
-{ "WARN_NON_ASCII_SEPARATOR_NOT_IMPLEMENTED", 1638 },
-{ "ER_DEBUG_SYNC_TIMEOUT", 1639 },
-{ "ER_DEBUG_SYNC_HIT_LIMIT", 1640 },
diff --git a/lib/libmysql_win32/include/mysqld_error.h b/lib/libmysql_win32/include/mysqld_error.h
deleted file mode 100644
index 1a6d69c626..0000000000
--- a/lib/libmysql_win32/include/mysqld_error.h
+++ /dev/null
@@ -1,645 +0,0 @@
-/* Autogenerated file, please don't edit */
-
-#define ER_ERROR_FIRST 1000
-#define ER_HASHCHK 1000
-#define ER_NISAMCHK 1001
-#define ER_NO 1002
-#define ER_YES 1003
-#define ER_CANT_CREATE_FILE 1004
-#define ER_CANT_CREATE_TABLE 1005
-#define ER_CANT_CREATE_DB 1006
-#define ER_DB_CREATE_EXISTS 1007
-#define ER_DB_DROP_EXISTS 1008
-#define ER_DB_DROP_DELETE 1009
-#define ER_DB_DROP_RMDIR 1010
-#define ER_CANT_DELETE_FILE 1011
-#define ER_CANT_FIND_SYSTEM_REC 1012
-#define ER_CANT_GET_STAT 1013
-#define ER_CANT_GET_WD 1014
-#define ER_CANT_LOCK 1015
-#define ER_CANT_OPEN_FILE 1016
-#define ER_FILE_NOT_FOUND 1017
-#define ER_CANT_READ_DIR 1018
-#define ER_CANT_SET_WD 1019
-#define ER_CHECKREAD 1020
-#define ER_DISK_FULL 1021
-#define ER_DUP_KEY 1022
-#define ER_ERROR_ON_CLOSE 1023
-#define ER_ERROR_ON_READ 1024
-#define ER_ERROR_ON_RENAME 1025
-#define ER_ERROR_ON_WRITE 1026
-#define ER_FILE_USED 1027
-#define ER_FILSORT_ABORT 1028
-#define ER_FORM_NOT_FOUND 1029
-#define ER_GET_ERRNO 1030
-#define ER_ILLEGAL_HA 1031
-#define ER_KEY_NOT_FOUND 1032
-#define ER_NOT_FORM_FILE 1033
-#define ER_NOT_KEYFILE 1034
-#define ER_OLD_KEYFILE 1035
-#define ER_OPEN_AS_READONLY 1036
-#define ER_OUTOFMEMORY 1037
-#define ER_OUT_OF_SORTMEMORY 1038
-#define ER_UNEXPECTED_EOF 1039
-#define ER_CON_COUNT_ERROR 1040
-#define ER_OUT_OF_RESOURCES 1041
-#define ER_BAD_HOST_ERROR 1042
-#define ER_HANDSHAKE_ERROR 1043
-#define ER_DBACCESS_DENIED_ERROR 1044
-#define ER_ACCESS_DENIED_ERROR 1045
-#define ER_NO_DB_ERROR 1046
-#define ER_UNKNOWN_COM_ERROR 1047
-#define ER_BAD_NULL_ERROR 1048
-#define ER_BAD_DB_ERROR 1049
-#define ER_TABLE_EXISTS_ERROR 1050
-#define ER_BAD_TABLE_ERROR 1051
-#define ER_NON_UNIQ_ERROR 1052
-#define ER_SERVER_SHUTDOWN 1053
-#define ER_BAD_FIELD_ERROR 1054
-#define ER_WRONG_FIELD_WITH_GROUP 1055
-#define ER_WRONG_GROUP_FIELD 1056
-#define ER_WRONG_SUM_SELECT 1057
-#define ER_WRONG_VALUE_COUNT 1058
-#define ER_TOO_LONG_IDENT 1059
-#define ER_DUP_FIELDNAME 1060
-#define ER_DUP_KEYNAME 1061
-#define ER_DUP_ENTRY 1062
-#define ER_WRONG_FIELD_SPEC 1063
-#define ER_PARSE_ERROR 1064
-#define ER_EMPTY_QUERY 1065
-#define ER_NONUNIQ_TABLE 1066
-#define ER_INVALID_DEFAULT 1067
-#define ER_MULTIPLE_PRI_KEY 1068
-#define ER_TOO_MANY_KEYS 1069
-#define ER_TOO_MANY_KEY_PARTS 1070
-#define ER_TOO_LONG_KEY 1071
-#define ER_KEY_COLUMN_DOES_NOT_EXITS 1072
-#define ER_BLOB_USED_AS_KEY 1073
-#define ER_TOO_BIG_FIELDLENGTH 1074
-#define ER_WRONG_AUTO_KEY 1075
-#define ER_READY 1076
-#define ER_NORMAL_SHUTDOWN 1077
-#define ER_GOT_SIGNAL 1078
-#define ER_SHUTDOWN_COMPLETE 1079
-#define ER_FORCING_CLOSE 1080
-#define ER_IPSOCK_ERROR 1081
-#define ER_NO_SUCH_INDEX 1082
-#define ER_WRONG_FIELD_TERMINATORS 1083
-#define ER_BLOBS_AND_NO_TERMINATED 1084
-#define ER_TEXTFILE_NOT_READABLE 1085
-#define ER_FILE_EXISTS_ERROR 1086
-#define ER_LOAD_INFO 1087
-#define ER_ALTER_INFO 1088
-#define ER_WRONG_SUB_KEY 1089
-#define ER_CANT_REMOVE_ALL_FIELDS 1090
-#define ER_CANT_DROP_FIELD_OR_KEY 1091
-#define ER_INSERT_INFO 1092
-#define ER_UPDATE_TABLE_USED 1093
-#define ER_NO_SUCH_THREAD 1094
-#define ER_KILL_DENIED_ERROR 1095
-#define ER_NO_TABLES_USED 1096
-#define ER_TOO_BIG_SET 1097
-#define ER_NO_UNIQUE_LOGFILE 1098
-#define ER_TABLE_NOT_LOCKED_FOR_WRITE 1099
-#define ER_TABLE_NOT_LOCKED 1100
-#define ER_BLOB_CANT_HAVE_DEFAULT 1101
-#define ER_WRONG_DB_NAME 1102
-#define ER_WRONG_TABLE_NAME 1103
-#define ER_TOO_BIG_SELECT 1104
-#define ER_UNKNOWN_ERROR 1105
-#define ER_UNKNOWN_PROCEDURE 1106
-#define ER_WRONG_PARAMCOUNT_TO_PROCEDURE 1107
-#define ER_WRONG_PARAMETERS_TO_PROCEDURE 1108
-#define ER_UNKNOWN_TABLE 1109
-#define ER_FIELD_SPECIFIED_TWICE 1110
-#define ER_INVALID_GROUP_FUNC_USE 1111
-#define ER_UNSUPPORTED_EXTENSION 1112
-#define ER_TABLE_MUST_HAVE_COLUMNS 1113
-#define ER_RECORD_FILE_FULL 1114
-#define ER_UNKNOWN_CHARACTER_SET 1115
-#define ER_TOO_MANY_TABLES 1116
-#define ER_TOO_MANY_FIELDS 1117
-#define ER_TOO_BIG_ROWSIZE 1118
-#define ER_STACK_OVERRUN 1119
-#define ER_WRONG_OUTER_JOIN 1120
-#define ER_NULL_COLUMN_IN_INDEX 1121
-#define ER_CANT_FIND_UDF 1122
-#define ER_CANT_INITIALIZE_UDF 1123
-#define ER_UDF_NO_PATHS 1124
-#define ER_UDF_EXISTS 1125
-#define ER_CANT_OPEN_LIBRARY 1126
-#define ER_CANT_FIND_DL_ENTRY 1127
-#define ER_FUNCTION_NOT_DEFINED 1128
-#define ER_HOST_IS_BLOCKED 1129
-#define ER_HOST_NOT_PRIVILEGED 1130
-#define ER_PASSWORD_ANONYMOUS_USER 1131
-#define ER_PASSWORD_NOT_ALLOWED 1132
-#define ER_PASSWORD_NO_MATCH 1133
-#define ER_UPDATE_INFO 1134
-#define ER_CANT_CREATE_THREAD 1135
-#define ER_WRONG_VALUE_COUNT_ON_ROW 1136
-#define ER_CANT_REOPEN_TABLE 1137
-#define ER_INVALID_USE_OF_NULL 1138
-#define ER_REGEXP_ERROR 1139
-#define ER_MIX_OF_GROUP_FUNC_AND_FIELDS 1140
-#define ER_NONEXISTING_GRANT 1141
-#define ER_TABLEACCESS_DENIED_ERROR 1142
-#define ER_COLUMNACCESS_DENIED_ERROR 1143
-#define ER_ILLEGAL_GRANT_FOR_TABLE 1144
-#define ER_GRANT_WRONG_HOST_OR_USER 1145
-#define ER_NO_SUCH_TABLE 1146
-#define ER_NONEXISTING_TABLE_GRANT 1147
-#define ER_NOT_ALLOWED_COMMAND 1148
-#define ER_SYNTAX_ERROR 1149
-#define ER_DELAYED_CANT_CHANGE_LOCK 1150
-#define ER_TOO_MANY_DELAYED_THREADS 1151
-#define ER_ABORTING_CONNECTION 1152
-#define ER_NET_PACKET_TOO_LARGE 1153
-#define ER_NET_READ_ERROR_FROM_PIPE 1154
-#define ER_NET_FCNTL_ERROR 1155
-#define ER_NET_PACKETS_OUT_OF_ORDER 1156
-#define ER_NET_UNCOMPRESS_ERROR 1157
-#define ER_NET_READ_ERROR 1158
-#define ER_NET_READ_INTERRUPTED 1159
-#define ER_NET_ERROR_ON_WRITE 1160
-#define ER_NET_WRITE_INTERRUPTED 1161
-#define ER_TOO_LONG_STRING 1162
-#define ER_TABLE_CANT_HANDLE_BLOB 1163
-#define ER_TABLE_CANT_HANDLE_AUTO_INCREMENT 1164
-#define ER_DELAYED_INSERT_TABLE_LOCKED 1165
-#define ER_WRONG_COLUMN_NAME 1166
-#define ER_WRONG_KEY_COLUMN 1167
-#define ER_WRONG_MRG_TABLE 1168
-#define ER_DUP_UNIQUE 1169
-#define ER_BLOB_KEY_WITHOUT_LENGTH 1170
-#define ER_PRIMARY_CANT_HAVE_NULL 1171
-#define ER_TOO_MANY_ROWS 1172
-#define ER_REQUIRES_PRIMARY_KEY 1173
-#define ER_NO_RAID_COMPILED 1174
-#define ER_UPDATE_WITHOUT_KEY_IN_SAFE_MODE 1175
-#define ER_KEY_DOES_NOT_EXITS 1176
-#define ER_CHECK_NO_SUCH_TABLE 1177
-#define ER_CHECK_NOT_IMPLEMENTED 1178
-#define ER_CANT_DO_THIS_DURING_AN_TRANSACTION 1179
-#define ER_ERROR_DURING_COMMIT 1180
-#define ER_ERROR_DURING_ROLLBACK 1181
-#define ER_ERROR_DURING_FLUSH_LOGS 1182
-#define ER_ERROR_DURING_CHECKPOINT 1183
-#define ER_NEW_ABORTING_CONNECTION 1184
-#define ER_DUMP_NOT_IMPLEMENTED 1185
-#define ER_FLUSH_MASTER_BINLOG_CLOSED 1186
-#define ER_INDEX_REBUILD 1187
-#define ER_MASTER 1188
-#define ER_MASTER_NET_READ 1189
-#define ER_MASTER_NET_WRITE 1190
-#define ER_FT_MATCHING_KEY_NOT_FOUND 1191
-#define ER_LOCK_OR_ACTIVE_TRANSACTION 1192
-#define ER_UNKNOWN_SYSTEM_VARIABLE 1193
-#define ER_CRASHED_ON_USAGE 1194
-#define ER_CRASHED_ON_REPAIR 1195
-#define ER_WARNING_NOT_COMPLETE_ROLLBACK 1196
-#define ER_TRANS_CACHE_FULL 1197
-#define ER_SLAVE_MUST_STOP 1198
-#define ER_SLAVE_NOT_RUNNING 1199
-#define ER_BAD_SLAVE 1200
-#define ER_MASTER_INFO 1201
-#define ER_SLAVE_THREAD 1202
-#define ER_TOO_MANY_USER_CONNECTIONS 1203
-#define ER_SET_CONSTANTS_ONLY 1204
-#define ER_LOCK_WAIT_TIMEOUT 1205
-#define ER_LOCK_TABLE_FULL 1206
-#define ER_READ_ONLY_TRANSACTION 1207
-#define ER_DROP_DB_WITH_READ_LOCK 1208
-#define ER_CREATE_DB_WITH_READ_LOCK 1209
-#define ER_WRONG_ARGUMENTS 1210
-#define ER_NO_PERMISSION_TO_CREATE_USER 1211
-#define ER_UNION_TABLES_IN_DIFFERENT_DIR 1212
-#define ER_LOCK_DEADLOCK 1213
-#define ER_TABLE_CANT_HANDLE_FT 1214
-#define ER_CANNOT_ADD_FOREIGN 1215
-#define ER_NO_REFERENCED_ROW 1216
-#define ER_ROW_IS_REFERENCED 1217
-#define ER_CONNECT_TO_MASTER 1218
-#define ER_QUERY_ON_MASTER 1219
-#define ER_ERROR_WHEN_EXECUTING_COMMAND 1220
-#define ER_WRONG_USAGE 1221
-#define ER_WRONG_NUMBER_OF_COLUMNS_IN_SELECT 1222
-#define ER_CANT_UPDATE_WITH_READLOCK 1223
-#define ER_MIXING_NOT_ALLOWED 1224
-#define ER_DUP_ARGUMENT 1225
-#define ER_USER_LIMIT_REACHED 1226
-#define ER_SPECIFIC_ACCESS_DENIED_ERROR 1227
-#define ER_LOCAL_VARIABLE 1228
-#define ER_GLOBAL_VARIABLE 1229
-#define ER_NO_DEFAULT 1230
-#define ER_WRONG_VALUE_FOR_VAR 1231
-#define ER_WRONG_TYPE_FOR_VAR 1232
-#define ER_VAR_CANT_BE_READ 1233
-#define ER_CANT_USE_OPTION_HERE 1234
-#define ER_NOT_SUPPORTED_YET 1235
-#define ER_MASTER_FATAL_ERROR_READING_BINLOG 1236
-#define ER_SLAVE_IGNORED_TABLE 1237
-#define ER_INCORRECT_GLOBAL_LOCAL_VAR 1238
-#define ER_WRONG_FK_DEF 1239
-#define ER_KEY_REF_DO_NOT_MATCH_TABLE_REF 1240
-#define ER_OPERAND_COLUMNS 1241
-#define ER_SUBQUERY_NO_1_ROW 1242
-#define ER_UNKNOWN_STMT_HANDLER 1243
-#define ER_CORRUPT_HELP_DB 1244
-#define ER_CYCLIC_REFERENCE 1245
-#define ER_AUTO_CONVERT 1246
-#define ER_ILLEGAL_REFERENCE 1247
-#define ER_DERIVED_MUST_HAVE_ALIAS 1248
-#define ER_SELECT_REDUCED 1249
-#define ER_TABLENAME_NOT_ALLOWED_HERE 1250
-#define ER_NOT_SUPPORTED_AUTH_MODE 1251
-#define ER_SPATIAL_CANT_HAVE_NULL 1252
-#define ER_COLLATION_CHARSET_MISMATCH 1253
-#define ER_SLAVE_WAS_RUNNING 1254
-#define ER_SLAVE_WAS_NOT_RUNNING 1255
-#define ER_TOO_BIG_FOR_UNCOMPRESS 1256
-#define ER_ZLIB_Z_MEM_ERROR 1257
-#define ER_ZLIB_Z_BUF_ERROR 1258
-#define ER_ZLIB_Z_DATA_ERROR 1259
-#define ER_CUT_VALUE_GROUP_CONCAT 1260
-#define ER_WARN_TOO_FEW_RECORDS 1261
-#define ER_WARN_TOO_MANY_RECORDS 1262
-#define ER_WARN_NULL_TO_NOTNULL 1263
-#define ER_WARN_DATA_OUT_OF_RANGE 1264
-#define WARN_DATA_TRUNCATED 1265
-#define ER_WARN_USING_OTHER_HANDLER 1266
-#define ER_CANT_AGGREGATE_2COLLATIONS 1267
-#define ER_DROP_USER 1268
-#define ER_REVOKE_GRANTS 1269
-#define ER_CANT_AGGREGATE_3COLLATIONS 1270
-#define ER_CANT_AGGREGATE_NCOLLATIONS 1271
-#define ER_VARIABLE_IS_NOT_STRUCT 1272
-#define ER_UNKNOWN_COLLATION 1273
-#define ER_SLAVE_IGNORED_SSL_PARAMS 1274
-#define ER_SERVER_IS_IN_SECURE_AUTH_MODE 1275
-#define ER_WARN_FIELD_RESOLVED 1276
-#define ER_BAD_SLAVE_UNTIL_COND 1277
-#define ER_MISSING_SKIP_SLAVE 1278
-#define ER_UNTIL_COND_IGNORED 1279
-#define ER_WRONG_NAME_FOR_INDEX 1280
-#define ER_WRONG_NAME_FOR_CATALOG 1281
-#define ER_WARN_QC_RESIZE 1282
-#define ER_BAD_FT_COLUMN 1283
-#define ER_UNKNOWN_KEY_CACHE 1284
-#define ER_WARN_HOSTNAME_WONT_WORK 1285
-#define ER_UNKNOWN_STORAGE_ENGINE 1286
-#define ER_WARN_DEPRECATED_SYNTAX 1287
-#define ER_NON_UPDATABLE_TABLE 1288
-#define ER_FEATURE_DISABLED 1289
-#define ER_OPTION_PREVENTS_STATEMENT 1290
-#define ER_DUPLICATED_VALUE_IN_TYPE 1291
-#define ER_TRUNCATED_WRONG_VALUE 1292
-#define ER_TOO_MUCH_AUTO_TIMESTAMP_COLS 1293
-#define ER_INVALID_ON_UPDATE 1294
-#define ER_UNSUPPORTED_PS 1295
-#define ER_GET_ERRMSG 1296
-#define ER_GET_TEMPORARY_ERRMSG 1297
-#define ER_UNKNOWN_TIME_ZONE 1298
-#define ER_WARN_INVALID_TIMESTAMP 1299
-#define ER_INVALID_CHARACTER_STRING 1300
-#define ER_WARN_ALLOWED_PACKET_OVERFLOWED 1301
-#define ER_CONFLICTING_DECLARATIONS 1302
-#define ER_SP_NO_RECURSIVE_CREATE 1303
-#define ER_SP_ALREADY_EXISTS 1304
-#define ER_SP_DOES_NOT_EXIST 1305
-#define ER_SP_DROP_FAILED 1306
-#define ER_SP_STORE_FAILED 1307
-#define ER_SP_LILABEL_MISMATCH 1308
-#define ER_SP_LABEL_REDEFINE 1309
-#define ER_SP_LABEL_MISMATCH 1310
-#define ER_SP_UNINIT_VAR 1311
-#define ER_SP_BADSELECT 1312
-#define ER_SP_BADRETURN 1313
-#define ER_SP_BADSTATEMENT 1314
-#define ER_UPDATE_LOG_DEPRECATED_IGNORED 1315
-#define ER_UPDATE_LOG_DEPRECATED_TRANSLATED 1316
-#define ER_QUERY_INTERRUPTED 1317
-#define ER_SP_WRONG_NO_OF_ARGS 1318
-#define ER_SP_COND_MISMATCH 1319
-#define ER_SP_NORETURN 1320
-#define ER_SP_NORETURNEND 1321
-#define ER_SP_BAD_CURSOR_QUERY 1322
-#define ER_SP_BAD_CURSOR_SELECT 1323
-#define ER_SP_CURSOR_MISMATCH 1324
-#define ER_SP_CURSOR_ALREADY_OPEN 1325
-#define ER_SP_CURSOR_NOT_OPEN 1326
-#define ER_SP_UNDECLARED_VAR 1327
-#define ER_SP_WRONG_NO_OF_FETCH_ARGS 1328
-#define ER_SP_FETCH_NO_DATA 1329
-#define ER_SP_DUP_PARAM 1330
-#define ER_SP_DUP_VAR 1331
-#define ER_SP_DUP_COND 1332
-#define ER_SP_DUP_CURS 1333
-#define ER_SP_CANT_ALTER 1334
-#define ER_SP_SUBSELECT_NYI 1335
-#define ER_STMT_NOT_ALLOWED_IN_SF_OR_TRG 1336
-#define ER_SP_VARCOND_AFTER_CURSHNDLR 1337
-#define ER_SP_CURSOR_AFTER_HANDLER 1338
-#define ER_SP_CASE_NOT_FOUND 1339
-#define ER_FPARSER_TOO_BIG_FILE 1340
-#define ER_FPARSER_BAD_HEADER 1341
-#define ER_FPARSER_EOF_IN_COMMENT 1342
-#define ER_FPARSER_ERROR_IN_PARAMETER 1343
-#define ER_FPARSER_EOF_IN_UNKNOWN_PARAMETER 1344
-#define ER_VIEW_NO_EXPLAIN 1345
-#define ER_FRM_UNKNOWN_TYPE 1346
-#define ER_WRONG_OBJECT 1347
-#define ER_NONUPDATEABLE_COLUMN 1348
-#define ER_VIEW_SELECT_DERIVED 1349
-#define ER_VIEW_SELECT_CLAUSE 1350
-#define ER_VIEW_SELECT_VARIABLE 1351
-#define ER_VIEW_SELECT_TMPTABLE 1352
-#define ER_VIEW_WRONG_LIST 1353
-#define ER_WARN_VIEW_MERGE 1354
-#define ER_WARN_VIEW_WITHOUT_KEY 1355
-#define ER_VIEW_INVALID 1356
-#define ER_SP_NO_DROP_SP 1357
-#define ER_SP_GOTO_IN_HNDLR 1358
-#define ER_TRG_ALREADY_EXISTS 1359
-#define ER_TRG_DOES_NOT_EXIST 1360
-#define ER_TRG_ON_VIEW_OR_TEMP_TABLE 1361
-#define ER_TRG_CANT_CHANGE_ROW 1362
-#define ER_TRG_NO_SUCH_ROW_IN_TRG 1363
-#define ER_NO_DEFAULT_FOR_FIELD 1364
-#define ER_DIVISION_BY_ZERO 1365
-#define ER_TRUNCATED_WRONG_VALUE_FOR_FIELD 1366
-#define ER_ILLEGAL_VALUE_FOR_TYPE 1367
-#define ER_VIEW_NONUPD_CHECK 1368
-#define ER_VIEW_CHECK_FAILED 1369
-#define ER_PROCACCESS_DENIED_ERROR 1370
-#define ER_RELAY_LOG_FAIL 1371
-#define ER_PASSWD_LENGTH 1372
-#define ER_UNKNOWN_TARGET_BINLOG 1373
-#define ER_IO_ERR_LOG_INDEX_READ 1374
-#define ER_BINLOG_PURGE_PROHIBITED 1375
-#define ER_FSEEK_FAIL 1376
-#define ER_BINLOG_PURGE_FATAL_ERR 1377
-#define ER_LOG_IN_USE 1378
-#define ER_LOG_PURGE_UNKNOWN_ERR 1379
-#define ER_RELAY_LOG_INIT 1380
-#define ER_NO_BINARY_LOGGING 1381
-#define ER_RESERVED_SYNTAX 1382
-#define ER_WSAS_FAILED 1383
-#define ER_DIFF_GROUPS_PROC 1384
-#define ER_NO_GROUP_FOR_PROC 1385
-#define ER_ORDER_WITH_PROC 1386
-#define ER_LOGGING_PROHIBIT_CHANGING_OF 1387
-#define ER_NO_FILE_MAPPING 1388
-#define ER_WRONG_MAGIC 1389
-#define ER_PS_MANY_PARAM 1390
-#define ER_KEY_PART_0 1391
-#define ER_VIEW_CHECKSUM 1392
-#define ER_VIEW_MULTIUPDATE 1393
-#define ER_VIEW_NO_INSERT_FIELD_LIST 1394
-#define ER_VIEW_DELETE_MERGE_VIEW 1395
-#define ER_CANNOT_USER 1396
-#define ER_XAER_NOTA 1397
-#define ER_XAER_INVAL 1398
-#define ER_XAER_RMFAIL 1399
-#define ER_XAER_OUTSIDE 1400
-#define ER_XAER_RMERR 1401
-#define ER_XA_RBROLLBACK 1402
-#define ER_NONEXISTING_PROC_GRANT 1403
-#define ER_PROC_AUTO_GRANT_FAIL 1404
-#define ER_PROC_AUTO_REVOKE_FAIL 1405
-#define ER_DATA_TOO_LONG 1406
-#define ER_SP_BAD_SQLSTATE 1407
-#define ER_STARTUP 1408
-#define ER_LOAD_FROM_FIXED_SIZE_ROWS_TO_VAR 1409
-#define ER_CANT_CREATE_USER_WITH_GRANT 1410
-#define ER_WRONG_VALUE_FOR_TYPE 1411
-#define ER_TABLE_DEF_CHANGED 1412
-#define ER_SP_DUP_HANDLER 1413
-#define ER_SP_NOT_VAR_ARG 1414
-#define ER_SP_NO_RETSET 1415
-#define ER_CANT_CREATE_GEOMETRY_OBJECT 1416
-#define ER_FAILED_ROUTINE_BREAK_BINLOG 1417
-#define ER_BINLOG_UNSAFE_ROUTINE 1418
-#define ER_BINLOG_CREATE_ROUTINE_NEED_SUPER 1419
-#define ER_EXEC_STMT_WITH_OPEN_CURSOR 1420
-#define ER_STMT_HAS_NO_OPEN_CURSOR 1421
-#define ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG 1422
-#define ER_NO_DEFAULT_FOR_VIEW_FIELD 1423
-#define ER_SP_NO_RECURSION 1424
-#define ER_TOO_BIG_SCALE 1425
-#define ER_TOO_BIG_PRECISION 1426
-#define ER_M_BIGGER_THAN_D 1427
-#define ER_WRONG_LOCK_OF_SYSTEM_TABLE 1428
-#define ER_CONNECT_TO_FOREIGN_DATA_SOURCE 1429
-#define ER_QUERY_ON_FOREIGN_DATA_SOURCE 1430
-#define ER_FOREIGN_DATA_SOURCE_DOESNT_EXIST 1431
-#define ER_FOREIGN_DATA_STRING_INVALID_CANT_CREATE 1432
-#define ER_FOREIGN_DATA_STRING_INVALID 1433
-#define ER_CANT_CREATE_FEDERATED_TABLE 1434
-#define ER_TRG_IN_WRONG_SCHEMA 1435
-#define ER_STACK_OVERRUN_NEED_MORE 1436
-#define ER_TOO_LONG_BODY 1437
-#define ER_WARN_CANT_DROP_DEFAULT_KEYCACHE 1438
-#define ER_TOO_BIG_DISPLAYWIDTH 1439
-#define ER_XAER_DUPID 1440
-#define ER_DATETIME_FUNCTION_OVERFLOW 1441
-#define ER_CANT_UPDATE_USED_TABLE_IN_SF_OR_TRG 1442
-#define ER_VIEW_PREVENT_UPDATE 1443
-#define ER_PS_NO_RECURSION 1444
-#define ER_SP_CANT_SET_AUTOCOMMIT 1445
-#define ER_MALFORMED_DEFINER 1446
-#define ER_VIEW_FRM_NO_USER 1447
-#define ER_VIEW_OTHER_USER 1448
-#define ER_NO_SUCH_USER 1449
-#define ER_FORBID_SCHEMA_CHANGE 1450
-#define ER_ROW_IS_REFERENCED_2 1451
-#define ER_NO_REFERENCED_ROW_2 1452
-#define ER_SP_BAD_VAR_SHADOW 1453
-#define ER_TRG_NO_DEFINER 1454
-#define ER_OLD_FILE_FORMAT 1455
-#define ER_SP_RECURSION_LIMIT 1456
-#define ER_SP_PROC_TABLE_CORRUPT 1457
-#define ER_SP_WRONG_NAME 1458
-#define ER_TABLE_NEEDS_UPGRADE 1459
-#define ER_SP_NO_AGGREGATE 1460
-#define ER_MAX_PREPARED_STMT_COUNT_REACHED 1461
-#define ER_VIEW_RECURSIVE 1462
-#define ER_NON_GROUPING_FIELD_USED 1463
-#define ER_TABLE_CANT_HANDLE_SPKEYS 1464
-#define ER_NO_TRIGGERS_ON_SYSTEM_SCHEMA 1465
-#define ER_REMOVED_SPACES 1466
-#define ER_AUTOINC_READ_FAILED 1467
-#define ER_USERNAME 1468
-#define ER_HOSTNAME 1469
-#define ER_WRONG_STRING_LENGTH 1470
-#define ER_NON_INSERTABLE_TABLE 1471
-#define ER_ADMIN_WRONG_MRG_TABLE 1472
-#define ER_TOO_HIGH_LEVEL_OF_NESTING_FOR_SELECT 1473
-#define ER_NAME_BECOMES_EMPTY 1474
-#define ER_AMBIGUOUS_FIELD_TERM 1475
-#define ER_FOREIGN_SERVER_EXISTS 1476
-#define ER_FOREIGN_SERVER_DOESNT_EXIST 1477
-#define ER_ILLEGAL_HA_CREATE_OPTION 1478
-#define ER_PARTITION_REQUIRES_VALUES_ERROR 1479
-#define ER_PARTITION_WRONG_VALUES_ERROR 1480
-#define ER_PARTITION_MAXVALUE_ERROR 1481
-#define ER_PARTITION_SUBPARTITION_ERROR 1482
-#define ER_PARTITION_SUBPART_MIX_ERROR 1483
-#define ER_PARTITION_WRONG_NO_PART_ERROR 1484
-#define ER_PARTITION_WRONG_NO_SUBPART_ERROR 1485
-#define ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR 1486
-#define ER_NO_CONST_EXPR_IN_RANGE_OR_LIST_ERROR 1487
-#define ER_FIELD_NOT_FOUND_PART_ERROR 1488
-#define ER_LIST_OF_FIELDS_ONLY_IN_HASH_ERROR 1489
-#define ER_INCONSISTENT_PARTITION_INFO_ERROR 1490
-#define ER_PARTITION_FUNC_NOT_ALLOWED_ERROR 1491
-#define ER_PARTITIONS_MUST_BE_DEFINED_ERROR 1492
-#define ER_RANGE_NOT_INCREASING_ERROR 1493
-#define ER_INCONSISTENT_TYPE_OF_FUNCTIONS_ERROR 1494
-#define ER_MULTIPLE_DEF_CONST_IN_LIST_PART_ERROR 1495
-#define ER_PARTITION_ENTRY_ERROR 1496
-#define ER_MIX_HANDLER_ERROR 1497
-#define ER_PARTITION_NOT_DEFINED_ERROR 1498
-#define ER_TOO_MANY_PARTITIONS_ERROR 1499
-#define ER_SUBPARTITION_ERROR 1500
-#define ER_CANT_CREATE_HANDLER_FILE 1501
-#define ER_BLOB_FIELD_IN_PART_FUNC_ERROR 1502
-#define ER_UNIQUE_KEY_NEED_ALL_FIELDS_IN_PF 1503
-#define ER_NO_PARTS_ERROR 1504
-#define ER_PARTITION_MGMT_ON_NONPARTITIONED 1505
-#define ER_FOREIGN_KEY_ON_PARTITIONED 1506
-#define ER_DROP_PARTITION_NON_EXISTENT 1507
-#define ER_DROP_LAST_PARTITION 1508
-#define ER_COALESCE_ONLY_ON_HASH_PARTITION 1509
-#define ER_REORG_HASH_ONLY_ON_SAME_NO 1510
-#define ER_REORG_NO_PARAM_ERROR 1511
-#define ER_ONLY_ON_RANGE_LIST_PARTITION 1512
-#define ER_ADD_PARTITION_SUBPART_ERROR 1513
-#define ER_ADD_PARTITION_NO_NEW_PARTITION 1514
-#define ER_COALESCE_PARTITION_NO_PARTITION 1515
-#define ER_REORG_PARTITION_NOT_EXIST 1516
-#define ER_SAME_NAME_PARTITION 1517
-#define ER_NO_BINLOG_ERROR 1518
-#define ER_CONSECUTIVE_REORG_PARTITIONS 1519
-#define ER_REORG_OUTSIDE_RANGE 1520
-#define ER_PARTITION_FUNCTION_FAILURE 1521
-#define ER_PART_STATE_ERROR 1522
-#define ER_LIMITED_PART_RANGE 1523
-#define ER_PLUGIN_IS_NOT_LOADED 1524
-#define ER_WRONG_VALUE 1525
-#define ER_NO_PARTITION_FOR_GIVEN_VALUE 1526
-#define ER_FILEGROUP_OPTION_ONLY_ONCE 1527
-#define ER_CREATE_FILEGROUP_FAILED 1528
-#define ER_DROP_FILEGROUP_FAILED 1529
-#define ER_TABLESPACE_AUTO_EXTEND_ERROR 1530
-#define ER_WRONG_SIZE_NUMBER 1531
-#define ER_SIZE_OVERFLOW_ERROR 1532
-#define ER_ALTER_FILEGROUP_FAILED 1533
-#define ER_BINLOG_ROW_LOGGING_FAILED 1534
-#define ER_BINLOG_ROW_WRONG_TABLE_DEF 1535
-#define ER_BINLOG_ROW_RBR_TO_SBR 1536
-#define ER_EVENT_ALREADY_EXISTS 1537
-#define ER_EVENT_STORE_FAILED 1538
-#define ER_EVENT_DOES_NOT_EXIST 1539
-#define ER_EVENT_CANT_ALTER 1540
-#define ER_EVENT_DROP_FAILED 1541
-#define ER_EVENT_INTERVAL_NOT_POSITIVE_OR_TOO_BIG 1542
-#define ER_EVENT_ENDS_BEFORE_STARTS 1543
-#define ER_EVENT_EXEC_TIME_IN_THE_PAST 1544
-#define ER_EVENT_OPEN_TABLE_FAILED 1545
-#define ER_EVENT_NEITHER_M_EXPR_NOR_M_AT 1546
-#define ER_COL_COUNT_DOESNT_MATCH_CORRUPTED 1547
-#define ER_CANNOT_LOAD_FROM_TABLE 1548
-#define ER_EVENT_CANNOT_DELETE 1549
-#define ER_EVENT_COMPILE_ERROR 1550
-#define ER_EVENT_SAME_NAME 1551
-#define ER_EVENT_DATA_TOO_LONG 1552
-#define ER_DROP_INDEX_FK 1553
-#define ER_WARN_DEPRECATED_SYNTAX_WITH_VER 1554
-#define ER_CANT_WRITE_LOCK_LOG_TABLE 1555
-#define ER_CANT_LOCK_LOG_TABLE 1556
-#define ER_FOREIGN_DUPLICATE_KEY 1557
-#define ER_COL_COUNT_DOESNT_MATCH_PLEASE_UPDATE 1558
-#define ER_TEMP_TABLE_PREVENTS_SWITCH_OUT_OF_RBR 1559
-#define ER_STORED_FUNCTION_PREVENTS_SWITCH_BINLOG_FORMAT 1560
-#define ER_NDB_CANT_SWITCH_BINLOG_FORMAT 1561
-#define ER_PARTITION_NO_TEMPORARY 1562
-#define ER_PARTITION_CONST_DOMAIN_ERROR 1563
-#define ER_PARTITION_FUNCTION_IS_NOT_ALLOWED 1564
-#define ER_DDL_LOG_ERROR 1565
-#define ER_NULL_IN_VALUES_LESS_THAN 1566
-#define ER_WRONG_PARTITION_NAME 1567
-#define ER_CANT_CHANGE_TX_ISOLATION 1568
-#define ER_DUP_ENTRY_AUTOINCREMENT_CASE 1569
-#define ER_EVENT_MODIFY_QUEUE_ERROR 1570
-#define ER_EVENT_SET_VAR_ERROR 1571
-#define ER_PARTITION_MERGE_ERROR 1572
-#define ER_CANT_ACTIVATE_LOG 1573
-#define ER_RBR_NOT_AVAILABLE 1574
-#define ER_BASE64_DECODE_ERROR 1575
-#define ER_EVENT_RECURSION_FORBIDDEN 1576
-#define ER_EVENTS_DB_ERROR 1577
-#define ER_ONLY_INTEGERS_ALLOWED 1578
-#define ER_UNSUPORTED_LOG_ENGINE 1579
-#define ER_BAD_LOG_STATEMENT 1580
-#define ER_CANT_RENAME_LOG_TABLE 1581
-#define ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT 1582
-#define ER_WRONG_PARAMETERS_TO_NATIVE_FCT 1583
-#define ER_WRONG_PARAMETERS_TO_STORED_FCT 1584
-#define ER_NATIVE_FCT_NAME_COLLISION 1585
-#define ER_DUP_ENTRY_WITH_KEY_NAME 1586
-#define ER_BINLOG_PURGE_EMFILE 1587
-#define ER_EVENT_CANNOT_CREATE_IN_THE_PAST 1588
-#define ER_EVENT_CANNOT_ALTER_IN_THE_PAST 1589
-#define ER_SLAVE_INCIDENT 1590
-#define ER_NO_PARTITION_FOR_GIVEN_VALUE_SILENT 1591
-#define ER_BINLOG_UNSAFE_STATEMENT 1592
-#define ER_SLAVE_FATAL_ERROR 1593
-#define ER_SLAVE_RELAY_LOG_READ_FAILURE 1594
-#define ER_SLAVE_RELAY_LOG_WRITE_FAILURE 1595
-#define ER_SLAVE_CREATE_EVENT_FAILURE 1596
-#define ER_SLAVE_MASTER_COM_FAILURE 1597
-#define ER_BINLOG_LOGGING_IMPOSSIBLE 1598
-#define ER_VIEW_NO_CREATION_CTX 1599
-#define ER_VIEW_INVALID_CREATION_CTX 1600
-#define ER_SR_INVALID_CREATION_CTX 1601
-#define ER_TRG_CORRUPTED_FILE 1602
-#define ER_TRG_NO_CREATION_CTX 1603
-#define ER_TRG_INVALID_CREATION_CTX 1604
-#define ER_EVENT_INVALID_CREATION_CTX 1605
-#define ER_TRG_CANT_OPEN_TABLE 1606
-#define ER_CANT_CREATE_SROUTINE 1607
-#define ER_SLAVE_AMBIGOUS_EXEC_MODE 1608
-#define ER_NO_FORMAT_DESCRIPTION_EVENT_BEFORE_BINLOG_STATEMENT 1609
-#define ER_SLAVE_CORRUPT_EVENT 1610
-#define ER_LOAD_DATA_INVALID_COLUMN 1611
-#define ER_LOG_PURGE_NO_FILE 1612
-#define ER_XA_RBTIMEOUT 1613
-#define ER_XA_RBDEADLOCK 1614
-#define ER_NEED_REPREPARE 1615
-#define ER_DELAYED_NOT_SUPPORTED 1616
-#define WARN_NO_MASTER_INFO 1617
-#define WARN_OPTION_IGNORED 1618
-#define WARN_PLUGIN_DELETE_BUILTIN 1619
-#define WARN_PLUGIN_BUSY 1620
-#define ER_VARIABLE_IS_READONLY 1621
-#define ER_WARN_ENGINE_TRANSACTION_ROLLBACK 1622
-#define ER_SLAVE_HEARTBEAT_FAILURE 1623
-#define ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE 1624
-#define ER_NDB_REPLICATION_SCHEMA_ERROR 1625
-#define ER_CONFLICT_FN_PARSE_ERROR 1626
-#define ER_EXCEPTIONS_WRITE_ERROR 1627
-#define ER_TOO_LONG_TABLE_COMMENT 1628
-#define ER_TOO_LONG_FIELD_COMMENT 1629
-#define ER_FUNC_INEXISTENT_NAME_COLLISION 1630
-#define ER_DATABASE_NAME 1631
-#define ER_TABLE_NAME 1632
-#define ER_PARTITION_NAME 1633
-#define ER_SUBPARTITION_NAME 1634
-#define ER_TEMPORARY_NAME 1635
-#define ER_RENAMED_NAME 1636
-#define ER_TOO_MANY_CONCURRENT_TRXS 1637
-#define WARN_NON_ASCII_SEPARATOR_NOT_IMPLEMENTED 1638
-#define ER_DEBUG_SYNC_TIMEOUT 1639
-#define ER_DEBUG_SYNC_HIT_LIMIT 1640
-#define ER_ERROR_LAST 1640
diff --git a/lib/libmysql_win32/include/sql_common.h b/lib/libmysql_win32/include/sql_common.h
deleted file mode 100644
index 9e43d076ba..0000000000
--- a/lib/libmysql_win32/include/sql_common.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Copyright (C) 2003-2004, 2006 MySQL 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; version 2 of the License.
-
- 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 */
-
-
-extern const char *unknown_sqlstate;
-extern const char *cant_connect_sqlstate;
-extern const char *not_error_sqlstate;
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-extern CHARSET_INFO *default_client_charset_info;
-MYSQL_FIELD *unpack_fields(MYSQL_DATA *data,MEM_ROOT *alloc,uint fields,
- my_bool default_value, uint server_capabilities);
-void free_rows(MYSQL_DATA *cur);
-void free_old_query(MYSQL *mysql);
-void end_server(MYSQL *mysql);
-my_bool mysql_reconnect(MYSQL *mysql);
-void mysql_read_default_options(struct st_mysql_options *options,
- const char *filename,const char *group);
-my_bool
-cli_advanced_command(MYSQL *mysql, enum enum_server_command command,
- const unsigned char *header, ulong header_length,
- const unsigned char *arg, ulong arg_length,
- my_bool skip_check, MYSQL_STMT *stmt);
-unsigned long cli_safe_read(MYSQL *mysql);
-void net_clear_error(NET *net);
-void set_stmt_errmsg(MYSQL_STMT *stmt, NET *net);
-void set_stmt_error(MYSQL_STMT *stmt, int errcode, const char *sqlstate,
- const char *err);
-void set_mysql_error(MYSQL *mysql, int errcode, const char *sqlstate);
-#ifdef __cplusplus
-}
-#endif
-
-#define protocol_41(A) ((A)->server_capabilities & CLIENT_PROTOCOL_41)
-
diff --git a/lib/libmysql_win32/include/sql_state.h b/lib/libmysql_win32/include/sql_state.h
deleted file mode 100644
index 4fe196c87b..0000000000
--- a/lib/libmysql_win32/include/sql_state.h
+++ /dev/null
@@ -1,211 +0,0 @@
-/* Autogenerated file, please don't edit */
-
-{ ER_DUP_KEY ,"23000", "" },
-{ ER_OUTOFMEMORY ,"HY001", "S1001" },
-{ ER_OUT_OF_SORTMEMORY ,"HY001", "S1001" },
-{ ER_CON_COUNT_ERROR ,"08004", "" },
-{ ER_BAD_HOST_ERROR ,"08S01", "" },
-{ ER_HANDSHAKE_ERROR ,"08S01", "" },
-{ ER_DBACCESS_DENIED_ERROR ,"42000", "" },
-{ ER_ACCESS_DENIED_ERROR ,"28000", "" },
-{ ER_NO_DB_ERROR ,"3D000", "" },
-{ ER_UNKNOWN_COM_ERROR ,"08S01", "" },
-{ ER_BAD_NULL_ERROR ,"23000", "" },
-{ ER_BAD_DB_ERROR ,"42000", "" },
-{ ER_TABLE_EXISTS_ERROR ,"42S01", "" },
-{ ER_BAD_TABLE_ERROR ,"42S02", "" },
-{ ER_NON_UNIQ_ERROR ,"23000", "" },
-{ ER_SERVER_SHUTDOWN ,"08S01", "" },
-{ ER_BAD_FIELD_ERROR ,"42S22", "S0022" },
-{ ER_WRONG_FIELD_WITH_GROUP ,"42000", "S1009" },
-{ ER_WRONG_GROUP_FIELD ,"42000", "S1009" },
-{ ER_WRONG_SUM_SELECT ,"42000", "S1009" },
-{ ER_WRONG_VALUE_COUNT ,"21S01", "" },
-{ ER_TOO_LONG_IDENT ,"42000", "S1009" },
-{ ER_DUP_FIELDNAME ,"42S21", "S1009" },
-{ ER_DUP_KEYNAME ,"42000", "S1009" },
-{ ER_DUP_ENTRY ,"23000", "S1009" },
-{ ER_WRONG_FIELD_SPEC ,"42000", "S1009" },
-{ ER_PARSE_ERROR ,"42000", "s1009" },
-{ ER_EMPTY_QUERY ,"42000", "" },
-{ ER_NONUNIQ_TABLE ,"42000", "S1009" },
-{ ER_INVALID_DEFAULT ,"42000", "S1009" },
-{ ER_MULTIPLE_PRI_KEY ,"42000", "S1009" },
-{ ER_TOO_MANY_KEYS ,"42000", "S1009" },
-{ ER_TOO_MANY_KEY_PARTS ,"42000", "S1009" },
-{ ER_TOO_LONG_KEY ,"42000", "S1009" },
-{ ER_KEY_COLUMN_DOES_NOT_EXITS ,"42000", "S1009" },
-{ ER_BLOB_USED_AS_KEY ,"42000", "S1009" },
-{ ER_TOO_BIG_FIELDLENGTH ,"42000", "S1009" },
-{ ER_WRONG_AUTO_KEY ,"42000", "S1009" },
-{ ER_FORCING_CLOSE ,"08S01", "" },
-{ ER_IPSOCK_ERROR ,"08S01", "" },
-{ ER_NO_SUCH_INDEX ,"42S12", "S1009" },
-{ ER_WRONG_FIELD_TERMINATORS ,"42000", "S1009" },
-{ ER_BLOBS_AND_NO_TERMINATED ,"42000", "S1009" },
-{ ER_CANT_REMOVE_ALL_FIELDS ,"42000", "" },
-{ ER_CANT_DROP_FIELD_OR_KEY ,"42000", "" },
-{ ER_BLOB_CANT_HAVE_DEFAULT ,"42000", "" },
-{ ER_WRONG_DB_NAME ,"42000", "" },
-{ ER_WRONG_TABLE_NAME ,"42000", "" },
-{ ER_TOO_BIG_SELECT ,"42000", "" },
-{ ER_UNKNOWN_PROCEDURE ,"42000", "" },
-{ ER_WRONG_PARAMCOUNT_TO_PROCEDURE ,"42000", "" },
-{ ER_UNKNOWN_TABLE ,"42S02", "" },
-{ ER_FIELD_SPECIFIED_TWICE ,"42000", "" },
-{ ER_UNSUPPORTED_EXTENSION ,"42000", "" },
-{ ER_TABLE_MUST_HAVE_COLUMNS ,"42000", "" },
-{ ER_UNKNOWN_CHARACTER_SET ,"42000", "" },
-{ ER_TOO_BIG_ROWSIZE ,"42000", "" },
-{ ER_WRONG_OUTER_JOIN ,"42000", "" },
-{ ER_NULL_COLUMN_IN_INDEX ,"42000", "" },
-{ ER_PASSWORD_ANONYMOUS_USER ,"42000", "" },
-{ ER_PASSWORD_NOT_ALLOWED ,"42000", "" },
-{ ER_PASSWORD_NO_MATCH ,"42000", "" },
-{ ER_WRONG_VALUE_COUNT_ON_ROW ,"21S01", "" },
-{ ER_INVALID_USE_OF_NULL ,"22004", "" },
-{ ER_REGEXP_ERROR ,"42000", "" },
-{ ER_MIX_OF_GROUP_FUNC_AND_FIELDS ,"42000", "" },
-{ ER_NONEXISTING_GRANT ,"42000", "" },
-{ ER_TABLEACCESS_DENIED_ERROR ,"42000", "" },
-{ ER_COLUMNACCESS_DENIED_ERROR ,"42000", "" },
-{ ER_ILLEGAL_GRANT_FOR_TABLE ,"42000", "" },
-{ ER_GRANT_WRONG_HOST_OR_USER ,"42000", "" },
-{ ER_NO_SUCH_TABLE ,"42S02", "" },
-{ ER_NONEXISTING_TABLE_GRANT ,"42000", "" },
-{ ER_NOT_ALLOWED_COMMAND ,"42000", "" },
-{ ER_SYNTAX_ERROR ,"42000", "" },
-{ ER_ABORTING_CONNECTION ,"08S01", "" },
-{ ER_NET_PACKET_TOO_LARGE ,"08S01", "" },
-{ ER_NET_READ_ERROR_FROM_PIPE ,"08S01", "" },
-{ ER_NET_FCNTL_ERROR ,"08S01", "" },
-{ ER_NET_PACKETS_OUT_OF_ORDER ,"08S01", "" },
-{ ER_NET_UNCOMPRESS_ERROR ,"08S01", "" },
-{ ER_NET_READ_ERROR ,"08S01", "" },
-{ ER_NET_READ_INTERRUPTED ,"08S01", "" },
-{ ER_NET_ERROR_ON_WRITE ,"08S01", "" },
-{ ER_NET_WRITE_INTERRUPTED ,"08S01", "" },
-{ ER_TOO_LONG_STRING ,"42000", "" },
-{ ER_TABLE_CANT_HANDLE_BLOB ,"42000", "" },
-{ ER_TABLE_CANT_HANDLE_AUTO_INCREMENT ,"42000", "" },
-{ ER_WRONG_COLUMN_NAME ,"42000", "" },
-{ ER_WRONG_KEY_COLUMN ,"42000", "" },
-{ ER_DUP_UNIQUE ,"23000", "" },
-{ ER_BLOB_KEY_WITHOUT_LENGTH ,"42000", "" },
-{ ER_PRIMARY_CANT_HAVE_NULL ,"42000", "" },
-{ ER_TOO_MANY_ROWS ,"42000", "" },
-{ ER_REQUIRES_PRIMARY_KEY ,"42000", "" },
-{ ER_KEY_DOES_NOT_EXITS ,"42000", "S1009" },
-{ ER_CHECK_NO_SUCH_TABLE ,"42000", "" },
-{ ER_CHECK_NOT_IMPLEMENTED ,"42000", "" },
-{ ER_CANT_DO_THIS_DURING_AN_TRANSACTION ,"25000", "" },
-{ ER_NEW_ABORTING_CONNECTION ,"08S01", "" },
-{ ER_MASTER_NET_READ ,"08S01", "" },
-{ ER_MASTER_NET_WRITE ,"08S01", "" },
-{ ER_TOO_MANY_USER_CONNECTIONS ,"42000", "" },
-{ ER_READ_ONLY_TRANSACTION ,"25000", "" },
-{ ER_NO_PERMISSION_TO_CREATE_USER ,"42000", "" },
-{ ER_LOCK_DEADLOCK ,"40001", "" },
-{ ER_NO_REFERENCED_ROW ,"23000", "" },
-{ ER_ROW_IS_REFERENCED ,"23000", "" },
-{ ER_CONNECT_TO_MASTER ,"08S01", "" },
-{ ER_WRONG_NUMBER_OF_COLUMNS_IN_SELECT ,"21000", "" },
-{ ER_USER_LIMIT_REACHED ,"42000", "" },
-{ ER_SPECIFIC_ACCESS_DENIED_ERROR ,"42000", "" },
-{ ER_NO_DEFAULT ,"42000", "" },
-{ ER_WRONG_VALUE_FOR_VAR ,"42000", "" },
-{ ER_WRONG_TYPE_FOR_VAR ,"42000", "" },
-{ ER_CANT_USE_OPTION_HERE ,"42000", "" },
-{ ER_NOT_SUPPORTED_YET ,"42000", "" },
-{ ER_WRONG_FK_DEF ,"42000", "" },
-{ ER_OPERAND_COLUMNS ,"21000", "" },
-{ ER_SUBQUERY_NO_1_ROW ,"21000", "" },
-{ ER_ILLEGAL_REFERENCE ,"42S22", "" },
-{ ER_DERIVED_MUST_HAVE_ALIAS ,"42000", "" },
-{ ER_SELECT_REDUCED ,"01000", "" },
-{ ER_TABLENAME_NOT_ALLOWED_HERE ,"42000", "" },
-{ ER_NOT_SUPPORTED_AUTH_MODE ,"08004", "" },
-{ ER_SPATIAL_CANT_HAVE_NULL ,"42000", "" },
-{ ER_COLLATION_CHARSET_MISMATCH ,"42000", "" },
-{ ER_WARN_TOO_FEW_RECORDS ,"01000", "" },
-{ ER_WARN_TOO_MANY_RECORDS ,"01000", "" },
-{ ER_WARN_NULL_TO_NOTNULL ,"22004", "" },
-{ ER_WARN_DATA_OUT_OF_RANGE ,"22003", "" },
-{ WARN_DATA_TRUNCATED ,"01000", "" },
-{ ER_WRONG_NAME_FOR_INDEX ,"42000", "" },
-{ ER_WRONG_NAME_FOR_CATALOG ,"42000", "" },
-{ ER_UNKNOWN_STORAGE_ENGINE ,"42000", "" },
-{ ER_TRUNCATED_WRONG_VALUE ,"22007", "" },
-{ ER_SP_NO_RECURSIVE_CREATE ,"2F003", "" },
-{ ER_SP_ALREADY_EXISTS ,"42000", "" },
-{ ER_SP_DOES_NOT_EXIST ,"42000", "" },
-{ ER_SP_LILABEL_MISMATCH ,"42000", "" },
-{ ER_SP_LABEL_REDEFINE ,"42000", "" },
-{ ER_SP_LABEL_MISMATCH ,"42000", "" },
-{ ER_SP_UNINIT_VAR ,"01000", "" },
-{ ER_SP_BADSELECT ,"0A000", "" },
-{ ER_SP_BADRETURN ,"42000", "" },
-{ ER_SP_BADSTATEMENT ,"0A000", "" },
-{ ER_UPDATE_LOG_DEPRECATED_IGNORED ,"42000", "" },
-{ ER_UPDATE_LOG_DEPRECATED_TRANSLATED ,"42000", "" },
-{ ER_QUERY_INTERRUPTED ,"70100", "" },
-{ ER_SP_WRONG_NO_OF_ARGS ,"42000", "" },
-{ ER_SP_COND_MISMATCH ,"42000", "" },
-{ ER_SP_NORETURN ,"42000", "" },
-{ ER_SP_NORETURNEND ,"2F005", "" },
-{ ER_SP_BAD_CURSOR_QUERY ,"42000", "" },
-{ ER_SP_BAD_CURSOR_SELECT ,"42000", "" },
-{ ER_SP_CURSOR_MISMATCH ,"42000", "" },
-{ ER_SP_CURSOR_ALREADY_OPEN ,"24000", "" },
-{ ER_SP_CURSOR_NOT_OPEN ,"24000", "" },
-{ ER_SP_UNDECLARED_VAR ,"42000", "" },
-{ ER_SP_FETCH_NO_DATA ,"02000", "" },
-{ ER_SP_DUP_PARAM ,"42000", "" },
-{ ER_SP_DUP_VAR ,"42000", "" },
-{ ER_SP_DUP_COND ,"42000", "" },
-{ ER_SP_DUP_CURS ,"42000", "" },
-{ ER_SP_SUBSELECT_NYI ,"0A000", "" },
-{ ER_STMT_NOT_ALLOWED_IN_SF_OR_TRG ,"0A000", "" },
-{ ER_SP_VARCOND_AFTER_CURSHNDLR ,"42000", "" },
-{ ER_SP_CURSOR_AFTER_HANDLER ,"42000", "" },
-{ ER_SP_CASE_NOT_FOUND ,"20000", "" },
-{ ER_DIVISION_BY_ZERO ,"22012", "" },
-{ ER_ILLEGAL_VALUE_FOR_TYPE ,"22007", "" },
-{ ER_PROCACCESS_DENIED_ERROR ,"42000", "" },
-{ ER_XAER_NOTA ,"XAE04", "" },
-{ ER_XAER_INVAL ,"XAE05", "" },
-{ ER_XAER_RMFAIL ,"XAE07", "" },
-{ ER_XAER_OUTSIDE ,"XAE09", "" },
-{ ER_XAER_RMERR ,"XAE03", "" },
-{ ER_XA_RBROLLBACK ,"XA100", "" },
-{ ER_NONEXISTING_PROC_GRANT ,"42000", "" },
-{ ER_DATA_TOO_LONG ,"22001", "" },
-{ ER_SP_BAD_SQLSTATE ,"42000", "" },
-{ ER_CANT_CREATE_USER_WITH_GRANT ,"42000", "" },
-{ ER_SP_DUP_HANDLER ,"42000", "" },
-{ ER_SP_NOT_VAR_ARG ,"42000", "" },
-{ ER_SP_NO_RETSET ,"0A000", "" },
-{ ER_CANT_CREATE_GEOMETRY_OBJECT ,"22003", "" },
-{ ER_TOO_BIG_SCALE ,"42000", "S1009" },
-{ ER_TOO_BIG_PRECISION ,"42000", "S1009" },
-{ ER_M_BIGGER_THAN_D ,"42000", "S1009" },
-{ ER_TOO_LONG_BODY ,"42000", "S1009" },
-{ ER_TOO_BIG_DISPLAYWIDTH ,"42000", "S1009" },
-{ ER_XAER_DUPID ,"XAE08", "" },
-{ ER_DATETIME_FUNCTION_OVERFLOW ,"22008", "" },
-{ ER_ROW_IS_REFERENCED_2 ,"23000", "" },
-{ ER_NO_REFERENCED_ROW_2 ,"23000", "" },
-{ ER_SP_BAD_VAR_SHADOW ,"42000", "" },
-{ ER_SP_WRONG_NAME ,"42000", "" },
-{ ER_SP_NO_AGGREGATE ,"42000", "" },
-{ ER_MAX_PREPARED_STMT_COUNT_REACHED ,"42000", "" },
-{ ER_NON_GROUPING_FIELD_USED ,"42000", "" },
-{ ER_FOREIGN_DUPLICATE_KEY ,"23000", "S1009" },
-{ ER_CANT_CHANGE_TX_ISOLATION ,"25001", "" },
-{ ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT ,"42000", "" },
-{ ER_WRONG_PARAMETERS_TO_NATIVE_FCT ,"42000", "" },
-{ ER_WRONG_PARAMETERS_TO_STORED_FCT ,"42000", "" },
-{ ER_DUP_ENTRY_WITH_KEY_NAME ,"23000", "S1009" },
-{ ER_XA_RBTIMEOUT ,"XA106", "" },
-{ ER_XA_RBDEADLOCK ,"XA102", "" },
-{ ER_FUNC_INEXISTENT_NAME_COLLISION ,"42000", "" },
diff --git a/lib/libmysql_win32/include/sslopt-case.h b/lib/libmysql_win32/include/sslopt-case.h
deleted file mode 100644
index adb9a28503..0000000000
--- a/lib/libmysql_win32/include/sslopt-case.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Copyright (C) 2000 MySQL 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; version 2 of the License.
-
- 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 */
-
-#ifdef HAVE_OPENSSL
- case OPT_SSL_KEY:
- case OPT_SSL_CERT:
- case OPT_SSL_CA:
- case OPT_SSL_CAPATH:
- case OPT_SSL_CIPHER:
- /*
- Enable use of SSL if we are using any ssl option
- One can disable SSL later by using --skip-ssl or --ssl=0
- */
- opt_use_ssl= 1;
- break;
-#endif
diff --git a/lib/libmysql_win32/include/sslopt-longopts.h b/lib/libmysql_win32/include/sslopt-longopts.h
deleted file mode 100644
index c76b5dcd25..0000000000
--- a/lib/libmysql_win32/include/sslopt-longopts.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Copyright (C) 2000 MySQL 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; version 2 of the License.
-
- 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 */
-
-#ifdef HAVE_OPENSSL
-
- {"ssl", OPT_SSL_SSL,
- "Enable SSL for connection (automatically enabled with other flags). Disable with --skip-ssl.",
- (uchar **) &opt_use_ssl, (uchar **) &opt_use_ssl, 0, GET_BOOL, NO_ARG, 0, 0, 0,
- 0, 0, 0},
- {"ssl-ca", OPT_SSL_CA,
- "CA file in PEM format (check OpenSSL docs, implies --ssl).",
- (uchar **) &opt_ssl_ca, (uchar **) &opt_ssl_ca, 0, GET_STR, REQUIRED_ARG,
- 0, 0, 0, 0, 0, 0},
- {"ssl-capath", OPT_SSL_CAPATH,
- "CA directory (check OpenSSL docs, implies --ssl).",
- (uchar **) &opt_ssl_capath, (uchar **) &opt_ssl_capath, 0, GET_STR, REQUIRED_ARG,
- 0, 0, 0, 0, 0, 0},
- {"ssl-cert", OPT_SSL_CERT, "X509 cert in PEM format (implies --ssl).",
- (uchar **) &opt_ssl_cert, (uchar **) &opt_ssl_cert, 0, GET_STR, REQUIRED_ARG,
- 0, 0, 0, 0, 0, 0},
- {"ssl-cipher", OPT_SSL_CIPHER, "SSL cipher to use (implies --ssl).",
- (uchar **) &opt_ssl_cipher, (uchar **) &opt_ssl_cipher, 0, GET_STR, REQUIRED_ARG,
- 0, 0, 0, 0, 0, 0},
- {"ssl-key", OPT_SSL_KEY, "X509 key in PEM format (implies --ssl).",
- (uchar **) &opt_ssl_key, (uchar **) &opt_ssl_key, 0, GET_STR, REQUIRED_ARG,
- 0, 0, 0, 0, 0, 0},
-#ifdef MYSQL_CLIENT
- {"ssl-verify-server-cert", OPT_SSL_VERIFY_SERVER_CERT,
- "Verify server's \"Common Name\" in its cert against hostname used when connecting. This option is disabled by default.",
- (uchar **) &opt_ssl_verify_server_cert, (uchar **) &opt_ssl_verify_server_cert,
- 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
-#endif
-#endif /* HAVE_OPENSSL */
diff --git a/lib/libmysql_win32/include/sslopt-vars.h b/lib/libmysql_win32/include/sslopt-vars.h
deleted file mode 100644
index 3369f870db..0000000000
--- a/lib/libmysql_win32/include/sslopt-vars.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Copyright (C) 2000 MySQL 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; version 2 of the License.
-
- 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 */
-
-#ifdef HAVE_OPENSSL
-#ifdef SSL_VARS_NOT_STATIC
-#define SSL_STATIC
-#else
-#define SSL_STATIC static
-#endif
-SSL_STATIC my_bool opt_use_ssl = 0;
-SSL_STATIC char *opt_ssl_ca = 0;
-SSL_STATIC char *opt_ssl_capath = 0;
-SSL_STATIC char *opt_ssl_cert = 0;
-SSL_STATIC char *opt_ssl_cipher = 0;
-SSL_STATIC char *opt_ssl_key = 0;
-#ifdef MYSQL_CLIENT
-SSL_STATIC my_bool opt_ssl_verify_server_cert= 0;
-#endif
-#endif
diff --git a/lib/libmysql_win32/include/typelib.h b/lib/libmysql_win32/include/typelib.h
deleted file mode 100644
index 46106d1bda..0000000000
--- a/lib/libmysql_win32/include/typelib.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Copyright (C) 2000 MySQL 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; version 2 of the License.
-
- 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 _typelib_h
-#define _typelib_h
-
-#include "my_alloc.h"
-
-typedef struct st_typelib { /* Different types saved here */
- unsigned int count; /* How many types */
- const char *name; /* Name of typelib */
- const char **type_names;
- unsigned int *type_lengths;
-} TYPELIB;
-
-extern my_ulonglong find_typeset(char *x, TYPELIB *typelib,int *error_position);
-extern int find_type_or_exit(const char *x, TYPELIB *typelib,
- const char *option);
-extern int find_type(char *x, const TYPELIB *typelib, unsigned int full_name);
-extern void make_type(char *to,unsigned int nr,TYPELIB *typelib);
-extern const char *get_type(TYPELIB *typelib,unsigned int nr);
-extern TYPELIB *copy_typelib(MEM_ROOT *root, TYPELIB *from);
-
-extern TYPELIB sql_protocol_typelib;
-
-#endif /* _typelib_h */
diff --git a/lib/libmysql_win32/lib/mysqlclient.lib b/lib/libmysql_win32/lib/mysqlclient.lib
deleted file mode 100644
index b91879f84e..0000000000
--- a/lib/libmysql_win32/lib/mysqlclient.lib
+++ /dev/null
Binary files differ