~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/function/cast/boolean.cc

  • Committer: Brian Aker
  • Date: 2010-12-30 16:49:02 UTC
  • mfrom: (2040.2.3 clean)
  • Revision ID: brian@tangent.org-20101230164902-gi4cs3vxdunyds54
Rollup of assert(), etc.

Show diffs side-by-side

added added

removed removed

Lines of Context:
52
52
 
53
53
      if (res->length() == 1)
54
54
      {
55
 
        switch (res->ptr()[0])
 
55
        switch (res->c_ptr()[0])
56
56
        {
57
57
        case 'y': case 'Y':
58
58
        case 't': case 'T': // PG compatibility
66
66
          break;
67
67
        }
68
68
      }
69
 
      else if ((res->length() == 5) and (strcasecmp(res->ptr(), "FALSE") == 0))
70
 
      {
71
 
        return evaluate(false, value);
72
 
      }
73
 
      if ((res->length() == 4) and (strcasecmp(res->ptr(), "TRUE") == 0))
74
 
      {
75
 
        return evaluate(true, value);
76
 
      }
77
 
      else if ((res->length() == 5) and (strcasecmp(res->ptr(), "FALSE") == 0))
78
 
      {
79
 
        return evaluate(false, value);
80
 
      }
81
 
      else if ((res->length() == 3) and (strcasecmp(res->ptr(), "YES") == 0))
82
 
      {
83
 
        return evaluate(true, value);
84
 
      }
85
 
      else if ((res->length() == 2) and (strcasecmp(res->ptr(), "NO") == 0))
 
69
      else if ((res->length() == 5) and (strcasecmp(res->c_ptr(), "FALSE") == 0))
 
70
      {
 
71
        return evaluate(false, value);
 
72
      }
 
73
      if ((res->length() == 4) and (strcasecmp(res->c_ptr(), "TRUE") == 0))
 
74
      {
 
75
        return evaluate(true, value);
 
76
      }
 
77
      else if ((res->length() == 5) and (strcasecmp(res->c_ptr(), "FALSE") == 0))
 
78
      {
 
79
        return evaluate(false, value);
 
80
      }
 
81
      else if ((res->length() == 3) and (strcasecmp(res->c_ptr(), "YES") == 0))
 
82
      {
 
83
        return evaluate(true, value);
 
84
      }
 
85
      else if ((res->length() == 2) and (strcasecmp(res->c_ptr(), "NO") == 0))
86
86
      {
87
87
        return evaluate(false, value);
88
88
      }
89
89
 
90
 
      my_error(ER_INVALID_CAST_TO_BOOLEAN, MYF(0), res->ptr());
 
90
      my_error(ER_INVALID_CAST_TO_BOOLEAN, MYF(0), res->c_ptr());
91
91
      return evaluate(false, value);
92
92
    }
93
93
 
113
113
  uint32_t mlength= (5) * cs->mbmaxlen;
114
114
 
115
115
  val_buffer->alloc(mlength);
116
 
  char *buffer=(char*) val_buffer->ptr();
 
116
  char *buffer=(char*) val_buffer->c_ptr();
117
117
 
118
118
  if (result)
119
119
  {
129
129
  return val_buffer;
130
130
}
131
131
 
132
 
#if 0
133
 
bool Boolean::val_bool()
134
 
{
135
 
  bool tmp= false;
136
 
 
137
 
  switch (args[0]->result_type())
138
 
  {
139
 
  case STRING_RESULT:
140
 
    {
141
 
      drizzled::String _res, *res;
142
 
 
143
 
      if (not (res= args[0]->val_str(&_res)))
144
 
      { 
145
 
        null_value= true; 
146
 
 
147
 
        break;
148
 
      }
149
 
      null_value= false; 
150
 
 
151
 
      if (res->length() == 1)
152
 
      {
153
 
        switch (res->ptr()[0])
154
 
        {
155
 
        case 'y': case 'Y':
156
 
        case 't': case 'T': // PG compatibility
157
 
          return true;
158
 
 
159
 
        case 'n': case 'N':
160
 
        case 'f': case 'F': // PG compatibility
161
 
          return false;
162
 
 
163
 
        default:
164
 
          break;
165
 
        }
166
 
      }
167
 
      else if ((res->length() == 5) and (strcasecmp(res->ptr(), "FALSE") == 0))
168
 
      {
169
 
        return false;
170
 
      }
171
 
      if ((res->length() == 4) and (strcasecmp(res->ptr(), "TRUE") == 0))
172
 
      {
173
 
        return true;
174
 
      }
175
 
      else if ((res->length() == 5) and (strcasecmp(res->ptr(), "FALSE") == 0))
176
 
      {
177
 
        return false;
178
 
      }
179
 
      else if ((res->length() == 3) and (strcasecmp(res->ptr(), "YES") == 0))
180
 
      {
181
 
        return true;
182
 
      }
183
 
      else if ((res->length() == 2) and (strcasecmp(res->ptr(), "NO") == 0))
184
 
      {
185
 
        return false;
186
 
      }
187
 
 
188
 
      break;
189
 
    }
190
 
 
191
 
  default:
192
 
    tmp= args[0]->val_bool();
193
 
    null_value=args[0]->null_value;
194
 
  }
195
 
 
196
 
  return tmp;
197
 
}
198
 
#endif
199
 
 
200
 
 
201
132
} // namespace cast
202
133
} // namespace function
203
134
} // namespace drizzled