Commit 36947f19 authored by unknown's avatar unknown
Browse files

Merge bk-internal.mysql.com:/home/bk/mysql-5.0

into mysql.com:/home/my/mysql-5.0


sql/mysql_priv.h:
  Auto merged
parents 8ae95213 22eeea04
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -260,8 +260,6 @@ class String
  }
  bool fill(uint32 max_length,char fill);
  void strip_sp();
  inline void caseup() { my_caseup(str_charset,Ptr,str_length); }
  inline void casedn() { my_casedn(str_charset,Ptr,str_length); }
  friend int sortcmp(const String *a,const String *b, CHARSET_INFO *cs);
  friend int stringcmp(const String *a,const String *b);
  friend String *copy_if_not_alloced(String *a,String *b,uint32 arg_length);
+4 −2
Original line number Diff line number Diff line
@@ -37,16 +37,18 @@
namespace mySTL {


template<typename T, typename Deletor = void (*) (T*)>
template<typename T>
struct auto_ptr_ref {
    typedef void (*Deletor)(T*);
    T*      ptr_;
    Deletor del_;
    auto_ptr_ref(T* p, Deletor d) : ptr_(p), del_(d) {}
};


template<typename T, typename Deletor = void (*) (T*)>
template<typename T>
class auto_ptr {
    typedef void (*Deletor)(T*);
    T*       ptr_;
    Deletor  del_;

+1 −1
Original line number Diff line number Diff line
@@ -718,7 +718,7 @@ void processReply(SSL& ssl)
    mySTL::auto_ptr<input_buffer> buffered(ysDelete);

    for (;;) {
        mySTL::auto_ptr<input_buffer> tmp = DoProcessReply(ssl, buffered);
        mySTL::auto_ptr<input_buffer> tmp(DoProcessReply(ssl, buffered));
        if (tmp.get())      // had only part of a record's data, call again
            buffered = tmp;
        else
+18 −8
Original line number Diff line number Diff line
@@ -44,6 +44,9 @@ typedef struct unicase_info_st
  uint16 sort;
} MY_UNICASE_INFO;

extern MY_UNICASE_INFO *my_unicase_default[256];
extern MY_UNICASE_INFO *my_unicase_turkish[256];

#define MY_CS_ILSEQ	0
#define MY_CS_ILUNI	0
#define MY_CS_TOOSMALL	-1
@@ -164,8 +167,10 @@ typedef struct my_charset_handler_st
  /* Functions for case and sort convertion */
  void    (*caseup_str)(struct charset_info_st *, char *);
  void    (*casedn_str)(struct charset_info_st *, char *);
  void    (*caseup)(struct charset_info_st *, char *, uint);
  void    (*casedn)(struct charset_info_st *, char *, uint);
  uint    (*caseup)(struct charset_info_st *, char *src, uint srclen,
                                              char *dst, uint dstlen);
  uint    (*casedn)(struct charset_info_st *, char *src, uint srclen,
                                              char *dst, uint dstlen);
  
  /* Charset dependant snprintf() */
  int  (*snprintf)(struct charset_info_st *, char *to, uint n, const char *fmt,
@@ -216,9 +221,12 @@ typedef struct charset_info_st
  uint16   **sort_order_big;
  uint16      *tab_to_uni;
  MY_UNI_IDX  *tab_from_uni;
  MY_UNICASE_INFO **caseinfo;
  uchar     *state_map;
  uchar     *ident_map;
  uint      strxfrm_multiply;
  uchar     caseup_multiply;
  uchar     casedn_multiply;
  uint      mbminlen;
  uint      mbmaxlen;
  uint16    min_sort_char;
@@ -286,8 +294,10 @@ extern uint my_instr_simple(struct charset_info_st *,
/* Functions for 8bit */
extern void my_caseup_str_8bit(CHARSET_INFO *, char *);
extern void my_casedn_str_8bit(CHARSET_INFO *, char *);
extern void my_caseup_8bit(CHARSET_INFO *, char *, uint);
extern void my_casedn_8bit(CHARSET_INFO *, char *, uint);
extern uint my_caseup_8bit(CHARSET_INFO *, char *src, uint srclen,
                                           char *dst, uint dstlen);
extern uint my_casedn_8bit(CHARSET_INFO *, char *src, uint srclen,
                                           char *dst, uint dstlen);

extern int my_strcasecmp_8bit(CHARSET_INFO * cs, const char *, const char *);

@@ -359,8 +369,10 @@ int my_mbcharlen_8bit(CHARSET_INFO *, uint c);
/* Functions for multibyte charsets */
extern void my_caseup_str_mb(CHARSET_INFO *, char *);
extern void my_casedn_str_mb(CHARSET_INFO *, char *);
extern void my_caseup_mb(CHARSET_INFO *, char *, uint);
extern void my_casedn_mb(CHARSET_INFO *, char *, uint);
extern uint my_caseup_mb(CHARSET_INFO *, char *src, uint srclen,
                                         char *dst, uint dstlen);
extern uint my_casedn_mb(CHARSET_INFO *, char *src, uint srclen,
                                         char *dst, uint dstlen);
extern int my_strcasecmp_mb(CHARSET_INFO * cs,const char *, const char *);

int my_wildcmp_mb(CHARSET_INFO *,
@@ -441,8 +453,6 @@ my_bool my_propagate_complex(CHARSET_INFO *cs, const uchar *str, uint len);
#define my_mbcharlen(s, a)            1
#endif

#define my_caseup(s, a, l)            ((s)->cset->caseup((s), (a), (l)))
#define my_casedn(s, a, l)            ((s)->cset->casedn((s), (a), (l)))
#define my_caseup_str(s, a)           ((s)->cset->caseup_str((s), (a)))
#define my_casedn_str(s, a)           ((s)->cset->casedn_str((s), (a)))
#define my_strntol(s, a, b, c, d, e)  ((s)->cset->strntol((s),(a),(b),(c),(d),(e)))
+8 −3
Original line number Diff line number Diff line
@@ -471,20 +471,25 @@ static void update_record(char *record)
    ptr=blob_key;
    memcpy_fixed(pos+4,&ptr,sizeof(char*));	/* Store pointer to new key */
    if (keyinfo[0].seg[0].type != HA_KEYTYPE_NUM)
      my_casedn(default_charset_info,blob_key,length);
      default_charset_info->cset->casedn(default_charset_info,
                                         blob_key, length, blob_key, length);
    pos+=recinfo[1].length;
  }
  else if (recinfo[1].type == FIELD_VARCHAR)
  {
    uint pack_length= HA_VARCHAR_PACKLENGTH(recinfo[1].length-1);
    uint length= pack_length == 1 ? (uint) *(uchar*) pos : uint2korr(pos);
    my_casedn(default_charset_info,pos+pack_length,length);
    default_charset_info->cset->casedn(default_charset_info,
                                       pos + pack_length, length,
                                       pos + pack_length, length);
    pos+=recinfo[1].length;
  }
  else
  {
    if (keyinfo[0].seg[0].type != HA_KEYTYPE_NUM)
      my_casedn(default_charset_info,pos,keyinfo[0].seg[0].length);
      default_charset_info->cset->casedn(default_charset_info,
                                         pos, keyinfo[0].seg[0].length,
                                         pos, keyinfo[0].seg[0].length);
    pos+=recinfo[1].length;
  }

Loading