decimal.h   decimal.h 
/* Copyright (C) 2000 MySQL AB /* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reser ved.
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation; version 2 of the License. the Free Software Foundation; version 2 of the License.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
skipping to change at line 24 skipping to change at line 24
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US A */ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US A */
#ifndef _decimal_h #ifndef _decimal_h
#define _decimal_h #define _decimal_h
typedef enum typedef enum
{TRUNCATE=0, HALF_EVEN, HALF_UP, CEILING, FLOOR} {TRUNCATE=0, HALF_EVEN, HALF_UP, CEILING, FLOOR}
decimal_round_mode; decimal_round_mode;
typedef int32 decimal_digit_t; typedef int32 decimal_digit_t;
/**
intg is the number of *decimal* digits (NOT number of decimal_digit_t's
!)
before the point
frac is the number of decimal digits after the point
len is the length of buf (length of allocated space) in decimal_digit_
t's,
not in bytes
sign false means positive, true means negative
buf is an array of decimal_digit_t's
*/
typedef struct st_decimal_t { typedef struct st_decimal_t {
int intg, frac, len; int intg, frac, len;
my_bool sign; my_bool sign;
decimal_digit_t *buf; decimal_digit_t *buf;
} decimal_t; } decimal_t;
int internal_str2dec(const char *from, decimal_t *to, char **end, int internal_str2dec(const char *from, decimal_t *to, char **end,
my_bool fixed); my_bool fixed);
int decimal2string(decimal_t *from, char *to, int *to_len, int decimal2string(decimal_t *from, char *to, int *to_len,
int fixed_precision, int fixed_decimals, int fixed_precision, int fixed_decimals,
 End of changes. 2 change blocks. 
1 lines changed or deleted 12 lines changed or added


 keycache.h   keycache.h 
/* Copyright (C) 2003 MySQL AB /*
Copyright (c) 2003-2007 MySQL AB, 2009 Sun Microsystems, Inc.
Use is subject to license terms.
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation; version 2 of the License. the Free Software Foundation; version 2 of the License.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 US
A */ A
*/
/* Key cache variable structures */ /* Key cache variable structures */
#ifndef _keycache_h #ifndef _keycache_h
#define _keycache_h #define _keycache_h
C_MODE_START C_MODE_START
/* declare structures that is used by st_key_cache */ /* declare structures that is used by st_key_cache */
struct st_block_link; struct st_block_link;
 End of changes. 2 change blocks. 
3 lines changed or deleted 6 lines changed or added


 m_ctype.h   m_ctype.h 
/* Copyright (C) 2000 MySQL AB /*
Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reser
ved.
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation; version 2 of the License. the Free Software Foundation; version 2 of the License.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 US
A */ A
*/
/* /*
A better inplementation of the UNIX ctype(3) library. A better inplementation of the UNIX ctype(3) library.
Notes: my_global.h should be included before ctype.h Notes: my_global.h should be included before ctype.h
*/ */
#ifndef _m_ctype_h #ifndef _m_ctype_h
#define _m_ctype_h #define _m_ctype_h
#include <my_attribute.h> #include <my_attribute.h>
skipping to change at line 50 skipping to change at line 52
typedef struct unicase_info_st typedef struct unicase_info_st
{ {
uint16 toupper; uint16 toupper;
uint16 tolower; uint16 tolower;
uint16 sort; uint16 sort;
} MY_UNICASE_INFO; } MY_UNICASE_INFO;
extern MY_UNICASE_INFO *my_unicase_default[256]; extern MY_UNICASE_INFO *my_unicase_default[256];
extern MY_UNICASE_INFO *my_unicase_turkish[256]; extern MY_UNICASE_INFO *my_unicase_turkish[256];
extern MY_UNICASE_INFO *my_unicase_mysql500[256];
typedef struct uni_ctype_st typedef struct uni_ctype_st
{ {
uchar pctype; uchar pctype;
uchar *ctype; uchar *ctype;
} MY_UNI_CTYPE; } MY_UNI_CTYPE;
extern MY_UNI_CTYPE my_uni_ctype[256]; extern MY_UNI_CTYPE my_uni_ctype[256];
/* wm_wc and wc_mb return codes */ /* wm_wc and wc_mb return codes */
skipping to change at line 306 skipping to change at line 309
extern CHARSET_INFO my_charset_latin1_german2_ci; extern CHARSET_INFO my_charset_latin1_german2_ci;
extern CHARSET_INFO my_charset_latin1_bin; extern CHARSET_INFO my_charset_latin1_bin;
extern CHARSET_INFO my_charset_latin2_czech_ci; extern CHARSET_INFO my_charset_latin2_czech_ci;
extern CHARSET_INFO my_charset_sjis_japanese_ci; extern CHARSET_INFO my_charset_sjis_japanese_ci;
extern CHARSET_INFO my_charset_sjis_bin; extern CHARSET_INFO my_charset_sjis_bin;
extern CHARSET_INFO my_charset_tis620_thai_ci; extern CHARSET_INFO my_charset_tis620_thai_ci;
extern CHARSET_INFO my_charset_tis620_bin; extern CHARSET_INFO my_charset_tis620_bin;
extern CHARSET_INFO my_charset_ucs2_general_ci; extern CHARSET_INFO my_charset_ucs2_general_ci;
extern CHARSET_INFO my_charset_ucs2_bin; extern CHARSET_INFO my_charset_ucs2_bin;
extern CHARSET_INFO my_charset_ucs2_unicode_ci; extern CHARSET_INFO my_charset_ucs2_unicode_ci;
extern CHARSET_INFO my_charset_ucs2_general_mysql500_ci;
extern CHARSET_INFO my_charset_ujis_japanese_ci; extern CHARSET_INFO my_charset_ujis_japanese_ci;
extern CHARSET_INFO my_charset_ujis_bin; extern CHARSET_INFO my_charset_ujis_bin;
extern CHARSET_INFO my_charset_utf8_general_ci; extern CHARSET_INFO my_charset_utf8_general_ci;
extern CHARSET_INFO my_charset_utf8_unicode_ci; extern CHARSET_INFO my_charset_utf8_unicode_ci;
extern CHARSET_INFO my_charset_utf8_bin; extern CHARSET_INFO my_charset_utf8_bin;
extern CHARSET_INFO my_charset_utf8_general_mysql500_ci;
extern CHARSET_INFO my_charset_cp1250_czech_ci; extern CHARSET_INFO my_charset_cp1250_czech_ci;
extern MYSQL_PLUGIN_IMPORT CHARSET_INFO my_charset_filename; extern MYSQL_PLUGIN_IMPORT CHARSET_INFO my_charset_filename;
/* declarations for simple charsets */ /* declarations for simple charsets */
extern size_t my_strnxfrm_simple(CHARSET_INFO *, uchar *, size_t, extern size_t my_strnxfrm_simple(CHARSET_INFO *, uchar *, size_t,
const uchar *, size_t); const uchar *, size_t);
size_t my_strnxfrmlen_simple(CHARSET_INFO *, size_t); size_t my_strnxfrmlen_simple(CHARSET_INFO *, size_t);
extern int my_strnncoll_simple(CHARSET_INFO *, const uchar *, size_t, extern int my_strnncoll_simple(CHARSET_INFO *, const uchar *, size_t,
const uchar *, size_t, my_bool); const uchar *, size_t, my_bool);
skipping to change at line 458 skipping to change at line 463
int my_wildcmp_unicode(CHARSET_INFO *cs, int my_wildcmp_unicode(CHARSET_INFO *cs,
const char *str, const char *str_end, const char *str, const char *str_end,
const char *wildstr, const char *wildend, const char *wildstr, const char *wildend,
int escape, int w_one, int w_many, int escape, int w_one, int w_many,
MY_UNICASE_INFO **weights); MY_UNICASE_INFO **weights);
extern my_bool my_parse_charset_xml(const char *bug, size_t len, extern my_bool my_parse_charset_xml(const char *bug, size_t len,
int (*add)(CHARSET_INFO *cs)); int (*add)(CHARSET_INFO *cs));
extern char *my_strchr(CHARSET_INFO *cs, const char *str, const char *end, extern char *my_strchr(CHARSET_INFO *cs, const char *str, const char *end,
pchar c); pchar c);
extern size_t my_strcspn(CHARSET_INFO *cs, const char *str, const char *end
,
const char *accept);
my_bool my_propagate_simple(CHARSET_INFO *cs, const uchar *str, size_t len) ; 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 ); 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); 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_ascii_based(CHARSET_INFO *cs);
my_bool my_charset_is_8bit_pure_ascii(CHARSET_INFO *cs); my_bool my_charset_is_8bit_pure_ascii(CHARSET_INFO *cs);
uint my_charset_repertoire(CHARSET_INFO *cs); uint my_charset_repertoire(CHARSET_INFO *cs);
#define _MY_U 01 /* Upper case */ #define _MY_U 01 /* Upper case */
 End of changes. 6 change blocks. 
3 lines changed or deleted 12 lines changed or added


 m_string.h   m_string.h 
