~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/field.cc

  • Committer: Mark Atwood
  • Date: 2012-01-04 16:59:32 UTC
  • mfrom: (2478.2.3 real-key-use-catalog)
  • Revision ID: me@mark.atwood.name-20120104165932-cm0xqs4by0u3p4cy
mergeĀ lp:~stewart/drizzle/key-use-catalog

Show diffs side-by-side

added added

removed removed

Lines of Context:
900
900
    table(NULL),
901
901
    orig_table(NULL),
902
902
    field_name(field_name_arg),
903
 
    comment(null_lex_string()),
904
903
    key_start(0),
905
904
    part_of_key(0),
906
905
    part_of_key_not_clustered(0),
1080
1079
  assert(getTable() and getTable()->getSession());
1081
1080
 
1082
1081
  String* res= val_str_internal(&tmp);
1083
 
  return not res or str_to_datetime_with_warn(getTable()->getSession(), res->ptr(), res->length(), &ltime, fuzzydate) <= type::DRIZZLE_TIMESTAMP_ERROR;
 
1082
  return not res or str_to_datetime_with_warn(*getTable()->getSession(), *res, ltime, fuzzydate) <= type::DRIZZLE_TIMESTAMP_ERROR;
1084
1083
}
1085
1084
 
1086
1085
bool Field::get_time(type::Time &ltime) const
1089
1088
  String tmp(buff,sizeof(buff),&my_charset_bin);
1090
1089
 
1091
1090
  String* res= val_str_internal(&tmp);
1092
 
  return not res or str_to_time_with_warn(getTable()->getSession(), res->ptr(), res->length(), &ltime);
 
1091
  return not res or str_to_time_with_warn(*getTable()->getSession(), *res, ltime);
1093
1092
}
1094
1093
 
1095
1094
int Field::store_time(type::Time &ltime, type::timestamp_t)
1247
1246
  if ((session->abortOnWarning() and
1248
1247
       level >= DRIZZLE_ERROR::WARN_LEVEL_WARN) ||
1249
1248
      set_warning(level, code, cuted_increment))
1250
 
    make_truncated_value_warning(session, level, str, str_length, ts_type,
1251
 
                                 field_name);
 
1249
    make_truncated_value_warning(*session, level, str_ref(str, str_length), ts_type, field_name);
1252
1250
}
1253
1251
 
1254
1252
void Field::set_datetime_warning(DRIZZLE_ERROR::enum_warning_level level, 
1264
1262
  {
1265
1263
    char str_nr[DECIMAL_LONGLONG_DIGITS];
1266
1264
    char *str_end= internal::int64_t10_to_str(nr, str_nr, -10);
1267
 
    make_truncated_value_warning(session, level, str_nr, (uint32_t) (str_end - str_nr),
1268
 
                                 ts_type, field_name);
 
1265
    make_truncated_value_warning(*session, level, str_ref(str_nr, (uint32_t) (str_end - str_nr)), ts_type, field_name);
1269
1266
  }
1270
1267
}
1271
1268
 
1282
1279
    /* DBL_DIG is enough to print '-[digits].E+###' */
1283
1280
    char str_nr[DBL_DIG + 8];
1284
1281
    uint32_t str_len= snprintf(str_nr, sizeof(str_nr), "%g", nr);
1285
 
    make_truncated_value_warning(session, level, str_nr, str_len, ts_type,
1286
 
                                 field_name);
 
1282
    make_truncated_value_warning(*session, level, str_ref(str_nr, str_len), ts_type, field_name);
1287
1283
  }
1288
1284
}
1289
1285