1058
1058
case DRIZZLE_TYPE_DATETIME:
1059
1059
case DRIZZLE_TYPE_TIMESTAMP:
1061
case DRIZZLE_TYPE_BLOB:
1062
case DRIZZLE_TYPE_VARCHAR:
1063
case DRIZZLE_TYPE_DOUBLE:
1064
case DRIZZLE_TYPE_DECIMAL:
1065
case DRIZZLE_TYPE_ENUM:
1066
case DRIZZLE_TYPE_LONG:
1067
case DRIZZLE_TYPE_LONGLONG:
1068
case DRIZZLE_TYPE_NULL:
1069
case DRIZZLE_TYPE_UUID:
1067
1077
String *Item::check_well_formed_result(String *str, bool send_error)
1184
1194
case DRIZZLE_TYPE_DATETIME:
1185
1195
field= new Field_datetime(maybe_null, name, &my_charset_bin);
1188
/* This case should never be chosen */
1190
/* Fall through to make_string_field() */
1197
case DRIZZLE_TYPE_UUID:
1191
1198
case DRIZZLE_TYPE_ENUM:
1192
1199
case DRIZZLE_TYPE_VARCHAR:
1193
1200
return make_string_field(table);
1329
1338
enum_field_types f_type;
1331
1340
switch ((f_type=field_type())) {
1341
case DRIZZLE_TYPE_DATE:
1333
1342
case DRIZZLE_TYPE_NULL:
1334
1343
case DRIZZLE_TYPE_ENUM:
1335
1344
case DRIZZLE_TYPE_BLOB:
1336
1345
case DRIZZLE_TYPE_VARCHAR:
1346
case DRIZZLE_TYPE_UUID:
1337
1347
case DRIZZLE_TYPE_DECIMAL:
1340
if ((res=val_str(buffer)))
1341
result= client->store(res->ptr(),res->length());
1350
if ((res=val_str(buffer)))
1351
result= client->store(res->ptr(),res->length());
1344
1354
case DRIZZLE_TYPE_LONG:
1349
result= client->store((int32_t)nr);
1359
result= client->store((int32_t)nr);
1352
1362
case DRIZZLE_TYPE_LONGLONG:
1359
result= client->store((uint64_t)nr);
1361
result= client->store((int64_t)nr);
1369
result= client->store((uint64_t)nr);
1371
result= client->store((int64_t)nr);
1365
1375
case DRIZZLE_TYPE_DOUBLE:
1367
double nr= val_real();
1369
result= client->store(nr, decimals, buffer);
1377
double nr= val_real();
1379
result= client->store(nr, decimals, buffer);
1372
1382
case DRIZZLE_TYPE_DATETIME:
1373
1383
case DRIZZLE_TYPE_TIMESTAMP:
1376
get_date(&tm, TIME_FUZZY_DATE);
1378
result= client->store(&tm);
1386
get_date(&tm, TIME_FUZZY_DATE);
1388
result= client->store(&tm);
1382
1392
if (null_value)
1383
1393
result= client->store();
1504
1515
item_result=item->val_str(&item_tmp);
1505
1516
if (item->null_value)
1506
1517
return 1; // This must be true
1507
field->val_str(&field_tmp);
1508
return !stringcmp(&field_tmp,item_result);
1518
field->val_str_internal(&field_tmp);
1519
return not stringcmp(&field_tmp,item_result);
1510
1521
if (res_type == INT_RESULT)
1511
1522
return 1; // Both where of type int
1784
std::ostream& operator<<(std::ostream& output, const Item &item)
1787
output << item.name;
1789
output << drizzled::display::type(item.type());
1792
return output; // for multiple << operators.
1772
1795
} /* namespace drizzled */