/* Copyright (C) 2000 MySQL AB /*
Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reser
ved.
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation; version 2 of the License. the Free Software Foundation; version 2 of the License.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 US
A */ A
*/
/* There may be prolems include all of theese. Try to test in /* There may be prolems include all of theese. Try to test in
configure with ones are needed? */ configure with ones are needed? */
/* This is needed for the definitions of strchr... on solaris */ /* This is needed for the definitions of strchr... on solaris */
#ifndef _m_string_h #ifndef _m_string_h
#define _m_string_h #define _m_string_h
#ifndef __USE_GNU #ifndef __USE_GNU
#define __USE_GNU /* We want to use stpcpy */ #define __USE_GNU /* We want to use stpcpy */
skipping to change at line 36 skipping to change at line 38
#if defined(HAVE_STRINGS_H) #if defined(HAVE_STRINGS_H)
#include <strings.h> #include <strings.h>
#endif #endif
#if defined(HAVE_STRING_H) #if defined(HAVE_STRING_H)
#include <string.h> #include <string.h>
#endif #endif
/* need by my_vsnprintf */ /* need by my_vsnprintf */
#include <stdarg.h> #include <stdarg.h>
#ifdef _AIX
#undef HAVE_BCMP
#endif
/* This is needed for the definitions of bzero... on solaris */ /* This is needed for the definitions of bzero... on solaris */
#if defined(HAVE_STRINGS_H) #if defined(HAVE_STRINGS_H)
#include <strings.h> #include <strings.h>
#endif #endif
/* This is needed for the definitions of memcpy... on solaris */ /* This is needed for the definitions of memcpy... on solaris */
#if defined(HAVE_MEMORY_H) && !defined(__cplusplus) #if defined(HAVE_MEMORY_H) && !defined(__cplusplus)
#include <memory.h> #include <memory.h>
#endif #endif
skipping to change at line 63 skipping to change at line 61
# define memmove(d, s, n) bmove ((d), (s), (n)) # define memmove(d, s, n) bmove ((d), (s), (n))
#elif defined(HAVE_MEMMOVE) #elif defined(HAVE_MEMMOVE)
# define bmove(d, s, n) memmove((d), (s), (n)) # define bmove(d, s, n) memmove((d), (s), (n))
#else #else
# define memmove(d, s, n) bmove((d), (s), (n)) /* our bmove */ # define memmove(d, s, n) bmove((d), (s), (n)) /* our bmove */
#endif #endif
/* Unixware 7 */ /* Unixware 7 */
#if !defined(HAVE_BFILL) #if !defined(HAVE_BFILL)
# define bfill(A,B,C) memset((A),(C),(B)) # define bfill(A,B,C) memset((A),(C),(B))
# define bmove_align(A,B,C) memcpy((A),(B),(C))
#endif #endif
#if !defined(HAVE_BCMP) #if !defined(bzero) && (!defined(HAVE_BZERO) || !HAVE_DECL_BZERO || defined
# define bcopy(s, d, n) memcpy((d), (s), (n)) (_AIX))
# define bcmp(A,B,C) memcmp((A),(B),(C)) /* See autoconf doku: "HAVE_DECL_symbol" will be defined after configure, t
# define bzero(A,B) memset((A),0,(B)) o 0 or 1 */
# define bmove_align(A,B,C) memcpy((A),(B),(C)) /* AIX has bzero() as a function, but the declaration prototype is strangel
y hidden */
# define bzero(A,B) memset((A),0,(B))
#endif #endif
#if defined(__cplusplus) #if defined(__cplusplus)
extern "C" { extern "C" {
#endif #endif
/* /*
my_str_malloc() and my_str_free() are assigned to implementations in my_str_malloc() and my_str_free() are assigned to implementations in
strings/alloc.c, but can be overridden in the calling program. strings/alloc.c, but can be overridden in the calling program.
*/ */
extern void *(*my_str_malloc)(size_t); extern void *(*my_str_malloc)(size_t);
extern void (*my_str_free)(void *); extern void (*my_str_free)(void *);
#if defined(HAVE_STPCPY) #if defined(HAVE_STPCPY) && MY_GNUC_PREREQ(3, 4) && !defined(__INTEL_COMPIL
ER)
#define strmov(A,B) __builtin_stpcpy((A),(B))
#elif defined(HAVE_STPCPY)
#define strmov(A,B) stpcpy((A),(B)) #define strmov(A,B) stpcpy((A),(B))
#ifndef stpcpy #ifndef stpcpy
extern char *stpcpy(char *, const char *); /* For AIX with gcc 2.95.3 * / extern char *stpcpy(char *, const char *); /* For AIX with gcc 2.95.3 * /
#endif #endif
#endif #endif
/* Declared in int2str() */ /* Declared in int2str() */
extern char NEAR _dig_vec_upper[]; extern char NEAR _dig_vec_upper[];
extern char NEAR _dig_vec_lower[]; extern char NEAR _dig_vec_lower[];
skipping to change at line 119 skipping to change at line 117
#if (!defined(USE_BMOVE512) || defined(HAVE_purify)) && !defined(bmove512) #if (!defined(USE_BMOVE512) || defined(HAVE_purify)) && !defined(bmove512)
#define bmove512(A,B,C) memcpy(A,B,C) #define bmove512(A,B,C) memcpy(A,B,C)
#endif #endif
/* Prototypes for string functions */ /* Prototypes for string functions */
#if !defined(bfill) && !defined(HAVE_BFILL) #if !defined(bfill) && !defined(HAVE_BFILL)
extern void bfill(uchar *dst,size_t len,pchar fill); extern void bfill(uchar *dst,size_t len,pchar fill);
#endif #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 #ifndef bmove512
extern void bmove512(uchar *dst,const uchar *src,size_t len); extern void bmove512(uchar *dst,const uchar *src,size_t len);
#endif #endif
#if !defined(HAVE_BMOVE) && !defined(bmove) #if !defined(HAVE_BMOVE) && !defined(bmove)
extern void bmove(uuchar *dst, const uchar *src,size_t len); extern void bmove(uuchar *dst, const uchar *src,size_t len);
#endif #endif
extern void bmove_upp(uchar *dst,const uchar *src,size_t len); extern void bmove_upp(uchar *dst,const uchar *src,size_t len);
extern void bchange(uchar *dst,size_t old_len,const uchar *src, extern void bchange(uchar *dst,size_t old_len,const uchar *src,
skipping to change at line 202 skipping to change at line 184
#ifndef HAVE_STRSTR #ifndef HAVE_STRSTR
extern char *strstr(const char *, const char *); extern char *strstr(const char *, const char *);
#endif #endif
#endif #endif
extern int is_prefix(const char *, const char *); extern int is_prefix(const char *, const char *);
/* Conversion routines */ /* Conversion routines */
double my_strtod(const char *str, char **end, int *error); double my_strtod(const char *str, char **end, int *error);
double my_atof(const char *nptr); double my_atof(const char *nptr);
#ifndef NOT_FIXED_DEC
#define NOT_FIXED_DEC 31
#endif
/*
Max length of a floating point number.
*/
#define FLOATING_POINT_BUFFER (311 + NOT_FIXED_DEC)
extern char *llstr(longlong value,char *buff); extern char *llstr(longlong value,char *buff);
extern char *ullstr(longlong value,char *buff); extern char *ullstr(longlong value,char *buff);
#ifndef HAVE_STRTOUL #ifndef HAVE_STRTOUL
extern long strtol(const char *str, char **ptr, int base); extern long strtol(const char *str, char **ptr, int base);
extern ulong strtoul(const char *str, char **ptr, int base); extern ulong strtoul(const char *str, char **ptr, int base);
#endif #endif
extern char *int2str(long val, char *dst, int radix, int upcase); extern char *int2str(long val, char *dst, int radix, int upcase);
extern char *int10_to_str(long val,char *dst,int radix); extern char *int10_to_str(long val,char *dst,int radix);
extern char *str2int(const char *src,int radix,long lower,long upper, extern char *str2int(const char *src,int radix,long lower,long upper,
 End of changes. 8 change blocks. 
30 lines changed or deleted 26 lines changed or added


 my_config.h   my_config.h 
skipping to change at line 77 skipping to change at line 77
/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix) . /* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix) .
*/ */
#define HAVE_ALLOCA_H 1 #define HAVE_ALLOCA_H 1
/* Define to 1 if you have the <arpa/inet.h> header file. */ /* Define to 1 if you have the <arpa/inet.h> header file. */
#define HAVE_ARPA_INET_H 1 #define HAVE_ARPA_INET_H 1
/* Define to 1 if you have the <asm/termbits.h> header file. */ /* Define to 1 if you have the <asm/termbits.h> header file. */
#define HAVE_ASM_TERMBITS_H 1 #define HAVE_ASM_TERMBITS_H 1
/* Define to 1 if you have the `atomic_add_long' function. */ /* Define to 1 if you have the `atomic_add_long_nv' function. */
/* #undef HAVE_ATOMIC_ADD_LONG */ /* #undef HAVE_ATOMIC_ADD_LONG_NV */
/* Define to 1 if you have the `atomic_cas_32' function. */ /* Define to 1 if you have the `atomic_cas_32' function. */
/* #undef HAVE_ATOMIC_CAS_32 */ /* #undef HAVE_ATOMIC_CAS_32 */
/* Define to 1 if you have the `atomic_cas_64' function. */ /* Define to 1 if you have the `atomic_cas_64' function. */
/* #undef HAVE_ATOMIC_CAS_64 */ /* #undef HAVE_ATOMIC_CAS_64 */
/* Define to 1 if you have the `atomic_cas_ulong' function. */ /* Define to 1 if you have the `atomic_cas_ulong' function. */
/* #undef HAVE_ATOMIC_CAS_ULONG */ /* #undef HAVE_ATOMIC_CAS_ULONG */
/* Define to 1 if you have the `atomic_swap_uchar' function. */
/* #undef HAVE_ATOMIC_SWAP_UCHAR */
/* Define to 1 if you have the `backtrace' function. */ /* Define to 1 if you have the `backtrace' function. */
#define HAVE_BACKTRACE 1 #define HAVE_BACKTRACE 1
/* Define to 1 if you have the `backtrace_symbols' function. */ /* Define to 1 if you have the `backtrace_symbols' function. */
#define HAVE_BACKTRACE_SYMBOLS 1 #define HAVE_BACKTRACE_SYMBOLS 1
/* Define to 1 if you have the `backtrace_symbols_fd' function. */ /* Define to 1 if you have the `backtrace_symbols_fd' function. */
#define HAVE_BACKTRACE_SYMBOLS_FD 1 #define HAVE_BACKTRACE_SYMBOLS_FD 1
/* Define to 1 if you have the `bcmp' function. */
#define HAVE_BCMP 1
/* Define to 1 if you have the `bfill' function. */ /* Define to 1 if you have the `bfill' function. */
/* #undef HAVE_BFILL */ /* #undef HAVE_BFILL */
/* Define to 1 if you have the `bmove' function. */ /* Define to 1 if you have the `bmove' function. */
/* #undef HAVE_BMOVE */ /* #undef HAVE_BMOVE */
/* bool is not defined by all C++ compilators */ /* bool is not defined by all C++ compilators */
#define HAVE_BOOL 1 #define HAVE_BOOL 1
/* Define to 1 if isinf() uses 80-bit register for intermediate values */ /* Define to 1 if isinf() uses 80-bit register for intermediate values */
skipping to change at line 257 skipping to change at line 257
/* Define to 1 if you have the <curses.h> header file. */ /* Define to 1 if you have the <curses.h> header file. */
#define HAVE_CURSES_H 1 #define HAVE_CURSES_H 1
/* Define to 1 if you have the `cuserid' function. */ /* Define to 1 if you have the `cuserid' function. */
#define HAVE_CUSERID 1 #define HAVE_CUSERID 1
/* Define to 1 if you have the <cxxabi.h> header file. */ /* Define to 1 if you have the <cxxabi.h> header file. */
#define HAVE_CXXABI_H 1 #define HAVE_CXXABI_H 1
/* Define to 1 if you have the declaration of `bzero', and to 0 if you don'
t.
*/
#define HAVE_DECL_BZERO 1
/* Define to 1 if you have the declaration of `fdatasync', and to 0 if you
don't. */
#define HAVE_DECL_FDATASYNC 1
/* Define to 1 if you have the declaration of `madvise', and to 0 if you /* Define to 1 if you have the declaration of `madvise', and to 0 if you
don't. */ don't. */
#define HAVE_DECL_MADVISE 1 #define HAVE_DECL_MADVISE 1
/* Define to 1 if you have the declaration of `SHM_HUGETLB', and to 0 if yo u /* Define to 1 if you have the declaration of `SHM_HUGETLB', and to 0 if yo u
don't. */ don't. */
#define HAVE_DECL_SHM_HUGETLB 1 #define HAVE_DECL_SHM_HUGETLB 1
/* Define to 1 if you have the declaration of `tgoto', and to 0 if you don' t. /* Define to 1 if you have the declaration of `tgoto', and to 0 if you don' t.
*/ */
skipping to change at line 311 skipping to change at line 319
/* Define to 1 if you have the <fcntl.h> header file. */ /* Define to 1 if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H 1 #define HAVE_FCNTL_H 1
/* Define to 1 if you have the `fconvert' function. */ /* Define to 1 if you have the `fconvert' function. */
/* #undef HAVE_FCONVERT */ /* #undef HAVE_FCONVERT */
/* Define to 1 if you have the `fdatasync' function. */ /* Define to 1 if you have the `fdatasync' function. */
#define HAVE_FDATASYNC 1 #define HAVE_FDATASYNC 1
/* Define to 1 if you have the `fedisableexcept' function. */
#define HAVE_FEDISABLEEXCEPT 1
/* Define to 1 if you have the <fenv.h> header file. */ /* Define to 1 if you have the <fenv.h> header file. */
#define HAVE_FENV_H 1 #define HAVE_FENV_H 1
/* Define to 1 if you have the `fesetround' function. */ /* Define to 1 if you have the `fesetround' function. */
#define HAVE_FESETROUND 1 #define HAVE_FESETROUND 1
/* Define to 1 if you have the `fgetln' function. */ /* Define to 1 if you have the `fgetln' function. */
/* #undef HAVE_FGETLN */ /* #undef HAVE_FGETLN */
/* Define to 1 if you have the `finite' function. */ /* Define to 1 if you have the `finite' function. */
skipping to change at line 338 skipping to change at line 349
/* Define to 1 if you have the `flockfile' function. */ /* Define to 1 if you have the `flockfile' function. */
#define HAVE_FLOCKFILE 1 #define HAVE_FLOCKFILE 1
/* Define to 1 if you have the `fpresetsticky' function. */ /* Define to 1 if you have the `fpresetsticky' function. */
/* #undef HAVE_FPRESETSTICKY */ /* #undef HAVE_FPRESETSTICKY */
/* Define to 1 if you have the `fpsetmask' function. */ /* Define to 1 if you have the `fpsetmask' function. */
/* #undef HAVE_FPSETMASK */ /* #undef HAVE_FPSETMASK */
/* Define to 1 if you have the <fpu_control.h> header file. */
#define HAVE_FPU_CONTROL_H 1
/* Define to 1 if the system has the type `fp_except'. */ /* Define to 1 if the system has the type `fp_except'. */
/* #undef HAVE_FP_EXCEPT */ /* #undef HAVE_FP_EXCEPT */
/* Define to 1 if you have the `fsync' function. */ /* Define to 1 if you have the `fsync' function. */
#define HAVE_FSYNC 1 #define HAVE_FSYNC 1
/* Define to 1 if you have the `ftruncate' function. */ /* Define to 1 if you have the `ftruncate' function. */
#define HAVE_FTRUNCATE 1 #define HAVE_FTRUNCATE 1
/* Define to 1 if compiler provides atomic builtins. */ /* Define to 1 if compiler provides atomic builtins. */
#define HAVE_GCC_ATOMIC_BUILTINS 1 #define HAVE_GCC_ATOMIC_BUILTINS 1
/* Define to 1 if you have the `getcwd' function. */ /* Define to 1 if you have the `getcwd' function. */
#define HAVE_GETCWD 1 #define HAVE_GETCWD 1
/* Define to 1 if you have the `getegid' function. */
#define HAVE_GETEGID 1
/* Define to 1 if you have the `geteuid' function. */
#define HAVE_GETEUID 1
/* Define to 1 if you have the `getgid' function. */
#define HAVE_GETGID 1
/* Define to 1 if you have the `gethostbyaddr_r' function. */ /* Define to 1 if you have the `gethostbyaddr_r' function. */
#define HAVE_GETHOSTBYADDR_R 1 #define HAVE_GETHOSTBYADDR_R 1
/* Define to 1 if you have the `gethostbyname_r' function. */ /* Define to 1 if you have the `gethostbyname_r' function. */
#define HAVE_GETHOSTBYNAME_R 1 #define HAVE_GETHOSTBYNAME_R 1
/* Solaris define gethostbyname_r with 5 arguments. glibc2 defines this wit h 6 /* Solaris define gethostbyname_r with 5 arguments. glibc2 defines this wit h 6
arguments */ arguments */
#define HAVE_GETHOSTBYNAME_R_GLIBC2_STYLE 1 #define HAVE_GETHOSTBYNAME_R_GLIBC2_STYLE 1
skipping to change at line 396 skipping to change at line 419
/* getpwent() declaration present */ /* getpwent() declaration present */
/* #undef HAVE_GETPW_DECLS */ /* #undef HAVE_GETPW_DECLS */
/* Define to 1 if you have the `getrlimit' function. */ /* Define to 1 if you have the `getrlimit' function. */
#define HAVE_GETRLIMIT 1 #define HAVE_GETRLIMIT 1
/* Define to 1 if you have the `getrusage' function. */ /* Define to 1 if you have the `getrusage' function. */
#define HAVE_GETRUSAGE 1 #define HAVE_GETRUSAGE 1
/* Define to 1 if you have the `getuid' function. */
#define HAVE_GETUID 1
/* Define to 1 if you have the `getwd' function. */ /* Define to 1 if you have the `getwd' function. */
#define HAVE_GETWD 1 #define HAVE_GETWD 1
/* Define to 1 if you have the `gmtime_r' function. */ /* Define to 1 if you have the `gmtime_r' function. */
#define HAVE_GMTIME_R 1 #define HAVE_GMTIME_R 1
/* Define to 1 if you have the <grp.h> header file. */ /* Define to 1 if you have the <grp.h> header file. */
#define HAVE_GRP_H 1 #define HAVE_GRP_H 1
/* HIST_ENTRY is defined in the outer libeditreadline */ /* HIST_ENTRY is defined in the outer libeditreadline */
skipping to change at line 1026 skipping to change at line 1052
/* Define to 1 if you have the <utime.h> header file. */ /* Define to 1 if you have the <utime.h> header file. */
#define HAVE_UTIME_H 1 #define HAVE_UTIME_H 1
/* Define to 1 if `utime(file, NULL)' sets file's timestamp to the present. */ /* Define to 1 if `utime(file, NULL)' sets file's timestamp to the present. */
#define HAVE_UTIME_NULL 1 #define HAVE_UTIME_NULL 1
/* Define to 1 if the system has the type `u_int32_t'. */ /* Define to 1 if the system has the type `u_int32_t'. */
#define HAVE_U_INT32_T 1 #define HAVE_U_INT32_T 1
/* Define for Valgrind support */
/* #undef HAVE_VALGRIND */
/* Define to 1 if you have the <valgrind/memcheck.h> header file. */
/* #undef HAVE_VALGRIND_MEMCHECK_H */
/* Define to 1 if you have the <valgrind/valgrind.h> header file. */
/* #undef HAVE_VALGRIND_VALGRIND_H */
/* Define to 1 if you have the <varargs.h> header file. */ /* Define to 1 if you have the <varargs.h> header file. */
/* #undef HAVE_VARARGS_H */ /* #undef HAVE_VARARGS_H */
/* Define to 1 if you have the `vidattr' function. */ /* Define to 1 if you have the `vidattr' function. */
/* #undef HAVE_VIDATTR */ /* #undef HAVE_VIDATTR */
/* Define to enable buffered read. This works only if syscalls read/recv /* Define to enable buffered read. This works only if syscalls read/recv
return as soon as there is some data in the kernel buffer, no matter how return as soon as there is some data in the kernel buffer, no matter how
big the given buffer is. */ big the given buffer is. */
#define HAVE_VIO_READ_BUFF 1 #define HAVE_VIO_READ_BUFF 1
skipping to change at line 1077 skipping to change at line 1112
/* Define if you have wcwidth */ /* Define if you have wcwidth */
#define HAVE_WCWIDTH /**/ #define HAVE_WCWIDTH /**/
/* Define to 1 if compiler supports weak symbol attribute. */ /* Define to 1 if compiler supports weak symbol attribute. */
#define HAVE_WEAK_SYMBOL 1 #define HAVE_WEAK_SYMBOL 1
/* systems should define this type here */ /* systems should define this type here */
#define HAVE_WINT_T 1 #define HAVE_WINT_T 1
/* Define to 1 if you have the <xfs/xfs.h> header file. */ /* Define to 1 if you have the <xfs/xfs.h> header file. */
/* #undef HAVE_XFS_XFS_H */ #define HAVE_XFS_XFS_H 1
/* Defined by configure. Using yaSSL for SSL. */ /* Defined by configure. Using yaSSL for SSL. */
/* #undef HAVE_YASSL */ /* #undef HAVE_YASSL */
/* Define if /proc/meminfo shows the huge page size (Linux only) */ /* Define if /proc/meminfo shows the huge page size (Linux only) */
#define HUGETLB_USE_PROC_MEMINFO 1 #define HUGETLB_USE_PROC_MEMINFO 1
/* Define if you have -lwrap */ /* Define if you have -lwrap */
/* #undef LIBWRAP */ /* #undef LIBWRAP */
skipping to change at line 1141 skipping to change at line 1176
/* Name of package */ /* Name of package */
#define PACKAGE "mysql" #define PACKAGE "mysql"
/* Define to the address where bug reports for this package should be sent. */ /* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT "" #define PACKAGE_BUGREPORT ""
/* Define to the full name of this package. */ /* Define to the full name of this package. */
#define PACKAGE_NAME "MySQL Server" #define PACKAGE_NAME "MySQL Server"
/* Define to the full name and version of this package. */ /* Define to the full name and version of this package. */
#define PACKAGE_STRING "MySQL Server 5.1.47" #define PACKAGE_STRING "MySQL Server 5.1.67"
/* Define to the one symbol short name of this package. */ /* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "mysql" #define PACKAGE_TARNAME "mysql"
/* Define to the version of this package. */ /* Define to the version of this package. */
#define PACKAGE_VERSION "5.1.47" #define PACKAGE_VERSION "5.1.67"
/* mysql client protocol version */ /* mysql client protocol version */
#define PROTOCOL_VERSION 10 #define PROTOCOL_VERSION 10
/* qsort returns void */ /* qsort returns void */
#define QSORT_TYPE_IS_VOID 1 #define QSORT_TYPE_IS_VOID 1
/* The return type of qsort (int or void). */ /* The return type of qsort (int or void). */
#define RETQSORTTYPE void #define RETQSORTTYPE void
skipping to change at line 1185 skipping to change at line 1220
/* The size of `off_t', as computed by sizeof. */ /* The size of `off_t', as computed by sizeof. */
#define SIZEOF_OFF_T 8 #define SIZEOF_OFF_T 8
/* The size of `pthread_t', as computed by sizeof. */ /* The size of `pthread_t', as computed by sizeof. */
#define SIZEOF_PTHREAD_T 4 #define SIZEOF_PTHREAD_T 4
/* The size of `short', as computed by sizeof. */ /* The size of `short', as computed by sizeof. */
#define SIZEOF_SHORT 2 #define SIZEOF_SHORT 2
/* The size of `time_t', as computed by sizeof. */
#define SIZEOF_TIME_T 4
/* The size of `void*', as computed by sizeof. */ /* The size of `void*', as computed by sizeof. */
#define SIZEOF_VOIDP 4 #define SIZEOF_VOIDP 4
/* The base type of the last arg to accept */ /* The base type of the last arg to accept */
#define SOCKET_SIZE_TYPE socklen_t #define SOCKET_SIZE_TYPE socklen_t
/* Last argument to get/setsockopt */ /* Last argument to get/setsockopt */
/* #undef SOCKOPT_OPTLEN_TYPE */ /* #undef SOCKOPT_OPTLEN_TYPE */
/* Broken sprintf */
/* #undef SPRINTF_RETURNS_GARBAGE */
/* POSIX sprintf */
#define SPRINTF_RETURNS_INT 1
/* Broken sprintf */
/* #undef SPRINTF_RETURNS_PTR */
/* If using the C implementation of alloca, define if you know the /* If using the C implementation of alloca, define if you know the
direction of stack growth for your system; otherwise it will be direction of stack growth for your system; otherwise it will be
automatically deduced at runtime. automatically deduced at runtime.
STACK_DIRECTION > 0 => grows toward higher addresses STACK_DIRECTION > 0 => grows toward higher addresses
STACK_DIRECTION < 0 => grows toward lower addresses STACK_DIRECTION < 0 => grows toward lower addresses
STACK_DIRECTION = 0 => direction of growth unknown */ STACK_DIRECTION = 0 => direction of growth unknown */
#define STACK_DIRECTION -1 #define STACK_DIRECTION -1
/* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */ /* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */
/* #undef STAT_MACROS_BROKEN */ /* #undef STAT_MACROS_BROKEN */
skipping to change at line 1268 skipping to change at line 1297
/* */ /* */
#define USE_MB_IDENT 1 #define USE_MB_IDENT 1
/* Needs to use mysys_new helpers */ /* Needs to use mysys_new helpers */
/* #undef USE_MYSYS_NEW */ /* #undef USE_MYSYS_NEW */
/* used new readline interface (are rl_completion_func_t and /* used new readline interface (are rl_completion_func_t and
rl_compentry_func_t defined) */ rl_compentry_func_t defined) */
/* #undef USE_NEW_READLINE_INTERFACE */ /* #undef USE_NEW_READLINE_INTERFACE */
/* the pstack backtrace library */
/* #undef USE_PSTACK */
/* Version number of package */ /* Version number of package */
#define VERSION "5.1.47" #define VERSION "5.1.67"
/* sighandler type is void (*signal ()) (); */ /* sighandler type is void (*signal ()) (); */
#define VOID_SIGHANDLER 1 #define VOID_SIGHANDLER 1
/* Include Archive Storage Engine into mysqld */ /* Include Archive Storage Engine into mysqld */
/* #undef WITH_ARCHIVE_STORAGE_ENGINE */ /* #undef WITH_ARCHIVE_STORAGE_ENGINE */
/* Include Basic Write-only Read-never tables into mysqld */ /* Include Basic Write-only Read-never tables into mysqld */
/* #undef WITH_BLACKHOLE_STORAGE_ENGINE */ /* #undef WITH_BLACKHOLE_STORAGE_ENGINE */
skipping to change at line 1295 skipping to change at line 1321
/* Include Example for Storage Engines for developers into mysqld */ /* Include Example for Storage Engines for developers into mysqld */
/* #undef WITH_EXAMPLE_STORAGE_ENGINE */ /* #undef WITH_EXAMPLE_STORAGE_ENGINE */
/* Include Connects to tables on remote MySQL servers into mysqld */ /* Include Connects to tables on remote MySQL servers into mysqld */
/* #undef WITH_FEDERATED_STORAGE_ENGINE */ /* #undef WITH_FEDERATED_STORAGE_ENGINE */
/* Include Volatile memory based tables into mysqld */ /* Include Volatile memory based tables into mysqld */
#define WITH_HEAP_STORAGE_ENGINE 1 #define WITH_HEAP_STORAGE_ENGINE 1
/* Include IBM DB2 for i Storage Engine into mysqld */
/* #undef WITH_IBMDB2I_STORAGE_ENGINE */
/* Include Transactional Tables using InnoDB into mysqld */ /* Include Transactional Tables using InnoDB into mysqld */
/* #undef WITH_INNOBASE_STORAGE_ENGINE */ /* #undef WITH_INNOBASE_STORAGE_ENGINE */
/* Include Transactional Tables using InnoDB into mysqld */ /* Include Transactional Tables using InnoDB into mysqld */
/* #undef WITH_INNODB_PLUGIN_STORAGE_ENGINE */ /* #undef WITH_INNODB_PLUGIN_STORAGE_ENGINE */
/* Include Merge multiple MySQL tables into one into mysqld */ /* Include Merge multiple MySQL tables into one into mysqld */
#define WITH_MYISAMMRG_STORAGE_ENGINE 1 #define WITH_MYISAMMRG_STORAGE_ENGINE 1
/* Include Traditional non-transactional MySQL tables into mysqld */ /* Include Traditional non-transactional MySQL tables into mysqld */
 End of changes. 17 change blocks. 
24 lines changed or deleted 48 lines changed or added


 my_dbug.h   my_dbug.h 
/* Copyright (C) 2000 MySQL AB /* Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reser ved.
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation; version 2 of the License. the Free Software Foundation; version 2 of the License.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 US
A */ A
*/
#ifndef _dbug_h #ifndef MY_DBUG_INCLUDED
#define _dbug_h #define MY_DBUG_INCLUDED
#ifndef __WIN__
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
#include <signal.h>
#endif /* not __WIN__ */
#if defined(__cplusplus) && !defined(DBUG_OFF) #if defined(__cplusplus) && !defined(DBUG_OFF)
class Dbug_violation_helper class Dbug_violation_helper
{ {
public: public:
inline Dbug_violation_helper() : inline Dbug_violation_helper() :
_entered(TRUE) _entered(TRUE)
{ } { }
inline ~Dbug_violation_helper() inline ~Dbug_violation_helper()
skipping to change at line 72 skipping to change at line 83
uint *_slevel_); uint *_slevel_);
extern void _db_pargs_(uint _line_,const char *keyword); extern void _db_pargs_(uint _line_,const char *keyword);
extern void _db_doprnt_ _VARARGS((const char *format,...)) extern void _db_doprnt_ _VARARGS((const char *format,...))
ATTRIBUTE_FORMAT(printf, 1, 2); ATTRIBUTE_FORMAT(printf, 1, 2);
extern void _db_dump_(uint _line_,const char *keyword, extern void _db_dump_(uint _line_,const char *keyword,
const unsigned char *memory, size_t length); const unsigned char *memory, size_t length);
extern void _db_end_(void); extern void _db_end_(void);
extern void _db_lock_file_(void); extern void _db_lock_file_(void);
extern void _db_unlock_file_(void); extern void _db_unlock_file_(void);
extern FILE *_db_fp_(void); extern FILE *_db_fp_(void);
extern void _db_flush_();
#ifdef __cplusplus #ifdef __cplusplus
#define DBUG_ENTER(a) \ #define DBUG_ENTER(a) \
const char *_db_func_, *_db_file_; \ const char *_db_func_, *_db_file_; \
uint _db_level_; \ uint _db_level_; \
char **_db_framep_; \ char **_db_framep_; \
Dbug_violation_helper dbug_violation_helper; \ Dbug_violation_helper dbug_violation_helper; \
_db_enter_ (a, __FILE__, __LINE__, &_db_func_, &_db_file_, \ _db_enter_ (a, __FILE__, __LINE__, &_db_func_, &_db_file_, \
&_db_level_, &_db_framep_) &_db_level_, &_db_framep_)
skipping to change at line 127 skipping to change at line 139
#define DBUG_SETJMP(a1) (_db_setjmp_ (), setjmp (a1)) #define DBUG_SETJMP(a1) (_db_setjmp_ (), setjmp (a1))
#define DBUG_LONGJMP(a1,a2) (_db_longjmp_ (), longjmp (a1, a2)) #define DBUG_LONGJMP(a1,a2) (_db_longjmp_ (), longjmp (a1, a2))
#define DBUG_DUMP(keyword,a1,a2) _db_dump_(__LINE__,keyword,a1,a2) #define DBUG_DUMP(keyword,a1,a2) _db_dump_(__LINE__,keyword,a1,a2)
#define DBUG_END() _db_end_ () #define DBUG_END() _db_end_ ()
#define DBUG_LOCK_FILE _db_lock_file_() #define DBUG_LOCK_FILE _db_lock_file_()
#define DBUG_UNLOCK_FILE _db_unlock_file_() #define DBUG_UNLOCK_FILE _db_unlock_file_()
#define DBUG_ASSERT(A) assert(A) #define DBUG_ASSERT(A) assert(A)
#define DBUG_EXPLAIN(buf,len) _db_explain_(0, (buf),(len)) #define DBUG_EXPLAIN(buf,len) _db_explain_(0, (buf),(len))
#define DBUG_EXPLAIN_INITIAL(buf,len) _db_explain_init_((buf),(len)) #define DBUG_EXPLAIN_INITIAL(buf,len) _db_explain_init_((buf),(len))
#define IF_DBUG(A) A #define IF_DBUG(A) A
#ifndef __WIN__
#define DBUG_ABORT() (_db_flush_(), abort())
#else
/*
Avoid popup with abort/retry/ignore buttons. When BUG#31745 is fixed we c
an
call abort() instead of _exit(3) (now it would cause a "test signal" popu
p).
*/
#include <crtdbg.h>
#define DBUG_ABORT() (_db_flush_(),\
(void)_CrtSetReportMode(_CRT_ERROR, _CRTDBG_MODE_FILE)
,\
(void)_CrtSetReportFile(_CRT_ERROR, _CRTDBG_FILE_STDER
R),\
_exit(3))
#endif
/*
Make the program fail, without creating a core file.
abort() will send SIGABRT which (most likely) generates core.
Use SIGKILL instead, which cannot be caught.
We also pause the current thread, until the signal is actually delivered.
An alternative would be to use _exit(EXIT_FAILURE),
but then valgrind would report lots of memory leaks.
*/
#ifdef __WIN__
#define DBUG_SUICIDE() DBUG_ABORT()
#else
extern void _db_suicide_();
#define DBUG_SUICIDE() (_db_flush_(), _db_suicide_())
#endif
#else /* No debugger */ #else /* No debugger */
#define DBUG_ENTER(a1) #define DBUG_ENTER(a1)
#define DBUG_LEAVE #define DBUG_LEAVE
#define DBUG_VIOLATION_HELPER_LEAVE #define DBUG_VIOLATION_HELPER_LEAVE
#define DBUG_RETURN(a1) do { return(a1); } while(0) #define DBUG_RETURN(a1) do { return(a1); } while(0)
#define DBUG_VOID_RETURN do { return; } while(0) #define DBUG_VOID_RETURN do { return; } while(0)
#define DBUG_EXECUTE(keyword,a1) do { } while(0) #define DBUG_EXECUTE(keyword,a1) do { } while(0)
#define DBUG_EXECUTE_IF(keyword,a1) do { } while(0) #define DBUG_EXECUTE_IF(keyword,a1) do { } while(0)
#define DBUG_EVALUATE(keyword,a1,a2) (a2) #define DBUG_EVALUATE(keyword,a1,a2) (a2)
skipping to change at line 155 skipping to change at line 196
#define DBUG_LONGJMP(a1) longjmp(a1) #define DBUG_LONGJMP(a1) longjmp(a1)
#define DBUG_DUMP(keyword,a1,a2) do { } while(0) #define DBUG_DUMP(keyword,a1,a2) do { } while(0)
#define DBUG_END() #define DBUG_END()
#define DBUG_ASSERT(A) do { } while(0) #define DBUG_ASSERT(A) do { } while(0)
#define DBUG_LOCK_FILE #define DBUG_LOCK_FILE
#define DBUG_FILE (stderr) #define DBUG_FILE (stderr)
#define DBUG_UNLOCK_FILE #define DBUG_UNLOCK_FILE
#define DBUG_EXPLAIN(buf,len) #define DBUG_EXPLAIN(buf,len)
#define DBUG_EXPLAIN_INITIAL(buf,len) #define DBUG_EXPLAIN_INITIAL(buf,len)
#define IF_DBUG(A) #define IF_DBUG(A)
#define DBUG_ABORT() do { } while(0)
#define DBUG_SUICIDE() do { } while(0)
#endif #endif
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif
#endif /* MY_DBUG_INCLUDED */
 End of changes. 7 change blocks. 
5 lines changed or deleted 53 lines changed or added


 my_getopt.h   my_getopt.h 
/* Copyright (C) 2002-2004 MySQL AB /*
Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reser
ved.
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation; version 2 of the License. the Free Software Foundation; version 2 of the License.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 US
A */ A
*/
#ifndef _my_getopt_h #ifndef _my_getopt_h
#define _my_getopt_h #define _my_getopt_h
C_MODE_START C_MODE_START
#define GET_NO_ARG 1 #define GET_NO_ARG 1
#define GET_BOOL 2 #define GET_BOOL 2
#define GET_INT 3 #define GET_INT 3
#define GET_UINT 4 #define GET_UINT 4
skipping to change at line 48 skipping to change at line 50
enum get_opt_arg_type { NO_ARG, OPT_ARG, REQUIRED_ARG }; enum get_opt_arg_type { NO_ARG, OPT_ARG, REQUIRED_ARG };
struct st_typelib; struct st_typelib;
struct my_option struct my_option
{ {
const char *name; /* Name of the option */ const char *name; /* Name of the option */
int id; /* unique id or short option */ int id; /* unique id or short option */
const char *comment; /* option comment, for autom. --hel p */ const char *comment; /* option comment, for autom. --hel p */
uchar **value; /* The variable value */ void *value; /* The variable value */
uchar **u_max_value; /* The user def. max variable value void *u_max_value; /* The user def. max variable value
*/ */
struct st_typelib *typelib; /* Pointer to possible values */ struct st_typelib *typelib; /* Pointer to possible values */
ulong var_type; ulong var_type; /* Must match the variable type */
enum get_opt_arg_type arg_type; enum get_opt_arg_type arg_type;
longlong def_value; /* Default value */ longlong def_value; /* Default value */
longlong min_value; /* Min allowed value */ longlong min_value; /* Min allowed value */
longlong max_value; /* Max allowed value */ ulonglong max_value; /* Max allowed value */
longlong sub_size; /* Subtract this from given value * / longlong sub_size; /* Subtract this from given value * /
long block_size; /* Value should be a mult. of this */ long block_size; /* Value should be a mult. of this */
void *app_type; /* To be used by an application */ void *app_type; /* To be used by an application */
}; };
typedef my_bool (* my_get_one_option) (int, const struct my_option *, char typedef my_bool (*my_get_one_option)(int, const struct my_option *, char *)
* ); ;
typedef void (* my_error_reporter) (enum loglevel level, const char *format typedef void (*my_error_reporter)(enum loglevel level, const char *format,
, ... ); ...)
ATTRIBUTE_FORMAT_FPTR(printf, 2, 3);
/**
Used to retrieve a reference to the object (variable) that holds the valu
e
for the given option. For example, if var_type is GET_UINT, the function
must return a pointer to a variable of type uint. A argument is stored in
the location pointed to by the returned pointer.
*/
typedef void *(*my_getopt_value)(const char *, uint, const struct my_option
*,
int *);
extern char *disabled_my_option; extern char *disabled_my_option;
extern my_bool my_getopt_print_errors; extern my_bool my_getopt_print_errors;
extern my_bool my_getopt_skip_unknown; extern my_bool my_getopt_skip_unknown;
extern my_error_reporter my_getopt_error_reporter; extern my_error_reporter my_getopt_error_reporter;
extern int handle_options (int *argc, char ***argv, extern int handle_options (int *argc, char ***argv,
const struct my_option *longopts, my_get_one_opti on); const struct my_option *longopts, my_get_one_opti on);
extern void my_cleanup_options(const struct my_option *options); extern void my_cleanup_options(const struct my_option *options);
extern void my_print_help(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_print_variables(const struct my_option *options);
extern void my_getopt_register_get_addr(uchar ** (*func_addr)(const char *, extern void my_getopt_register_get_addr(my_getopt_value);
uint,
const struct my_option *, int *));
ulonglong getopt_ull_limit_value(ulonglong num, const struct my_option *opt p, ulonglong getopt_ull_limit_value(ulonglong num, const struct my_option *opt p,
my_bool *fix); my_bool *fix);
longlong getopt_ll_limit_value(longlong, const struct my_option *, longlong getopt_ll_limit_value(longlong, const struct my_option *,
my_bool *fix); my_bool *fix);
my_bool getopt_compare_strings(const char *s, const char *t, uint length); my_bool getopt_compare_strings(const char *s, const char *t, uint length);
C_MODE_END C_MODE_END
#endif /* _my_getopt_h */ #endif /* _my_getopt_h */
 End of changes. 7 change blocks. 
15 lines changed or deleted 28 lines changed or added


 my_global.h   my_global.h 
/* Copyright (C) 2000-2003 MySQL AB /*
Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reser
ved.
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation; version 2 of the License. the Free Software Foundation; version 2 of the License.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 US
A */ A
*/
/* This is the include file that should be included 'first' in every C file . */ /* This is the include file that should be included 'first' in every C file . */
#ifndef _global_h #ifndef _global_h
#define _global_h #define _global_h
/* /*
InnoDB depends on some MySQL internals which other plugins should not InnoDB depends on some MySQL internals which other plugins should not
need. This is because of InnoDB's foreign key support, "safe" binlog need. This is because of InnoDB's foreign key support, "safe" binlog
truncation, and other similar legacy features. truncation, and other similar legacy features.
skipping to change at line 57 skipping to change at line 59
Must be defined before including Must be defined before including
"sys/select.h" and "sys/time.h" "sys/select.h" and "sys/time.h"
*/ */
#endif #endif
/* to make command line shorter we'll define USE_PRAGMA_INTERFACE here */ /* to make command line shorter we'll define USE_PRAGMA_INTERFACE here */
#ifdef USE_PRAGMA_IMPLEMENTATION #ifdef USE_PRAGMA_IMPLEMENTATION
#define USE_PRAGMA_INTERFACE #define USE_PRAGMA_INTERFACE
#endif #endif
#if defined(__OpenBSD__) && (OpenBSD >= 200411)
#define HAVE_ERRNO_AS_DEFINE
#endif
#if defined(i386) && !defined(__i386__) #if defined(i386) && !defined(__i386__)
#define __i386__ #define __i386__
#endif #endif
/* Macros to make switching between C and C++ mode easier */ /* Macros to make switching between C and C++ mode easier */
#ifdef __cplusplus #ifdef __cplusplus
#define C_MODE_START extern "C" { #define C_MODE_START extern "C" {
#define C_MODE_END } #define C_MODE_END }
#else #else
#define C_MODE_START #define C_MODE_START
skipping to change at line 354 skipping to change at line 360
#endif /* THREAD */ #endif /* THREAD */
/* Go around some bugs in different OS and compilers */ /* Go around some bugs in different OS and compilers */
#ifdef _AIX /* By soren@t.dk */ #ifdef _AIX /* By soren@t.dk */
#define _H_STRINGS #define _H_STRINGS
#define _SYS_STREAM_H #define _SYS_STREAM_H
/* #define _AIX32_CURSES */ /* XXX: this breaks AIX 4.3.3 (others?). */ /* #define _AIX32_CURSES */ /* XXX: this breaks AIX 4.3.3 (others?). */
#define ulonglong2double(A) my_ulonglong2double(A) #define ulonglong2double(A) my_ulonglong2double(A)
#define my_off_t2double(A) my_ulonglong2double(A) #define my_off_t2double(A) my_ulonglong2double(A)
C_MODE_START C_MODE_START
double my_ulonglong2double(unsigned long long A); inline double my_ulonglong2double(unsigned long long A) { return (double) A ; }
C_MODE_END C_MODE_END
#endif /* _AIX */ #endif /* _AIX */
#ifdef HAVE_BROKEN_SNPRINTF /* HPUX 10.20 don't have this defined */ #ifdef HAVE_BROKEN_SNPRINTF /* HPUX 10.20 don't have this defined */
#undef HAVE_SNPRINTF #undef HAVE_SNPRINTF
#endif #endif
#ifdef HAVE_BROKEN_PREAD #ifdef HAVE_BROKEN_PREAD
/* /*
pread()/pwrite() are not 64 bit safe on HP-UX 11.0 without pread()/pwrite() are not 64 bit safe on HP-UX 11.0 without
installing the kernel patch PHKL_20349 or greater installing the kernel patch PHKL_20349 or greater
skipping to change at line 535 skipping to change at line 541
#define QUOTE_ARG(x) #x /* Quote argument (before cpp) */ #define QUOTE_ARG(x) #x /* Quote argument (before cpp) */
#define STRINGIFY_ARG(x) QUOTE_ARG(x) /* Quote argument, after cpp */ #define STRINGIFY_ARG(x) QUOTE_ARG(x) /* Quote argument, after cpp */
/* Paranoid settings. Define I_AM_PARANOID if you are paranoid */ /* Paranoid settings. Define I_AM_PARANOID if you are paranoid */
#ifdef I_AM_PARANOID #ifdef I_AM_PARANOID
#define DONT_ALLOW_USER_CHANGE 1 #define DONT_ALLOW_USER_CHANGE 1
#define DONT_USE_MYSQL_PWD 1 #define DONT_USE_MYSQL_PWD 1
#endif #endif
/* Does the system remember a signal handler after a signal ? */ /* Does the system remember a signal handler after a signal ? */
#ifndef HAVE_BSD_SIGNALS #if !defined(HAVE_BSD_SIGNALS) && !defined(HAVE_SIGACTION)
#define DONT_REMEMBER_SIGNAL #define SIGNAL_HANDLER_RESET_ON_DELIVERY
#endif #endif
/* Define void to stop lint from generating "null effekt" comments */ /* Define void to stop lint from generating "null effekt" comments */
#ifndef DONT_DEFINE_VOID #ifndef DONT_DEFINE_VOID
#ifdef _lint #ifdef _lint
int __void__; int __void__;
#define VOID(X) (__void__ = (int) (X)) #define VOID(X) (__void__ = (int) (X))
#else #else
#undef VOID #undef VOID
#define VOID(X) (X) #define VOID(X) (X)
#endif #endif
#endif /* DONT_DEFINE_VOID */ #endif /* DONT_DEFINE_VOID */
#if defined(_lint) || defined(FORCE_INIT_OF_VARS) /*
#define LINT_INIT(var) var=0 /* No uninitialize-warning * Deprecated workaround for false-positive uninitialized variables
/ warnings. Those should be silenced using tool-specific heuristics.
Enabled by default for g++ due to the bug referenced below.
*/
#if defined(_lint) || defined(FORCE_INIT_OF_VARS) || \
(defined(__GNUC__) && defined(__cplusplus))
#define LINT_INIT(var) var= 0
#else #else
#define LINT_INIT(var) #define LINT_INIT(var)
#endif #endif
/* /*
Suppress uninitialized variable warning without generating code. Suppress uninitialized variable warning without generating code.
The _cplusplus is a temporary workaround for C++ code pending a fix 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). for a g++ bug (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34772).
*/ */
#if defined(_lint) || defined(FORCE_INIT_OF_VARS) || defined(__cplusplus) | #if defined(_lint) || defined(FORCE_INIT_OF_VARS) || \
| \ defined(__cplusplus) || !defined(__GNUC__)
!defined(__GNUC__)
#define UNINIT_VAR(x) x= 0 #define UNINIT_VAR(x) x= 0
#else #else
/* GCC specific self-initialization which inhibits the warning. */
#define UNINIT_VAR(x) x= x #define UNINIT_VAR(x) x= x
#endif #endif
/* Define some useful general macros */ /* Define some useful general macros */
#if !defined(max) #if !defined(max)
#define max(a, b) ((a) > (b) ? (a) : (b)) #define max(a, b) ((a) > (b) ? (a) : (b))
#define min(a, b) ((a) < (b) ? (a) : (b)) #define min(a, b) ((a) < (b) ? (a) : (b))
#endif #endif
#if !defined(HAVE_UINT) #if !defined(HAVE_UINT)
skipping to change at line 589 skipping to change at line 603
typedef unsigned short ushort; typedef unsigned short ushort;
#endif #endif
#define CMP_NUM(a,b) (((a) < (b)) ? -1 : ((a) == (b)) ? 0 : 1) #define CMP_NUM(a,b) (((a) < (b)) ? -1 : ((a) == (b)) ? 0 : 1)
#define sgn(a) (((a) < 0) ? -1 : ((a) > 0) ? 1 : 0) #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 swap_variables(t, a, b) { t dummy; dummy= a; a= b; b= dummy; }
#define test(a) ((a) ? 1 : 0) #define test(a) ((a) ? 1 : 0)
#define set_if_bigger(a,b) do { if ((a) < (b)) (a)=(b); } while(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 set_if_smaller(a,b) do { if ((a) > (b)) (a)=(b); } while(0)
#define test_all_bits(a,b) (((a) & (b)) == (b)) #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 array_elements(A) ((uint) (sizeof(A)/sizeof(A[0])))
/* Define some general constants */ /* Define some general constants */
#ifndef TRUE #ifndef TRUE
#define TRUE (1) /* Logical true */ #define TRUE (1) /* Logical true */
#define FALSE (0) /* Logical false */ #define FALSE (0) /* Logical false */
#endif #endif
#if defined(__GNUC__) #if defined(__GNUC__)
#define function_volatile volatile #define function_volatile volatile
#define my_reinterpret_cast(A) reinterpret_cast<A> #define my_reinterpret_cast(A) reinterpret_cast<A>
#define my_const_cast(A) const_cast<A> #define my_const_cast(A) const_cast<A>
# ifndef GCC_VERSION # ifndef GCC_VERSION
# define GCC_VERSION (__GNUC__ * 1000 + __GNUC_MINOR__) # define GCC_VERSION (__GNUC__ * 1000 + __GNUC_MINOR__)
# endif # endif
#elif !defined(my_reinterpret_cast) #elif !defined(my_reinterpret_cast)
#define my_reinterpret_cast(A) (A) #define my_reinterpret_cast(A) (A)
#define my_const_cast(A) (A) #define my_const_cast(A) (A)
#endif #endif
#include <my_attribute.h> #include <my_compiler.h>
/* /*
Wen using the embedded library, users might run into link problems, Wen using the embedded library, users might run into link problems,
duplicate declaration of __cxa_pure_virtual, solved by declaring it a duplicate declaration of __cxa_pure_virtual, solved by declaring it a
weak symbol. weak symbol.
*/ */
#if defined(USE_MYSYS_NEW) && ! defined(DONT_DECLARE_CXA_PURE_VIRTUAL) #if defined(USE_MYSYS_NEW) && ! defined(DONT_DECLARE_CXA_PURE_VIRTUAL)
C_MODE_START C_MODE_START
int __cxa_pure_virtual () __attribute__ ((weak)); int __cxa_pure_virtual () __attribute__ ((weak));
C_MODE_END C_MODE_END
skipping to change at line 744 skipping to change at line 757
#define FN_HEADLEN 253 /* Max length of filepart of file name */ #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_EXTLEN 20 /* Max length of extension (part of FN_LEN) */
#define FN_REFLEN 512 /* Max length of full path-name */ #define FN_REFLEN 512 /* Max length of full path-name */
#define FN_EXTCHAR '.' #define FN_EXTCHAR '.'
#define FN_HOMELIB '~' /* ~/ is used as abbrev for home dir */ #define FN_HOMELIB '~' /* ~/ is used as abbrev for home dir */
#define FN_CURLIB '.' /* ./ is used as abbrev for current dir */ #define FN_CURLIB '.' /* ./ is used as abbrev for current dir */
#define FN_PARENTDIR ".." /* Parent directory; Must be a string */ #define FN_PARENTDIR ".." /* Parent directory; Must be a string */
#ifndef FN_LIBCHAR #ifndef FN_LIBCHAR
#define FN_LIBCHAR '/' #define FN_LIBCHAR '/'
#define FN_DIRSEP "/" /* Valid directory separators */
#define FN_ROOTDIR "/" #define FN_ROOTDIR "/"
#endif #endif
#define MY_NFILE 64 /* This is only used to save filenames */ #define MY_NFILE 64 /* This is only used to save filenames */
#ifndef OS_FILE_LIMIT #ifndef OS_FILE_LIMIT
#define OS_FILE_LIMIT UINT_MAX #define OS_FILE_LIMIT UINT_MAX
#endif #endif
/* #define EXT_IN_LIBNAME */ /* #define EXT_IN_LIBNAME */
/* #define FN_NO_CASE_SENCE */ /* #define FN_NO_CASE_SENCE */
/* #define FN_UPPER_CASE TRUE */ /* #define FN_UPPER_CASE TRUE */
skipping to change at line 926 skipping to change at line 940
#define MY_ALIGN(A,L) (((A) + (L) - 1) & ~((L) - 1)) #define MY_ALIGN(A,L) (((A) + (L) - 1) & ~((L) - 1))
#define ALIGN_SIZE(A) MY_ALIGN((A),sizeof(double)) #define ALIGN_SIZE(A) MY_ALIGN((A),sizeof(double))
/* Size to make adressable obj. */ /* Size to make adressable obj. */
#define ALIGN_PTR(A, t) ((t*) MY_ALIGN((A),sizeof(t))) #define ALIGN_PTR(A, t) ((t*) MY_ALIGN((A),sizeof(t)))
/* Offset of field f in structure t */ /* Offset of field f in structure t */
#define OFFSET(t, f) ((size_t)(char *)&((t *)0)->f) #define OFFSET(t, f) ((size_t)(char *)&((t *)0)->f)
#define ADD_TO_PTR(ptr,size,type) (type) ((uchar*) (ptr)+size) #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 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 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 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 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 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 still OK to assume that all instances of the class has the same offsets
for the same members). for the same members).
This is temporary solution which should be removed once File_parser class This is temporary solution which should be removed once File_parser class
and related routines are refactored. and related routines are refactored.
skipping to change at line 1450 skipping to change at line 1461
#endif #endif
#ifndef doubleget #ifndef doubleget
#define doubleget(V,M) memcpy_fixed((uchar*) &V,(uchar*) (M),sizeof(double )) #define doubleget(V,M) memcpy_fixed((uchar*) &V,(uchar*) (M),sizeof(double ))
#define doublestore(T,V) memcpy_fixed((uchar*) (T),(uchar*) &V,sizeof(doubl e)) #define doublestore(T,V) memcpy_fixed((uchar*) (T),(uchar*) &V,sizeof(doubl e))
#endif /* doubleget */ #endif /* doubleget */
#define longlongget(V,M) memcpy_fixed((uchar*) &V,(uchar*) (M),sizeof(ulong long)) #define longlongget(V,M) memcpy_fixed((uchar*) &V,(uchar*) (M),sizeof(ulong long))
#define longlongstore(T,V) memcpy_fixed((uchar*) (T),(uchar*) &V,sizeof(ulo nglong)) #define longlongstore(T,V) memcpy_fixed((uchar*) (T),(uchar*) &V,sizeof(ulo nglong))
#endif /* WORDS_BIGENDIAN */ #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 #ifndef THREAD
#define thread_safe_increment(V,L) (V)++ #define thread_safe_increment(V,L) (V)++
#define thread_safe_decrement(V,L) (V)-- #define thread_safe_decrement(V,L) (V)--
#define thread_safe_add(V,C,L) (V)+=(C) #define thread_safe_add(V,C,L) (V)+=(C)
#define thread_safe_sub(V,C,L) (V)-=(C) #define thread_safe_sub(V,C,L) (V)-=(C)
#define statistic_increment(V,L) (V)++ #define statistic_increment(V,L) (V)++
#define statistic_decrement(V,L) (V)-- #define statistic_decrement(V,L) (V)--
#define statistic_add(V,C,L) (V)+=(C) #define statistic_add(V,C,L) (V)+=(C)
#define statistic_sub(V,C,L) (V)-=(C) #define statistic_sub(V,C,L) (V)-=(C)
#endif #endif
 End of changes. 13 change blocks. 
28 lines changed or deleted 27 lines changed or added


 my_no_pthread.h   my_no_pthread.h 
/* Copyright (C) 2000 MySQL AB /*
Copyright (c) 2000, 2002, 2003, 2006 MySQL AB, 2009 Sun Microsystems, In
c.
Use is subject to license terms.
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation; version 2 of the License. the Free Software Foundation; version 2 of the License.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 US
A */ A
*/
#if !defined(_my_no_pthread_h) && !defined(THREAD) #if !defined(_my_no_pthread_h) && !defined(THREAD)
#define _my_no_pthread_h #define _my_no_pthread_h
/* /*
This block is to access some thread-related type definitions This block is to access some thread-related type definitions
even in builds which do not need thread functions, even in builds which do not need thread functions,
as some variables (based on these types) are declared as some variables (based on these types) are declared
even in non-threaded builds. even in non-threaded builds.
Case in point: 'mf_keycache.c' Case in point: 'mf_keycache.c'
 End of changes. 2 change blocks. 
3 lines changed or deleted 7 lines changed or added


 my_pthread.h   my_pthread.h 
/* Copyright (C) 2000 MySQL AB /* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reser ved.
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation; version 2 of the License. the Free Software Foundation; version 2 of the License.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
skipping to change at line 127 skipping to change at line 127
int pthread_attr_init(pthread_attr_t *connect_att); int pthread_attr_init(pthread_attr_t *connect_att);
int pthread_attr_setstacksize(pthread_attr_t *connect_att,DWORD stack); 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_setprio(pthread_attr_t *connect_att,int priority);
int pthread_attr_destroy(pthread_attr_t *connect_att); int pthread_attr_destroy(pthread_attr_t *connect_att);
int my_pthread_once(my_pthread_once_t *once_control,void (*init_routine)(vo id)); int my_pthread_once(my_pthread_once_t *once_control,void (*init_routine)(vo id));
struct tm *localtime_r(const time_t *timep,struct tm *tmp); struct tm *localtime_r(const time_t *timep,struct tm *tmp);
struct tm *gmtime_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 )*/ void pthread_exit(void *a); /* was #define pthread_exit(A) ExitThread(A )*/
#define ETIMEDOUT 145 /* Win32 doesn't have this */ #ifndef ETIMEDOUT
#define ETIMEDOUT 145 /* Win32 might not have this */
#endif
#define getpid() GetCurrentThreadId() #define getpid() GetCurrentThreadId()
#define HAVE_LOCALTIME_R 1 #define HAVE_LOCALTIME_R 1
#define _REENTRANT 1 #define _REENTRANT 1
#define HAVE_PTHREAD_ATTR_SETSTACKSIZE 1 #define HAVE_PTHREAD_ATTR_SETSTACKSIZE 1
/* /*
Windows has two ways to use thread local storage. The most efficient Windows has two ways to use thread local storage. The most efficient
is using __declspec(thread), but that does not work properly when 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 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 libmysql.dll and libmysqld.dll we define USE_TLS in order to use the
skipping to change at line 269 skipping to change at line 271
int sigwait(sigset_t *setp, int *sigp); /* Use our implement ion */ int sigwait(sigset_t *setp, int *sigp); /* Use our implement ion */
#endif #endif
/* /*
We define my_sigset() and use that instead of the system sigset() so that 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, suc h we can favor an implementation based on sigaction(). On some systems, suc h
as Mac OS X, sigset() results in flags such as SA_RESTART being set, and 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. we want to make sure that no such flags are set.
*/ */
#if defined(HAVE_SIGACTION) && !defined(my_sigset) #if defined(HAVE_SIGACTION) && !defined(my_sigset)
#define my_sigset(A,B) do { struct sigaction l_s; sigset_t l_set; int l_rc; #define my_sigset(A,B) do { struct sigaction l_s; sigset_t l_set;
\ \
IF_DBUG(int l_rc);
\
DBUG_ASSERT((A) != 0); \ DBUG_ASSERT((A) != 0); \
sigemptyset(&l_set); \ sigemptyset(&l_set); \
l_s.sa_handler = (B); \ l_s.sa_handler = (B); \
l_s.sa_mask = l_set; \ l_s.sa_mask = l_set; \
l_s.sa_flags = 0; \ l_s.sa_flags = 0; \
l_rc= sigaction((A), &l_s, (struct sigaction *) NULL);\ IF_DBUG(l_rc=) sigaction((A), &l_s, NULL); \
DBUG_ASSERT(l_rc == 0); \ DBUG_ASSERT(l_rc == 0); \
} while (0) } while (0)
#elif defined(HAVE_SIGSET) && !defined(my_sigset) #elif defined(HAVE_SIGSET) && !defined(my_sigset)
#define my_sigset(A,B) sigset((A),(B)) #define my_sigset(A,B) sigset((A),(B))
#elif !defined(my_sigset) #elif !defined(my_sigset)
#define my_sigset(A,B) signal((A),(B)) #define my_sigset(A,B) signal((A),(B))
#endif #endif
#ifndef my_pthread_setprio #ifndef my_pthread_setprio
#if defined(HAVE_PTHREAD_SETPRIO_NP) /* FSU threads */ #if defined(HAVE_PTHREAD_SETPRIO_NP) /* FSU threads */
skipping to change at line 491 skipping to change at line 494
#endif /* SAFE_MUTEX_DETECT_DESTROY */ #endif /* SAFE_MUTEX_DETECT_DESTROY */
int safe_mutex_init(safe_mutex_t *mp, const pthread_mutexattr_t *attr, int safe_mutex_init(safe_mutex_t *mp, const pthread_mutexattr_t *attr,
const char *file, uint line); const char *file, uint line);
int safe_mutex_lock(safe_mutex_t *mp, my_bool try_lock, const char *file, u int line); int safe_mutex_lock(safe_mutex_t *mp, my_bool try_lock, const char *file, u int line);
int safe_mutex_unlock(safe_mutex_t *mp,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_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, int safe_cond_wait(pthread_cond_t *cond, safe_mutex_t *mp,const char *file,
uint line); uint line);
int safe_cond_timedwait(pthread_cond_t *cond, safe_mutex_t *mp, int safe_cond_timedwait(pthread_cond_t *cond, safe_mutex_t *mp,
struct timespec *abstime, const char *file, uint lin const struct timespec *abstime,
e); const char *file, uint line);
void safe_mutex_global_init(void); void safe_mutex_global_init(void);
void safe_mutex_end(FILE *file); void safe_mutex_end(FILE *file);
/* Wrappers if safe mutex is actually used */ /* Wrappers if safe mutex is actually used */
#ifdef SAFE_MUTEX #ifdef SAFE_MUTEX
#undef pthread_mutex_init #undef pthread_mutex_init
#undef pthread_mutex_lock #undef pthread_mutex_lock
#undef pthread_mutex_unlock #undef pthread_mutex_unlock
#undef pthread_mutex_destroy #undef pthread_mutex_destroy
#undef pthread_mutex_wait #undef pthread_mutex_wait
skipping to change at line 715 skipping to change at line 719
#define THD_LIB_NPTL 2 #define THD_LIB_NPTL 2
#define THD_LIB_LT 4 #define THD_LIB_LT 4
extern uint thd_lib_detected; extern uint thd_lib_detected;
/* /*
thread_safe_xxx functions are for critical statistic or counters. thread_safe_xxx functions are for critical statistic or counters.
The implementation is guaranteed to be thread safe, on all platforms. The implementation is guaranteed to be thread safe, on all platforms.
Note that the calling code should *not* assume the counter is protected Note that the calling code should *not* assume the counter is protected
by the mutex given, as the implementation of these helpers may change by the mutex given, as the implementation of these helpers may change
to use my_atomic operations instead. to use atomic operations instead.
*/ */
/* /*
Warning: Warning:
When compiling without threads, this file is not included. When compiling without threads, this file is not included.
See the *other* declarations of thread_safe_xxx in include/my_global.h See the *other* declarations of thread_safe_xxx in include/my_global.h
Second warning: Second warning:
See include/config-win.h, for yet another implementation. See include/config-win.h, for yet another implementation.
*/ */
 End of changes. 6 change blocks. 
