| 487 | flags&= ~ALLOCATED; |
| 488 | } |
| 489 | bool do_check(THD *thd, set_var *var) |
| 490 | { |
| 491 | char buff[STRING_BUFFER_USUAL_SIZE], buff2[STRING_BUFFER_USUAL_SIZE]; |
| 492 | String str(buff, sizeof(buff), charset(thd)); |
| 493 | String str2(buff2, sizeof(buff2), charset(thd)), *res; |
| 494 | |
| 495 | if (!(res=var->value->val_str(&str))) |
| 496 | var->save_result.string_value.str= 0; |
| 497 | else |
| 498 | { |
| 499 | uint32 unused; |
| 500 | if (String::needs_conversion(res->length(), res->charset(), |
| 501 | charset(thd), &unused)) |
| 502 | { |
| 503 | uint errors; |
| 504 | str2.copy(res->ptr(), res->length(), res->charset(), charset(thd), |
| 505 | &errors); |
| 506 | res=&str2; |
| 507 | |
| 508 | } |
| 509 | var->save_result.string_value.str= thd->strmake(res->ptr(), res->length()); |
| 510 | var->save_result.string_value.length= res->length(); |
| 511 | } |
| 512 | |
| 513 | return false; |
| 514 | } |
| 515 | bool session_update(THD *thd, set_var *var) |
| 516 | { |
| 517 | DBUG_ASSERT(FALSE); |