• mysql-5.5.32-android.patch.v1



    https://github.com/kitech/android-nmp/blob/master/mysql-5.5.32-android.patch.v1


    diff --git a/CMakeLists.txt b/CMakeLists.txt
    index 5ba6611..da03b31 100644
    --- a/CMakeLists.txt
    +++ b/CMakeLists.txt
    @@ -266,7 +266,7 @@ MYSQL_CHECK_ZLIB_WITH_COMPRESS()
     # Optionally add bundled yassl/taocrypt or system openssl.
     MYSQL_CHECK_SSL()
     # Add readline or libedit.
    -MYSQL_CHECK_READLINE()
    +# MYSQL_CHECK_READLINE()
     
     #
     # Setup maintainer mode options by the end. Platform checks are
    diff --git a/client/mysql.cc b/client/mysql.cc
    index 5deb978..d04217b 100644
    --- a/client/mysql.cc
    +++ b/client/mysql.cc
    @@ -2439,6 +2439,7 @@ static void initialize_readline (char *name)
       /* Allow conditional parsing of the ~/.inputrc file. */
       rl_readline_name = name;
     
    +#define USE_NEW_READLINE_INTERFACE 1
       /* Tell the completer that we want a crack first. */
     #if defined(USE_NEW_READLINE_INTERFACE)
       rl_attempted_completion_function= (rl_completion_func_t*)&new_mysql_completion;
    diff --git a/include/m_string.h b/include/m_string.h
    index bb76d92..7887de3 100644
    --- a/include/m_string.h
    +++ b/include/m_string.h
    @@ -270,11 +270,11 @@ static inline const uchar *skip_trailing_space(const uchar *ptr,size_t len)
       if (len > 20)
       {
         const uchar *end_words= (const uchar *)(intptr)
    -      (((ulonglong)(intptr)end) / SIZEOF_INT * SIZEOF_INT);
    +      (((ulonglong)(int*)end) / SIZEOF_INT * SIZEOF_INT);
         const uchar *start_words= (const uchar *)(intptr)
    -       ((((ulonglong)(intptr)ptr) + SIZEOF_INT - 1) / SIZEOF_INT * SIZEOF_INT);
    +       ((((ulonglong)(int*)ptr) + SIZEOF_INT - 1) / SIZEOF_INT * SIZEOF_INT);
     
    -    DBUG_ASSERT(((ulonglong)(intptr)ptr) >= SIZEOF_INT);
    +    DBUG_ASSERT(((ulonglong)(int*)ptr) >= SIZEOF_INT);
         if (end_words > ptr)
         {
           while (end > end_words && end[-1] == 0x20)
    diff --git a/include/my_dir.h b/include/my_dir.h
    index 1ee002c..b22f8ac 100644
    --- a/include/my_dir.h
    +++ b/include/my_dir.h
    @@ -36,7 +36,8 @@ extern "C" {
     #define MY_S_ISGID	S_ISGID /* set group id on execution */
     #define MY_S_ISVTX	S_ISVTX /* save swapped text even after use */
     #define MY_S_IREAD	S_IREAD /* read permission, owner */
    -#define MY_S_IWRITE	S_IWRITE	/* write permission, owner */
    +    // #define MY_S_IWRITE	S_IWRITE	/* write permission, owner */
    +#define MY_S_IWRITE	00200	/* write permission, owner */
     #define MY_S_IEXEC	S_IEXEC /* execute/search permission, owner */
     
     #define MY_S_ISDIR(m)	(((m) & MY_S_IFMT) == MY_S_IFDIR)
    diff --git a/include/my_global.h b/include/my_global.h
    index 85f2078..53b251d 100644
    --- a/include/my_global.h
    +++ b/include/my_global.h
    @@ -1395,7 +1395,7 @@ do { doubleget_union _tmp; 
      *  Include standard definitions of operator new and delete.
      */
     #ifdef __cplusplus
    -#include <new>
    +// #include <new>
     #endif
     
     /* Length of decimal number represented by INT32. */
    diff --git a/include/myisam.h b/include/myisam.h
    index dc9eac8..f571487 100644
    --- a/include/myisam.h
    +++ b/include/myisam.h
    @@ -252,7 +252,7 @@ extern char * myisam_log_filename;		/* Name of logfile */
     extern ulong myisam_block_size;
     extern ulong myisam_concurrent_insert;
     extern my_bool myisam_flush,myisam_delay_key_write,myisam_single_user;
    -extern my_off_t myisam_max_temp_length;
    +extern ulonglong myisam_max_temp_length;
     extern ulong myisam_data_pointer_size;
     
     /* usually used to check if a symlink points into the mysql data home */
    diff --git a/libmysql/libmysql.c b/libmysql/libmysql.c
    index a6bb617..fcb1628 100644
    --- a/libmysql/libmysql.c
    +++ b/libmysql/libmysql.c
    @@ -67,6 +67,7 @@
     ulong 		net_buffer_length=8192;
     ulong		max_allowed_packet= 1024L*1024L*1024L;
     
    +#define ushort unsigned short
     
     #ifdef EMBEDDED_LIBRARY
     #undef net_flush
    diff --git a/mysys/my_lib.c b/mysys/my_lib.c
    index 71969f2..a36c0b9 100644
    --- a/mysys/my_lib.c
    +++ b/mysys/my_lib.c
    @@ -151,7 +151,7 @@ MY_DIR	*my_dir(const char *path, myf MyFlags)
           bzero(finfo.mystat, sizeof(MY_STAT));
           (void) strmov(tmp_file,dp->d_name);
           (void) my_stat(tmp_path, finfo.mystat, MyFlags);
    -      if (!(finfo.mystat->st_mode & MY_S_IREAD))
    +      if (!(finfo.mystat->st_mode & 0))
             continue;
         }
         else
    diff --git a/plugin/daemon_example/daemon_example.cc b/plugin/daemon_example/daemon_example.cc
    index ac4841b..f545ea2 100644
    --- a/plugin/daemon_example/daemon_example.cc
    +++ b/plugin/daemon_example/daemon_example.cc
    @@ -161,7 +161,7 @@ static int daemon_example_plugin_deinit(void *p)
       time_t result= time(NULL);
       struct tm tm_tmp;
     
    -  pthread_cancel(con->heartbeat_thread);
    +  // pthread_cancel(con->heartbeat_thread);
     
       localtime_r(&result, &tm_tmp);
       my_snprintf(buffer, sizeof(buffer),
    diff --git a/sql-common/client.c b/sql-common/client.c
    index 1e98ead..5fbfc2a 100644
    --- a/sql-common/client.c
    +++ b/sql-common/client.c
    @@ -115,6 +115,8 @@ my_bool	net_flush(NET *net);
     #define old_password_plugin_name    "mysql_old_password"
     
     
    +#define ushort unsigned short
    +
     uint		mysql_port=0;
     char		*mysql_unix_port= 0;
     const char	*unknown_sqlstate= "HY000";
    diff --git a/sql-common/client_plugin.c b/sql-common/client_plugin.c
    index 75faeb7..b1b170a 100644
    --- a/sql-common/client_plugin.c
    +++ b/sql-common/client_plugin.c
    @@ -248,8 +248,8 @@ int mysql_client_plugin_init()
     
       pthread_mutex_lock(&LOCK_load_client_plugin);
     
    -  for (builtin= mysql_client_builtins; *builtin; builtin++)
    -    add_plugin(&mysql, *builtin, 0, 0, 0);
    +  for (builtin= mysql_client_builtins; *builtin; builtin++) {}
    +  //      add_plugin(&mysql, *builtin, 0, 0, (va_list)0);
     
       pthread_mutex_unlock(&LOCK_load_client_plugin);
     
    @@ -306,8 +306,8 @@ mysql_client_register_plugin(MYSQL *mysql,
                                  plugin->name, "it is already loaded");
         plugin= NULL;
       }
    -  else
    -    plugin= add_plugin(mysql, plugin, 0, 0, 0);
    +  else {}
    +  //      plugin= add_plugin(mysql, plugin, 0, 0, (va_list)0);
     
       pthread_mutex_unlock(&LOCK_load_client_plugin);
       return plugin;
    diff --git a/sql/field.cc b/sql/field.cc
    index 749d5d8..fc4e9f1 100644
    --- a/sql/field.cc
    +++ b/sql/field.cc
    @@ -4283,6 +4283,7 @@ void Field_float::sort_string(uchar *to,uint length __attribute__((unused)))
         }
         else
         {
    +        #define ushort unsigned short
           ushort exp_part=(((ushort) tmp[0] << 8) | (ushort) tmp[1] |
     		       (ushort) 32768);
           exp_part+= (ushort) 1 << (16-1-FLT_EXP_DIG);
    diff --git a/sql/filesort.cc b/sql/filesort.cc
    index e829721..c2d2034 100644
    --- a/sql/filesort.cc
    +++ b/sql/filesort.cc
    @@ -1708,6 +1708,7 @@ void change_double_for_sort(double nr,uchar *to)
         }
         else
         {					/* Set high and move exponent one up */
    +        #define ushort unsigned short
           ushort exp_part=(((ushort) tmp[0] << 8) | (ushort) tmp[1] |
     		       (ushort) 32768);
           exp_part+= (ushort) 1 << (16-1-DBL_EXP_DIG);
    diff --git a/sql/item_sum.cc b/sql/item_sum.cc
    index e194907..211a839 100644
    --- a/sql/item_sum.cc
    +++ b/sql/item_sum.cc
    @@ -3066,6 +3066,7 @@ Item_func_group_concat(Name_resolution_context *context_arg,
       memcpy(orig_args, args, sizeof(Item*) * arg_count);
     }
     
    +// #include <new>
     
     Item_func_group_concat::Item_func_group_concat(THD *thd,
                                                    Item_func_group_concat *item)
    @@ -3108,7 +3109,7 @@ Item_func_group_concat::Item_func_group_concat(THD *thd,
           It's also necessary to update ORDER::next pointer
           so that it points to new ORDER element.
         */
    -    new (tmp) st_order(*(item->order[i])); 
    +    // new (tmp) st_order(*(item->order[i])); 
         tmp->next= (i + 1 == arg_count_order) ? NULL : (tmp + 1);
         order[i]= tmp;
       }
    diff --git a/sql/log.cc b/sql/log.cc
    index a5e99f3..2e667ff 100644
    --- a/sql/log.cc
    +++ b/sql/log.cc
    @@ -4620,6 +4620,7 @@ int THD::binlog_setup_trx_data()
       }
       thd_set_ha_data(this, binlog_hton, cache_mngr);
     
    +  /*
       cache_mngr= new (thd_get_ha_data(this, binlog_hton))
                   binlog_cache_mngr(max_binlog_stmt_cache_size,
                                     max_binlog_cache_size,
    @@ -4627,6 +4628,7 @@ int THD::binlog_setup_trx_data()
                                     &binlog_stmt_cache_disk_use,
                                     &binlog_cache_use,
                                     &binlog_cache_disk_use);
    +  */
       DBUG_RETURN(0);
     }
     
    diff --git a/sql/log_event.cc b/sql/log_event.cc
    index d2682a3..d040184 100644
    --- a/sql/log_event.cc
    +++ b/sql/log_event.cc
    @@ -8793,10 +8793,12 @@ int Table_map_log_event::do_apply_event(Relay_log_info const *rli)
           inside Relay_log_info::clear_tables_to_lock() by calling the
           table_def destructor explicitly.
         */
    +    /*
         new (&table_list->m_tabledef)
           table_def(m_coltype, m_colcnt,
                     m_field_metadata, m_field_metadata_size,
                     m_null_bits, m_flags);
    +    */
         table_list->m_tabledef_valid= TRUE;
         table_list->m_conv_table= NULL;
         table_list->open_type= OT_BASE_ONLY;
    diff --git a/sql/mem_root_array.h b/sql/mem_root_array.h
    index 9dc9638..a314707 100644
    --- a/sql/mem_root_array.h
    +++ b/sql/mem_root_array.h
    @@ -123,7 +123,7 @@ public:
         {
           Element_type *new_p= &array[ix];
           Element_type *old_p= &m_array[ix];
    -      new (new_p) Element_type(*old_p);         // Copy into new location.
    +      // new (new_p) Element_type(*old_p);         // Copy into new location.
           if (!has_trivial_destructor)
             old_p->~Element_type();                 // Destroy the old element.
         }
    @@ -151,7 +151,7 @@ public:
         if (m_size == m_capacity && reserve(m_capacity * expansion_factor))
           return true;
         Element_type *p= &m_array[m_size++];
    -    new (p) Element_type(element);
    +    // new (p) Element_type(element);
         return false;
       }
     
    diff --git a/sql/rpl_handler.cc b/sql/rpl_handler.cc
    index c784001..8ca0fb3 100644
    --- a/sql/rpl_handler.cc
    +++ b/sql/rpl_handler.cc
    @@ -102,7 +102,7 @@ int delegates_init()
       void *place_trans_mem= trans_mem.data;
       void *place_storage_mem= storage_mem.data;
     
    -  transaction_delegate= new (place_trans_mem) Trans_delegate;
    +  // transaction_delegate= new (place_trans_mem) Trans_delegate;
     
       if (!transaction_delegate->is_inited())
       {
    @@ -111,7 +111,7 @@ int delegates_init()
         return 1;
       }
     
    -  binlog_storage_delegate= new (place_storage_mem) Binlog_storage_delegate;
    +  // binlog_storage_delegate= new (place_storage_mem) Binlog_storage_delegate;
     
       if (!binlog_storage_delegate->is_inited())
       {
    @@ -124,7 +124,7 @@ int delegates_init()
       void *place_transmit_mem= transmit_mem.data;
       void *place_relay_io_mem= relay_io_mem.data;
     
    -  binlog_transmit_delegate= new (place_transmit_mem) Binlog_transmit_delegate;
    +  // binlog_transmit_delegate= new (place_transmit_mem) Binlog_transmit_delegate;
     
       if (!binlog_transmit_delegate->is_inited())
       {
    @@ -133,7 +133,7 @@ int delegates_init()
         return 1;
       }
     
    -  binlog_relay_io_delegate= new (place_relay_io_mem) Binlog_relay_IO_delegate;
    +  // binlog_relay_io_delegate= new (place_relay_io_mem) Binlog_relay_IO_delegate;
     
       if (!binlog_relay_io_delegate->is_inited())
       {
    diff --git a/sql/rpl_handler.h b/sql/rpl_handler.h
    index 4743fff..38a8252 100644
    --- a/sql/rpl_handler.h
    +++ b/sql/rpl_handler.h
    @@ -160,6 +160,7 @@ public:
     };
     
     #ifdef HAVE_REPLICATION
    +#define ushort unsigned short
     class Binlog_transmit_delegate
       :public Delegate {
     public:
    diff --git a/sql/sql_lex.cc b/sql/sql_lex.cc
    index 3c9e695..cd14df2 100644
    --- a/sql/sql_lex.cc
    +++ b/sql/sql_lex.cc
    @@ -128,11 +128,12 @@ void lex_init(void)
     {
       uint i;
       DBUG_ENTER("lex_init");
    +  /*
       for (i=0 ; i < array_elements(symbols) ; i++)
    -    symbols[i].length=(uchar) strlen(symbols[i].name);
    +      symbols[i].length=(uchar) strlen(symbols[i].name);
       for (i=0 ; i < array_elements(sql_functions) ; i++)
    -    sql_functions[i].length=(uchar) strlen(sql_functions[i].name);
    -
    +      sql_functions[i].length=(uchar) strlen(sql_functions[i].name);
    +  */
       DBUG_VOID_RETURN;
     }
     
    @@ -484,7 +485,7 @@ static int find_keyword(Lex_input_stream *lip, uint len, bool function)
     {
       const char *tok= lip->get_tok_start();
     
    -  SYMBOL *symbol= get_hash_symbol(tok, len, function);
    +  SYMBOL *symbol= NULL;// get_hash_symbol(tok, len, function);
       if (symbol)
       {
         lip->yylval->symbol.symbol=symbol;
    @@ -519,7 +520,7 @@ static int find_keyword(Lex_input_stream *lip, uint len, bool function)
     bool is_keyword(const char *name, uint len)
     {
       DBUG_ASSERT(len != 0);
    -  return get_hash_symbol(name,len,0)!=0;
    +  return false;//get_hash_symbol(name,len,0)!=0;
     }
     
     /**
    @@ -535,7 +536,8 @@ bool is_keyword(const char *name, uint len)
     bool is_lex_native_function(const LEX_STRING *name)
     {
       DBUG_ASSERT(name != NULL);
    -  return (get_hash_symbol(name->str, (uint) name->length, 1) != 0);
    +  return false;
    +  // return (get_hash_symbol(name->str, (uint) name->length, 1) != 0);
     }
     
     /* make a copy of token before ptr and set yytoklen */
    @@ -3147,7 +3149,7 @@ void st_select_lex::fix_prepare_information(THD *thd, Item **conds,
           if (!group_list_ptrs)
           {
             void *mem= thd->stmt_arena->alloc(sizeof(Group_list_ptrs));
    -        group_list_ptrs= new (mem) Group_list_ptrs(thd->stmt_arena->mem_root);
    +        // group_list_ptrs= new (mem) Group_list_ptrs(thd->stmt_arena->mem_root);
           }
           group_list_ptrs->reserve(group_list.elements);
           for (ORDER *order= group_list.first; order; order= order->next)
    diff --git a/sql/sql_prepare.cc b/sql/sql_prepare.cc
    index f3deafc..f5ba8f4 100644
    --- a/sql/sql_prepare.cc
    +++ b/sql/sql_prepare.cc
    @@ -965,7 +965,7 @@ static bool setup_conversion_functions(Prepared_statement *stmt,
         THD *thd= stmt->thd;
         for (; it < end; ++it)
         {
    -      ushort typecode;
    +      unsigned short typecode;
           const uint signed_bit= 1 << 15;
     
           if (read_pos >= data_end)
    diff --git a/sql/sql_repl.h b/sql/sql_repl.h
    index 7dc58c4..f3fbcf4 100644
    --- a/sql/sql_repl.h
    +++ b/sql/sql_repl.h
    @@ -63,7 +63,7 @@ typedef struct st_load_file_info
     
     int log_loaded_block(IO_CACHE* file);
     int init_replication_sys_vars();
    -void mysql_binlog_send(THD* thd, char* log_ident, my_off_t pos, ushort flags);
    +void mysql_binlog_send(THD* thd, char* log_ident, my_off_t pos, unsigned short flags);
     
     #endif /* HAVE_REPLICATION */
     
    diff --git a/storage/federated/ha_federated.cc b/storage/federated/ha_federated.cc
    index db2f749..619d6a5 100644
    --- a/storage/federated/ha_federated.cc
    +++ b/storage/federated/ha_federated.cc
    @@ -625,11 +625,11 @@ int get_connection(MEM_ROOT *mem_root, FEDERATED_SHARE *share)
       share->password= server->password;
       share->database= server->db;
     #ifndef I_AM_PARANOID
    -  share->port= server->port > 0 && server->port < 65536 ? 
    +  //  share->port= server->port > 0 && server->port < 65536 ? 
     #else
    -  share->port= server->port > 1023 && server->port < 65536 ? 
    +  //  share->port= server->port > 1023 && server->port < 65536 ? 
     #endif
    -               (ushort) server->port : MYSQL_PORT;
    +  //           (unsigned short) server->port : MYSQL_PORT;
       share->hostname= server->host;
       if (!(share->socket= server->socket) &&
           !strcmp(share->hostname, my_localhost))
    @@ -640,7 +640,7 @@ int get_connection(MEM_ROOT *mem_root, FEDERATED_SHARE *share)
       DBUG_PRINT("info", ("share->password %s", share->password));
       DBUG_PRINT("info", ("share->hostname %s", share->hostname));
       DBUG_PRINT("info", ("share->database %s", share->database));
    -  DBUG_PRINT("info", ("share->port %d", share->port));
    +  //  DBUG_PRINT("info", ("share->port %d", share->port));
       DBUG_PRINT("info", ("share->socket %s", share->socket));
       DBUG_RETURN(0);
     
    @@ -713,7 +713,7 @@ static int parse_url(MEM_ROOT *mem_root, FEDERATED_SHARE *share, TABLE *table,
                        ER_FOREIGN_DATA_STRING_INVALID);
       DBUG_ENTER("ha_federated::parse_url");
     
    -  share->port= 0;
    +  // share->port= 0;
       share->socket= 0;
       DBUG_PRINT("info", ("share at %lx", (long unsigned int) share));
       DBUG_PRINT("info", ("Length: %u", (uint) table->s->connect_string.length));
    @@ -848,8 +848,8 @@ static int parse_url(MEM_ROOT *mem_root, FEDERATED_SHARE *share, TABLE *table,
           share->sport++;
           if (share->sport[0] == '')
             share->sport= NULL;
    -      else
    -        share->port= atoi(share->sport);
    +      else{}
    +      //        share->port= atoi(share->sport);
         }
     
         if (!(share->table_name= strchr(share->database, '/')))
    @@ -874,6 +874,7 @@ static int parse_url(MEM_ROOT *mem_root, FEDERATED_SHARE *share, TABLE *table,
           share->hostname= NULL;
       }
     
    +  /*
       if (!share->port)
       {
         if (!share->hostname || strcmp(share->hostname, my_localhost) == 0)
    @@ -881,12 +882,13 @@ static int parse_url(MEM_ROOT *mem_root, FEDERATED_SHARE *share, TABLE *table,
         else
           share->port= MYSQL_PORT;
       }
    +  */
     
       DBUG_PRINT("info",
                  ("scheme: %s  username: %s  password: %s 
                    hostname: %s  port: %d  db: %s  tablename: %s",
                   share->scheme, share->username, share->password,
    -              share->hostname, share->port, share->database,
    +              share->hostname, 0, /*share->port*/, share->database,
                   share->table_name));
     
       DBUG_RETURN(0);
    @@ -3186,7 +3188,7 @@ int ha_federated::real_connect()
                               share->username,
                               share->password,
                               share->database,
    -                          share->port,
    +                          0, //share->port,
                               share->socket, 0))
       {
         stash_remote_error();
    diff --git a/storage/federated/ha_federated.h b/storage/federated/ha_federated.h
    index da20bf1..5b1422f 100644
    --- a/storage/federated/ha_federated.h
    +++ b/storage/federated/ha_federated.h
    @@ -68,7 +68,7 @@ typedef struct st_federated_share {
       char *socket;
       char *sport;
       int share_key_length;
    -  ushort port;
    +  unsigned short port;
     
       size_t table_name_length, server_name_length, connect_string_length, use_count;
       mysql_mutex_t mutex;
    diff --git a/storage/innobase/include/os0proc.h b/storage/innobase/include/os0proc.h
    index fd46bd7..cfbca18 100644
    --- a/storage/innobase/include/os0proc.h
    +++ b/storage/innobase/include/os0proc.h
    @@ -31,7 +31,7 @@ Created 9/30/1995 Heikki Tuuri
     
     #ifdef UNIV_LINUX
     #include <sys/ipc.h>
    -#include <sys/shm.h>
    +#include <linux/shm.h>
     #endif
     
     typedef void*			os_process_t;
    diff --git a/storage/myisam/ha_myisam.cc b/storage/myisam/ha_myisam.cc
    index 72a29cd..83460cf 100644
    --- a/storage/myisam/ha_myisam.cc
    +++ b/storage/myisam/ha_myisam.cc
    @@ -66,6 +66,7 @@ static MYSQL_SYSVAR_ULONG(data_pointer_size, myisam_data_pointer_size,
     
     #define MB (1024*1024)
     static MYSQL_SYSVAR_ULONGLONG(max_sort_file_size, myisam_max_temp_length,
    +//static MYSQL_SYSVAR_ULONG(max_sort_file_size, myisam_max_temp_length,
       PLUGIN_VAR_RQCMDARG, "Don't use the fast sort index method to created "
       "index if the temporary file would get bigger than this", NULL, NULL,
       LONG_MAX/MB*MB, 0, MAX_FILE_SIZE, MB);
    diff --git a/storage/myisam/mi_create.c b/storage/myisam/mi_create.c
    index 8873b8f..623d6ac 100644
    --- a/storage/myisam/mi_create.c
    +++ b/storage/myisam/mi_create.c
    @@ -495,6 +495,8 @@ int mi_create(const char *name,uint keys,MI_KEYDEF *keydefs,
         goto err_no_lock;
       }
     
    +#define ushort unsigned short
    +
       bmove(share.state.header.file_version,(uchar*) myisam_file_magic,4);
       ci->old_options=options| (ci->old_options & HA_OPTION_TEMP_COMPRESS_RECORD ?
     			HA_OPTION_COMPRESS_RECORD |
    @@ -513,7 +515,7 @@ int mi_create(const char *name,uint keys,MI_KEYDEF *keydefs,
       share.state.unique=	(ulong) 0;
       share.state.update_count=(ulong) 0;
       share.state.version=	(ulong) time((time_t*) 0);
    -  share.state.sortkey=  (ushort) ~0;
    +  share.state.sortkey=  (ushort) 1 ;
       share.state.auto_increment=ci->auto_increment;
       share.options=options;
       share.base.rec_reflength=pointer;
    diff --git a/storage/myisam/mi_dbug.c b/storage/myisam/mi_dbug.c
    index d8d2273..bb2ac12 100644
    --- a/storage/myisam/mi_dbug.c
    +++ b/storage/myisam/mi_dbug.c
    @@ -17,6 +17,8 @@
     
     #include "myisamdef.h"
     
    +#define ushort unsigned short
    +
     	/* Print a key in user understandable format */
     
     void _mi_print_key(FILE *stream, register HA_KEYSEG *keyseg,
    diff --git a/storage/myisam/myisamdef.h b/storage/myisam/myisamdef.h
    index dc8168b..2c6e0d1 100644
    --- a/storage/myisam/myisamdef.h
    +++ b/storage/myisam/myisamdef.h
    @@ -23,6 +23,8 @@
     #include <thr_lock.h>
     #include <mysql/psi/mysql_file.h>
     
    +#define ushort unsigned short
    +
     /* undef map from my_nosys; We need test-if-disk full */
     #if defined(my_write)
     #undef my_write
    diff --git a/tests/mysql_client_test.c b/tests/mysql_client_test.c
    index e600d82..256c866 100644
    --- a/tests/mysql_client_test.c
    +++ b/tests/mysql_client_test.c
    @@ -6506,7 +6506,7 @@ static void test_ushort_bug()
     {
       MYSQL_STMT *stmt;
       MYSQL_BIND my_bind[4];
    -  ushort     short_value;
    +  unsigned short     short_value;
       uint32     long_value;
       ulong      s_length, l_length, ll_length, t_length;
    ulonglong longlong_value;


  • 相关阅读:
    剑指OFFER之复杂链表的复制(九度OJ1524)
    剑指OFFER之二叉树中和为某一值的路径(九度OJ1368)
    剑指OFFER之从二叉搜索树的后序遍历序列(九度OJ1367)
    剑指OFFER之从上往下打印二叉树(九度OJ1523)
    剑指OFFER之栈的压入、弹出序列(九度OJ1366)
    剑指OFFER之包含min函数的栈(九度OJ1522)
    剑指OFFER之顺时针打印矩阵(九度OJ1391)
    剑指OFFER之树的子结构(九度OJ1520)
    剑指OFFER之二叉树的镜像(九度OJ1521)
    VM安装CentOs7虚拟机后无法上网之解决方法
  • 原文地址:https://www.cnblogs.com/ztguang/p/12644701.html
Copyright © 2020-2023  润新知