~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/field/str.cc

  • Committer: Brian Aker
  • Date: 2011-01-25 05:20:15 UTC
  • mto: (2109.1.6 drizzle-build)
  • mto: This revision was merged to the branch mainline in revision 2112.
  • Revision ID: brian@tangent.org-20110125052015-nw5jhmiq0at1qt9u
Merge in reference from pointer.

Show diffs side-by-side

added added

removed removed

Lines of Context:
102
102
    !=0  error
103
103
*/
104
104
 
105
 
int Field_str::store_decimal(const my_decimal *d)
 
105
int Field_str::store_decimal(const type::Decimal *d)
106
106
{
107
107
  char buff[DECIMAL_MAX_STR_LENGTH+1];
108
108
  String str(buff, sizeof(buff), &my_charset_bin);
109
 
  my_decimal2string(E_DEC_FATAL_ERROR, d, 0, 0, 0, &str);
 
109
  class_decimal2string(E_DEC_FATAL_ERROR, d, 0, 0, 0, &str);
110
110
  return store(str.ptr(), str.length(), str.charset());
111
111
}
112
112
 
113
 
my_decimal *Field_str::val_decimal(my_decimal *decimal_value)
 
113
type::Decimal *Field_str::val_decimal(type::Decimal *decimal_value)
114
114
{
115
115
  int64_t nr= val_int();
116
 
  int2my_decimal(E_DEC_FATAL_ERROR, nr, 0, decimal_value);
 
116
  int2_class_decimal(E_DEC_FATAL_ERROR, nr, 0, decimal_value);
117
117
  return decimal_value;
118
118
}
119
119
 
138
138
  if (error)
139
139
  {
140
140
    if (getTable()->in_use->abort_on_warning)
 
141
    {
141
142
      set_warning(DRIZZLE_ERROR::WARN_LEVEL_ERROR, ER_DATA_TOO_LONG, 1);
 
143
    }
142
144
    else
 
145
    {
143
146
      set_warning(DRIZZLE_ERROR::WARN_LEVEL_WARN, ER_WARN_DATA_TRUNCATED, 1);
 
147
    }
144
148
  }
145
149
  return store(buff, length, charset());
146
150
}