8 lines changed or deleted 12 lines changed or added


 my_sys.h   my_sys.h 
/* Copyright (C) 2000-2003 MySQL AB /* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reser ved.
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation; version 2 of the License. the Free Software Foundation; version 2 of the License.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
skipping to change at line 28 skipping to change at line 28
C_MODE_START C_MODE_START
#ifdef HAVE_AIOWAIT #ifdef HAVE_AIOWAIT
#include <sys/asynch.h> /* Used by record-cache */ #include <sys/asynch.h> /* Used by record-cache */
typedef struct my_aio_result { typedef struct my_aio_result {
aio_result_t result; aio_result_t result;
int pending; int pending;
} my_aio_result; } my_aio_result;
#endif #endif
#ifdef HAVE_VALGRIND
# include <valgrind/memcheck.h>
# define MEM_UNDEFINED(a,len) VALGRIND_MAKE_MEM_UNDEFINED(a,len)
# define MEM_NOACCESS(a,len) VALGRIND_MAKE_MEM_NOACCESS(a,len)
# define MEM_CHECK_ADDRESSABLE(a,len) VALGRIND_CHECK_MEM_IS_ADDRESSABLE(a,l
en)
# define MEM_CHECK_DEFINED(a,len) VALGRIND_CHECK_MEM_IS_DEFINED(a,len)
#else /* HAVE_VALGRIND */
# define MEM_UNDEFINED(a,len) ((void) 0)
# define MEM_NOACCESS(a,len) ((void) 0)
# define MEM_CHECK_ADDRESSABLE(a,len) ((void) 0)
# define MEM_CHECK_DEFINED(a,len) ((void) 0)
#endif /* HAVE_VALGRIND */
#ifndef THREAD #ifndef THREAD
extern int NEAR my_errno; /* Last error in mysys */ extern int NEAR my_errno; /* Last error in mysys */
#else #else
#include <my_pthread.h> #include <my_pthread.h>
#endif #endif
#include <m_ctype.h> /* for CHARSET_INFO */ #include <m_ctype.h> /* for CHARSET_INFO */
#include <stdarg.h> #include <stdarg.h>
#include <typelib.h> #include <typelib.h>
#define MYSYS_PROGRAM_USES_CURSES() { error_handler_hook = my_message_curs es; mysys_uses_curses=1; } #define MYSYS_PROGRAM_USES_CURSES() { error_handler_hook = my_message_curs es; mysys_uses_curses=1; }
#define MYSYS_PROGRAM_DONT_USE_CURSES() { error_handler_hook = my_message_ no_curses; mysys_uses_curses=0;} #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_INIT(name) { my_progname= name; my_init(); }
#define MY_FILE_ERROR ((size_t) -1) #define MY_FILE_ERROR ((size_t) -1)
/* General bitmaps for my_func's */ /* General bitmaps for my_func's */
#define MY_FFNF 1 /* Fatal if file not found */ #define MY_FFNF 1 /* Fatal if file not found */
#define MY_FNABP 2 /* Fatal if not all bytes read/writen */ #define MY_FNABP 2 /* Fatal if not all bytes read/writen */
#define MY_NABP 4 /* Error if not all bytes read/write n */ #define MY_NABP 4 /* Error if not all bytes read/write n */
#define MY_FAE 8 /* Fatal if any error */ #define MY_FAE 8 /* Fatal if any error */
#define MY_WME 16 /* Write message on 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_WAIT_IF_FULL 32 /* Wait and try again if disk full error */
skipping to change at line 143 skipping to change at line 156
/* defines when allocating data */ /* defines when allocating data */
#ifdef SAFEMALLOC #ifdef SAFEMALLOC
#define my_malloc(SZ,FLAG) _mymalloc((SZ), __FILE__, __LINE__, FLAG ) #define my_malloc(SZ,FLAG) _mymalloc((SZ), __FILE__, __LINE__, FLAG )
#define my_malloc_ci(SZ,FLAG) _mymalloc((SZ), sFile, uLine, 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_realloc(PTR,SZ,FLAG) _myrealloc((PTR), (SZ), __FILE__, __LINE__, FLAG )
#define my_checkmalloc() _sanity( __FILE__, __LINE__ ) #define my_checkmalloc() _sanity( __FILE__, __LINE__ )
#define my_free(PTR,FLAG) _myfree((PTR), __FILE__, __LINE__,FLAG) #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_memdup(A,B,C) _my_memdup((A),(B), __FILE__,__LINE__,C)
#define my_strdup(A,C) _my_strdup((A), __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 my_strndup(A,B,C) _my_strndup((A),(B),__FILE__,__LINE__,C)
#define TRASH(A,B) bfill(A, B, 0x8F) #define TRASH(A,B) do { bfill(A, B, 0x8F); MEM_UNDEFINED(A, B); } while (0)
#define QUICK_SAFEMALLOC sf_malloc_quick=1 #define QUICK_SAFEMALLOC sf_malloc_quick=1
#define NORMAL_SAFEMALLOC sf_malloc_quick=0 #define NORMAL_SAFEMALLOC sf_malloc_quick=0
extern uint sf_malloc_prehunc,sf_malloc_endhunc,sf_malloc_quick; extern uint sf_malloc_prehunc,sf_malloc_endhunc,sf_malloc_quick;
extern ulonglong sf_malloc_mem_limit; extern ulonglong sf_malloc_mem_limit;
#define CALLER_INFO_PROTO , const char *sFile, uint uLine #define CALLER_INFO_PROTO , const char *sFile, uint uLine
#define CALLER_INFO , __FILE__, __LINE__ #define CALLER_INFO , __FILE__, __LINE__
#define ORIG_CALLER_INFO , sFile, uLine #define ORIG_CALLER_INFO , sFile, uLine
#else #else
#define my_checkmalloc() #define my_checkmalloc()
skipping to change at line 171 skipping to change at line 184
extern void my_no_flags_free(void *ptr); extern void my_no_flags_free(void *ptr);
extern void *my_memdup(const void *from,size_t length,myf MyFlags); extern void *my_memdup(const void *from,size_t length,myf MyFlags);
extern char *my_strdup(const char *from,myf MyFlags); extern char *my_strdup(const char *from,myf MyFlags);
extern char *my_strndup(const char *from, size_t length, extern char *my_strndup(const char *from, size_t length,
myf MyFlags); myf MyFlags);
/* we do use FG (as a no-op) in below so that a typo on FG is caught */ /* 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 my_free(PTR,FG) ((void)FG,my_no_flags_free(PTR))
#define CALLER_INFO_PROTO /* nothing */ #define CALLER_INFO_PROTO /* nothing */
#define CALLER_INFO /* nothing */ #define CALLER_INFO /* nothing */
#define ORIG_CALLER_INFO /* nothing */ #define ORIG_CALLER_INFO /* nothing */
#define TRASH(A,B) /* nothing */ #define TRASH(A,B) do{MEM_CHECK_ADDRESSABLE(A,B);MEM_UNDEFINED(A,B);} while (0)
#endif #endif
#if defined(ENABLED_DEBUG_SYNC) #if defined(ENABLED_DEBUG_SYNC)
extern void (*debug_sync_C_callback_ptr)(const char *, size_t); extern void (*debug_sync_C_callback_ptr)(const char *, size_t);
#define DEBUG_SYNC_C(_sync_point_name_) do { \ #define DEBUG_SYNC_C(_sync_point_name_) do { \
if (debug_sync_C_callback_ptr != NULL) \ if (debug_sync_C_callback_ptr != NULL) \
(*debug_sync_C_callback_ptr)(STRING_WITH_LEN(_sync_point_name_)); } \ (*debug_sync_C_callback_ptr)(STRING_WITH_LEN(_sync_point_name_)); } \
while(0) while(0)
#else #else
#define DEBUG_SYNC_C(_sync_point_name_) #define DEBUG_SYNC_C(_sync_point_name_)
skipping to change at line 651 skipping to change at line 664
#define my_delete_allow_opened(fname,flags) my_delete((fname),(flags)) #define my_delete_allow_opened(fname,flags) my_delete((fname),(flags))
#endif #endif
#ifndef TERMINATE #ifndef TERMINATE
extern void TERMINATE(FILE *file, uint flag); extern void TERMINATE(FILE *file, uint flag);
#endif #endif
extern void init_glob_errs(void); extern void init_glob_errs(void);
extern void wait_for_free_space(const char *filename, int errors); 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_fopen(const char *FileName,int Flags,myf MyFlags);
extern FILE *my_fdopen(File Filedes,const char *name, int Flags,myf MyFlags ); extern FILE *my_fdopen(File Filedes,const char *name, int Flags,myf MyFlags );
extern FILE *my_freopen(const char *path, const char *mode, FILE *stream);
extern int my_fclose(FILE *fd,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_chsize(File fd,my_off_t newlength, int filler, myf MyFlags);
extern int my_sync(File fd, myf my_flags); 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(const char *dir_name, myf my_flags);
extern int my_sync_dir_by_file(const char *file_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_error _VARARGS((int nr,myf MyFlags, ...));
extern int my_printf_error _VARARGS((uint my_err, const char *format, extern int my_printf_error _VARARGS((uint my_err, const char *format,
myf MyFlags, ...)) myf MyFlags, ...))
ATTRIBUTE_FORMAT(printf, 2, 4); ATTRIBUTE_FORMAT(printf, 2, 4);
extern int my_error_register(const char **errmsgs, int first, int last); extern int my_error_register(const char **errmsgs, int first, int last);
 End of changes. 6 change blocks. 
4 lines changed or deleted 19 lines changed or added


 mysql.h   mysql.h 
/* Copyright (C) 2000-2003 MySQL AB /*
Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reser
ved.
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation; version 2 of the License. the Free Software Foundation; version 2 of the License.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 US
A */ A
*/
/* /*
This file defines the client API to MySQL and also the ABI of the This file defines the client API to MySQL and also the ABI of the
dynamically linked libmysqlclient. dynamically linked libmysqlclient.
The ABI should never be changed in a released product of MySQL 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 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 the file is changed so the ABI is broken, you must also
update the SHAREDLIB_MAJOR_VERSION in configure.in . update the SHAREDLIB_MAJOR_VERSION in configure.in .
skipping to change at line 47 skipping to change at line 49
#undef _WIN32 #undef _WIN32
#undef _WIN64 #undef _WIN64
#undef __WIN__ #undef __WIN__
#endif #endif
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
#ifndef _global_h /* If not standard header */ #ifndef _global_h /* If not standard header */
#ifndef MYSQL_ABI_CHECK
#include <sys/types.h> #include <sys/types.h>
#endif
#ifdef __LCC__ #ifdef __LCC__
#include <winsock2.h> /* For windows */ #include <winsock2.h> /* For windows */
#endif #endif
typedef char my_bool; typedef char my_bool;
#if (defined(_WIN32) || defined(_WIN64)) && !defined(__WIN__) #if (defined(_WIN32) || defined(_WIN64)) && !defined(__WIN__)
#define __WIN__ #define __WIN__
#endif #endif
#if !defined(__WIN__) #if !defined(__WIN__)
#define STDCALL #define STDCALL
#else #else
skipping to change at line 224 skipping to change at line 228
int (*local_infile_init)(void **, const char *, void *); int (*local_infile_init)(void **, const char *, void *);
int (*local_infile_read)(void *, char *, unsigned int); int (*local_infile_read)(void *, char *, unsigned int);
void (*local_infile_end)(void *); void (*local_infile_end)(void *);
int (*local_infile_error)(void *, char *, unsigned int); int (*local_infile_error)(void *, char *, unsigned int);
void *local_infile_userdata; void *local_infile_userdata;
void *extension; void *extension;
}; };
enum mysql_status enum mysql_status
{ {
MYSQL_STATUS_READY,MYSQL_STATUS_GET_RESULT,MYSQL_STATUS_USE_RESULT MYSQL_STATUS_READY, MYSQL_STATUS_GET_RESULT, MYSQL_STATUS_USE_RESULT,
MYSQL_STATUS_STATEMENT_GET_RESULT
}; };
enum mysql_protocol_type enum mysql_protocol_type
{ {
MYSQL_PROTOCOL_DEFAULT, MYSQL_PROTOCOL_TCP, MYSQL_PROTOCOL_SOCKET, MYSQL_PROTOCOL_DEFAULT, MYSQL_PROTOCOL_TCP, MYSQL_PROTOCOL_SOCKET,
MYSQL_PROTOCOL_PIPE, MYSQL_PROTOCOL_MEMORY MYSQL_PROTOCOL_PIPE, MYSQL_PROTOCOL_MEMORY
}; };
/* /*
There are three types of queries - the ones that have to go to 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 the master, the ones that go to a slave, and the adminstrative
 End of changes. 5 change blocks. 
4 lines changed or deleted 10 lines changed or added


 mysql_com.h   mysql_com.h 
/* Copyright (C) 2000 MySQL AB /* Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reser ved.
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation; version 2 of the License. the Free Software Foundation; version 2 of the License.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 mysql_embed.h   mysql_embed.h 
/* Copyright (C) 2000 MySQL AB /*
Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reser
ved.
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation; version 2 of the License. the Free Software Foundation; version 2 of the License.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 US
A */ A
*/
/* Defines that are unique to the embedded version of MySQL */ /* Defines that are unique to the embedded version of MySQL */
#ifdef EMBEDDED_LIBRARY #ifdef EMBEDDED_LIBRARY
/* Things we don't need in the embedded version of MySQL */ /* 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 */ /* 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_OPENSSL
#undef HAVE_SMEM /* No shared memory */ #undef HAVE_SMEM /* No shared memory */
#undef HAVE_NDBCLUSTER_DB /* No NDB cluster */ #undef HAVE_NDBCLUSTER_DB /* No NDB cluster */
#define DONT_USE_RAID #define DONT_USE_RAID
#endif /* EMBEDDED_LIBRARY */ #endif /* EMBEDDED_LIBRARY */
 End of changes. 3 change blocks. 
