~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/field/enum.cc

  • Committer: Brian Aker
  • Date: 2008-10-06 06:47:29 UTC
  • Revision ID: brian@tangent.org-20081006064729-2i9mhjkzyvow9xsm
RemoveĀ uint.

Show diffs side-by-side

added added

removed removed

Lines of Context:
86
86
    (if there isn't a empty value in the enum)
87
87
*/
88
88
 
89
 
int Field_enum::store(const char *from, uint length, const CHARSET_INFO * const cs)
 
89
int Field_enum::store(const char *from, uint32_t length, const CHARSET_INFO * const cs)
90
90
{
91
91
  int err= 0;
92
92
  uint32_t not_used;
96
96
  /* Convert character set if necessary */
97
97
  if (String::needs_conversion(length, cs, field_charset, &not_used))
98
98
  { 
99
 
    uint dummy_errors;
 
99
    uint32_t dummy_errors;
100
100
    tmpstr.copy(from, length, cs, field_charset, &dummy_errors);
101
101
    from= tmpstr.ptr();
102
102
    length=  tmpstr.length();
104
104
 
105
105
  /* Remove end space */
106
106
  length= field_charset->cset->lengthsp(field_charset, from, length);
107
 
  uint tmp=find_type2(typelib, from, length, field_charset);
 
107
  uint32_t tmp=find_type2(typelib, from, length, field_charset);
108
108
  if (!tmp)
109
109
  {
110
110
    if (length < 6) // Can't be more than 99999 enums
225
225
String *Field_enum::val_str(String *val_buffer __attribute__((unused)),
226
226
                            String *val_ptr)
227
227
{
228
 
  uint tmp=(uint) Field_enum::val_int();
 
228
  uint32_t tmp=(uint) Field_enum::val_int();
229
229
  if (!tmp || tmp > typelib->count)
230
230
    val_ptr->set("", 0, field_charset);
231
231
  else
246
246
  return (a < b) ? -1 : (a > b) ? 1 : 0;
247
247
}
248
248
 
249
 
void Field_enum::sort_string(unsigned char *to,uint length __attribute__((unused)))
 
249
void Field_enum::sort_string(unsigned char *to,uint32_t length __attribute__((unused)))
250
250
{
251
251
  uint64_t value=Field_enum::val_int();
252
252
  to+=packlength-1;
253
 
  for (uint i=0 ; i < packlength ; i++)
 
253
  for (uint32_t i=0 ; i < packlength ; i++)
254
254
  {
255
255
    *to-- = (unsigned char) (value & 255);
256
256
    value>>=8;
267
267
  res.append(STRING_WITH_LEN("enum("));
268
268
 
269
269
  bool flag=0;
270
 
  uint *len= typelib->type_lengths;
 
270
  uint32_t *len= typelib->type_lengths;
271
271
  for (const char **pos= typelib->type_names; *pos; pos++, len++)
272
272
  {
273
 
    uint dummy_errors;
 
273
    uint32_t dummy_errors;
274
274
    if (flag)
275
275
      res.append(',');
276
276
    /* convert to res.charset() == utf8, then quote */