4 lines changed or deleted 6 lines changed or added


 mysql_version.h   mysql_version.h 
skipping to change at line 12 skipping to change at line 12
This file is public domain and comes with NO WARRANTY of any kind */ This file is public domain and comes with NO WARRANTY of any kind */
/* Version numbers for protocol & mysqld */ /* Version numbers for protocol & mysqld */
#ifndef _mysql_version_h #ifndef _mysql_version_h
#define _mysql_version_h #define _mysql_version_h
#ifdef _CUSTOMCONFIG_ #ifdef _CUSTOMCONFIG_
#include <custom_conf.h> #include <custom_conf.h>
#else #else
#define PROTOCOL_VERSION 10 #define PROTOCOL_VERSION 10
#define MYSQL_SERVER_VERSION "5.1.47" #define MYSQL_SERVER_VERSION "5.1.67"
#define MYSQL_BASE_VERSION "mysqld-5.1" #define MYSQL_BASE_VERSION "mysqld-5.1"
#define MYSQL_SERVER_SUFFIX_DEF "" #define MYSQL_SERVER_SUFFIX_DEF ""
#define FRM_VER 6 #define FRM_VER 6
#define MYSQL_VERSION_ID 50147 #define MYSQL_VERSION_ID 50167
#define MYSQL_PORT 3306 #define MYSQL_PORT 3306
#define MYSQL_PORT_DEFAULT 0 #define MYSQL_PORT_DEFAULT 0
#define MYSQL_UNIX_ADDR "/tmp/mysql.sock" #define MYSQL_UNIX_ADDR "/tmp/mysql.sock"
#define MYSQL_CONFIG_NAME "my" #define MYSQL_CONFIG_NAME "my"
#define MYSQL_COMPILATION_COMMENT "Source distribution" #define MYSQL_COMPILATION_COMMENT "Source distribution"
/* mysqld compile time options */ /* mysqld compile time options */
#endif /* _CUSTOMCONFIG_ */ #endif /* _CUSTOMCONFIG_ */
#ifndef LICENSE #ifndef LICENSE
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 plugin.h   plugin.h 
/* Copyright (C) 2005 MySQL AB /*
Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reser
ved.
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation; version 2 of the License. the Free Software Foundation; version 2 of the License.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 US
A */ A
*/
#ifndef _my_plugin_h #ifndef _my_plugin_h
#define _my_plugin_h #define _my_plugin_h
/* /*
On Windows, exports from DLL need to be declared On Windows, exports from DLL need to be declared
*/ */
#if (defined(_WIN32) && defined(MYSQL_DYNAMIC_PLUGIN)) #if (defined(_WIN32) && defined(MYSQL_DYNAMIC_PLUGIN))
#define MYSQL_PLUGIN_EXPORT extern "C" __declspec(dllexport) #define MYSQL_PLUGIN_EXPORT extern "C" __declspec(dllexport)
#else #else
 End of changes. 2 change blocks. 
3 lines changed or deleted 6 lines changed or added


 readline.h   readline.h 
/* $NetBSD: readline.h,v 1.24 2009/02/05 19:15:26 christos Exp $ */ /* $NetBSD: readline.h,v 1.32 2010/09/16 20:08:52 christos Exp $ */
/*- /*-
* Copyright (c) 1997 The NetBSD Foundation, Inc. * Copyright (c) 1997 The NetBSD Foundation, Inc.
* All rights reserved. * All rights reserved.
* *
* This code is derived from software contributed to The NetBSD Foundation * This code is derived from software contributed to The NetBSD Foundation
* by Jaromir Dolecek. * by Jaromir Dolecek.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions * modification, are permitted provided that the following conditions
skipping to change at line 35 skipping to change at line 35
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF T HE * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF T HE
* POSSIBILITY OF SUCH DAMAGE. * POSSIBILITY OF SUCH DAMAGE.
*/ */
#ifndef _READLINE_H_ #ifndef _READLINE_H_
#define _READLINE_H_ #define _READLINE_H_
#include <sys/types.h> #include <sys/types.h>
#include <stdio.h>
/* list of readline stuff supported by editline library's readline wrapper */ /* list of readline stuff supported by editline library's readline wrapper */
/* typedefs */ /* typedefs */
typedef int Function(const char *, int); typedef int Function(const char *, int);
typedef void VFunction(void); typedef void VFunction(void);
typedef void VCPFunction(char *); typedef void VCPFunction(char *);
typedef char *CPFunction(const char *, int); typedef char *CPFunction(const char *, int);
typedef char **CPPFunction(const char *, int, int); typedef char **CPPFunction(const char *, int, int);
typedef char *rl_compentry_func_t(const char *, int); typedef char *rl_compentry_func_t(const char *, int);
typedef int rl_command_func_t(int, int);
/* only supports length */
typedef struct {
int length;
} HISTORY_STATE;
typedef void *histdata_t;
typedef struct _hist_entry { typedef struct _hist_entry {
const char *line; const char *line;
const char *data; histdata_t data;
} HIST_ENTRY; } HIST_ENTRY;
typedef struct _keymap_entry { typedef struct _keymap_entry {
char type; char type;
#define ISFUNC 0 #define ISFUNC 0
#define ISKMAP 1 #define ISKMAP 1
#define ISMACR 2 #define ISMACR 2
Function *function; Function *function;
} KEYMAP_ENTRY; } KEYMAP_ENTRY;
skipping to change at line 82 skipping to change at line 91
#ifndef CTRL #ifndef CTRL
#define CTRL(c) ((c) & 037) #define CTRL(c) ((c) & 037)
#endif #endif
#endif #endif
#ifndef UNCTRL #ifndef UNCTRL
#define UNCTRL(c) (((c) - 'a' + 'A')|control_character_bit) #define UNCTRL(c) (((c) - 'a' + 'A')|control_character_bit)
#endif #endif
#define RUBOUT 0x7f #define RUBOUT 0x7f
#define ABORT_CHAR CTRL('G') #define ABORT_CHAR CTRL('G')
#define RL_READLINE_VERSION 0x0402
#define RL_PROMPT_START_IGNORE '\1'
#define RL_PROMPT_END_IGNORE '\2'
/* global variables used by readline enabled applications */ /* global variables used by readline enabled applications */
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
extern const char *rl_library_version; extern const char *rl_library_version;
extern int rl_readline_version;
extern char *rl_readline_name; extern char *rl_readline_name;
extern FILE *rl_instream; extern FILE *rl_instream;
extern FILE *rl_outstream; extern FILE *rl_outstream;
extern char *rl_line_buffer; extern char *rl_line_buffer;
extern int rl_point, rl_end; extern int rl_point, rl_end;
extern int history_base, history_length; extern int history_base, history_length;
extern int max_input_history; extern int max_input_history;
extern char *rl_basic_word_break_characters; extern char *rl_basic_word_break_characters;
extern char *rl_completer_word_break_characters; extern char *rl_completer_word_break_characters;
extern char *rl_completer_quote_characters; extern char *rl_completer_quote_characters;
skipping to change at line 141 skipping to change at line 154
void using_history(void); void using_history(void);
int add_history(const char *); int add_history(const char *);
void clear_history(void); void clear_history(void);
void stifle_history(int); void stifle_history(int);
int unstifle_history(void); int unstifle_history(void);
int history_is_stifled(void); int history_is_stifled(void);
int where_history(void); int where_history(void);
HIST_ENTRY *current_history(void); HIST_ENTRY *current_history(void);
HIST_ENTRY *history_get(int); HIST_ENTRY *history_get(int);
HIST_ENTRY *remove_history(int); HIST_ENTRY *remove_history(int);
HIST_ENTRY *replace_history_entry(int, const char *, histdata_t);
int history_total_bytes(void); int history_total_bytes(void);
int history_set_pos(int); int history_set_pos(int);
HIST_ENTRY *previous_history(void); HIST_ENTRY *previous_history(void);
HIST_ENTRY *next_history(void); HIST_ENTRY *next_history(void);
int history_search(const char *, int); int history_search(const char *, int);
int history_search_prefix(const char *, int); int history_search_prefix(const char *, int);
int history_search_pos(const char *, int, int); int history_search_pos(const char *, int, int);
int read_history(const char *); int read_history(const char *);
int write_history(const char *); int write_history(const char *);
int history_truncate_file (const char *, int);
int history_expand(char *, char **); int history_expand(char *, char **);
char **history_tokenize(const char *); char **history_tokenize(const char *);
const char *get_history_event(const char *, int *, int); const char *get_history_event(const char *, int *, int);
char *history_arg_extract(int, int, const char *); char *history_arg_extract(int, int, const char *);
char *tilde_expand(char *); char *tilde_expand(char *);
char *filename_completion_function(const char *, int); char *filename_completion_function(const char *, int);
char *username_completion_function(const char *, int); char *username_completion_function(const char *, int);
int rl_complete(int, int); int rl_complete(int, int);
int rl_read_key(void); int rl_read_key(void);
char **completion_matches(const char *, CPFunction *); char **completion_matches(const char *, CPFunction *);
void rl_display_match_list(char **, int, int); void rl_display_match_list(char **, int, int);
int rl_insert(int, int); int rl_insert(int, int);
int rl_insert_text(const char *);
void rl_reset_terminal(const char *); void rl_reset_terminal(const char *);
int rl_bind_key(int, int (*)(int, int)); int rl_bind_key(int, rl_command_func_t *);
int rl_newline(int, int); int rl_newline(int, int);
void rl_callback_read_char(void); void rl_callback_read_char(void);
void rl_callback_handler_install(const char *, VCPFunction *); void rl_callback_handler_install(const char *, VCPFunction *);
void rl_callback_handler_remove(void); void rl_callback_handler_remove(void);
void rl_redisplay(void); void rl_redisplay(void);
int rl_get_previous_history(int, int); int rl_get_previous_history(int, int);
void rl_prep_terminal(int); void rl_prep_terminal(int);
void rl_deprep_terminal(void); void rl_deprep_terminal(void);
int rl_read_init_file(const char *); int rl_read_init_file(const char *);
int rl_parse_and_bind(const char *); int rl_parse_and_bind(const char *);
int rl_variable_bind(const char *, const char *); int rl_variable_bind(const char *, const char *);
void rl_stuff_char(int); void rl_stuff_char(int);
int rl_add_defun(const char *, Function *, int); int rl_add_defun(const char *, Function *, int);
HISTORY_STATE *history_get_history_state(void);
void rl_get_screen_size(int *, int *); void rl_get_screen_size(int *, int *);
void rl_set_screen_size(int, int); void rl_set_screen_size(int, int);
char *rl_filename_completion_function (const char *, int); char *rl_filename_completion_function (const char *, int);
int _rl_abort_internal(void); int _rl_abort_internal(void);
int _rl_qsort_string_compare(char **, char **); int _rl_qsort_string_compare(char **, char **);
char **rl_completion_matches(const char *, rl_compentry_func_t *); char **rl_completion_matches(const char *, rl_compentry_func_t *);
void rl_forced_update_display(void); void rl_forced_update_display(void);
int rl_set_prompt(const char *); int rl_set_prompt(const char *);
int rl_on_new_line(void);
/* /*
* The following are not implemented * The following are not implemented
*/ */
int rl_kill_text(int, int); int rl_kill_text(int, int);
Keymap rl_get_keymap(void); Keymap rl_get_keymap(void);
void rl_set_keymap(Keymap); void rl_set_keymap(Keymap);
Keymap rl_make_bare_keymap(void); Keymap rl_make_bare_keymap(void);
int rl_generic_bind(int, const char *, const char *, Keymap); int rl_generic_bind(int, const char *, const char *, Keymap);
int rl_bind_key_in_map(int, Function *, Keymap); int rl_bind_key_in_map(int, rl_command_func_t *, Keymap);
void rl_cleanup_after_signal(void);
void rl_free_line_state(void);
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif /* _READLINE_H_ */ #endif /* _READLINE_H_ */
 End of changes. 13 change blocks. 
4 lines changed or deleted 24 lines changed or added


 sql_common.h   sql_common.h 
/* Copyright (C) 2003-2004, 2006 MySQL AB /*
Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reser
ved.
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation; version 2 of the License. the Free Software Foundation; version 2 of the License.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
skipping to change at line 25 skipping to change at line 26
extern const char *unknown_sqlstate; extern const char *unknown_sqlstate;
extern const char *cant_connect_sqlstate; extern const char *cant_connect_sqlstate;
extern const char *not_error_sqlstate; extern const char *not_error_sqlstate;
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
extern CHARSET_INFO *default_client_charset_info; extern CHARSET_INFO *default_client_charset_info;
MYSQL_FIELD *unpack_fields(MYSQL_DATA *data,MEM_ROOT *alloc,uint fields, MYSQL_FIELD *unpack_fields(MYSQL *mysql, MYSQL_DATA *data,MEM_ROOT *alloc,
my_bool default_value, uint server_capabilities); uint fields, my_bool default_value,
uint server_capabilities);
void free_rows(MYSQL_DATA *cur); void free_rows(MYSQL_DATA *cur);
void free_old_query(MYSQL *mysql); void free_old_query(MYSQL *mysql);
void end_server(MYSQL *mysql); void end_server(MYSQL *mysql);
my_bool mysql_reconnect(MYSQL *mysql); my_bool mysql_reconnect(MYSQL *mysql);
void mysql_read_default_options(struct st_mysql_options *options, void mysql_read_default_options(struct st_mysql_options *options,
const char *filename,const char *group); const char *filename,const char *group);
my_bool my_bool
cli_advanced_command(MYSQL *mysql, enum enum_server_command command, cli_advanced_command(MYSQL *mysql, enum enum_server_command command,
const unsigned char *header, ulong header_length, const unsigned char *header, ulong header_length,
const unsigned char *arg, ulong arg_length, const unsigned char *arg, ulong arg_length,
 End of changes. 2 change blocks. 
3 lines changed or deleted 6 lines changed or added


 sslopt-longopts.h   sslopt-longopts.h 
/* Copyright (C) 2000 MySQL AB /*
Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reser
ved.
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation; version 2 of the License. the Free Software Foundation; version 2 of the License.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 US
A */ A
*/
#ifdef HAVE_OPENSSL #ifdef HAVE_OPENSSL
{"ssl", OPT_SSL_SSL, {"ssl", OPT_SSL_SSL,
"Enable SSL for connection (automatically enabled with other flags). Dis "Enable SSL for connection (automatically enabled with other flags)."
able with --skip-ssl.", "Disable with --skip-ssl.", &opt_use_ssl, &opt_use_ssl, 0, GET_BOOL,
(uchar **) &opt_use_ssl, (uchar **) &opt_use_ssl, 0, GET_BOOL, NO_ARG, 0, NO_ARG, 0, 0, 0, 0, 0, 0},
0, 0,
0, 0, 0},
{"ssl-ca", OPT_SSL_CA, {"ssl-ca", OPT_SSL_CA,
"CA file in PEM format (check OpenSSL docs, implies --ssl).", "CA file in PEM format (check OpenSSL docs, implies --ssl).",
(uchar **) &opt_ssl_ca, (uchar **) &opt_ssl_ca, 0, GET_STR, REQUIRED_ARG , &opt_ssl_ca, &opt_ssl_ca, 0, GET_STR, REQUIRED_ARG,
0, 0, 0, 0, 0, 0}, 0, 0, 0, 0, 0, 0},
{"ssl-capath", OPT_SSL_CAPATH, {"ssl-capath", OPT_SSL_CAPATH,
"CA directory (check OpenSSL docs, implies --ssl).", "CA directory (check OpenSSL docs, implies --ssl).",
(uchar **) &opt_ssl_capath, (uchar **) &opt_ssl_capath, 0, GET_STR, REQU IRED_ARG, &opt_ssl_capath, &opt_ssl_capath, 0, GET_STR, REQUIRED_ARG,
0, 0, 0, 0, 0, 0}, 0, 0, 0, 0, 0, 0},
{"ssl-cert", OPT_SSL_CERT, "X509 cert in PEM format (implies --ssl).", {"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, &opt_ssl_cert, &opt_ssl_cert, 0, GET_STR, REQUIRED_ARG,
0, 0, 0, 0, 0, 0}, 0, 0, 0, 0, 0, 0},
{"ssl-cipher", OPT_SSL_CIPHER, "SSL cipher to use (implies --ssl).", {"ssl-cipher", OPT_SSL_CIPHER, "SSL cipher to use (implies --ssl).",
(uchar **) &opt_ssl_cipher, (uchar **) &opt_ssl_cipher, 0, GET_STR, REQU IRED_ARG, &opt_ssl_cipher, &opt_ssl_cipher, 0, GET_STR, REQUIRED_ARG,
0, 0, 0, 0, 0, 0}, 0, 0, 0, 0, 0, 0},
{"ssl-key", OPT_SSL_KEY, "X509 key in PEM format (implies --ssl).", {"ssl-key", OPT_SSL_KEY, "X509 key in PEM format (implies --ssl).",
(uchar **) &opt_ssl_key, (uchar **) &opt_ssl_key, 0, GET_STR, REQUIRED_A RG, &opt_ssl_key, &opt_ssl_key, 0, GET_STR, REQUIRED_ARG,
0, 0, 0, 0, 0, 0}, 0, 0, 0, 0, 0, 0},
#ifdef MYSQL_CLIENT #ifdef MYSQL_CLIENT
{"ssl-verify-server-cert", OPT_SSL_VERIFY_SERVER_CERT, {"ssl-verify-server-cert", OPT_SSL_VERIFY_SERVER_CERT,
"Verify server's \"Common Name\" in its cert against hostname used when "Verify server's \"Common Name\" in its cert against hostname used "
connecting. This option is disabled by default.", "when connecting. This option is disabled by default.",
(uchar **) &opt_ssl_verify_server_cert, (uchar **) &opt_ssl_verify_serve &opt_ssl_verify_server_cert, &opt_ssl_verify_server_cert,
r_cert,
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0}, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
#endif #endif
#endif /* HAVE_OPENSSL */ #endif /* HAVE_OPENSSL */
 End of changes. 9 change blocks. 
17 lines changed or deleted 17 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/