Skip to content

Commit 761c790

Browse files
author
vva@eagle.mysql.r18.ru
committed
turn Item_func_set_user_var
::native_val, ::native_val_int and native_val_str into inline
1 parent fd835da commit 761c790

File tree

2 files changed

+31
-36
lines changed

2 files changed

+31
-36
lines changed

sql/item_func.cc

Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1899,38 +1899,6 @@ void Item_func_set_user_var::update_hash(void *ptr, uint length,
18991899
return;
19001900
}
19011901

1902-
double Item_func_set_user_var::native_val()
1903-
{
1904-
double value=args[0]->val();
1905-
update_hash((void*) &value,sizeof(value), REAL_RESULT);
1906-
return value;
1907-
}
1908-
1909-
longlong Item_func_set_user_var::native_val_int()
1910-
{
1911-
longlong value=args[0]->val_int();
1912-
update_hash((void*) &value,sizeof(longlong),INT_RESULT);
1913-
return value;
1914-
}
1915-
1916-
String *Item_func_set_user_var::native_val_str(String *str)
1917-
{
1918-
char buffer[MAX_FIELD_WIDTH];
1919-
String *res=args[0]->val_str(str);
1920-
if (!res) // Null value
1921-
update_hash((void*) 0,0,STRING_RESULT);
1922-
else
1923-
update_hash(res->c_ptr(),res->length()+1,STRING_RESULT);
1924-
return res;
1925-
}
1926-
1927-
String *Item_func_set_user_var::native_val_str()
1928-
{
1929-
char buffer[MAX_FIELD_WIDTH];
1930-
String tmp(buffer,sizeof(buffer));
1931-
return native_val_str(&tmp);
1932-
}
1933-
19341902
bool
19351903
Item_func_set_user_var::update()
19361904
{

sql/item_func.h

Lines changed: 31 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -889,10 +889,37 @@ class Item_func_set_user_var :public Item_func
889889
LEX_STRING name;
890890
user_var_entry *entry;
891891

892-
double native_val();
893-
longlong native_val_int();
894-
String *native_val_str(String *str);
895-
String *native_val_str();
892+
double native_val()
893+
{
894+
double value=args[0]->val();
895+
update_hash((void*) &value,sizeof(value), REAL_RESULT);
896+
return value;
897+
}
898+
899+
longlong native_val_int()
900+
{
901+
longlong value=args[0]->val_int();
902+
update_hash((void*) &value,sizeof(longlong),INT_RESULT);
903+
return value;
904+
}
905+
906+
String *native_val_str(String *str)
907+
{
908+
char buffer[MAX_FIELD_WIDTH];
909+
String *res=args[0]->val_str(str);
910+
if (!res) // Null value
911+
update_hash((void*) 0,0,STRING_RESULT);
912+
else
913+
update_hash(res->c_ptr(),res->length()+1,STRING_RESULT);
914+
return res;
915+
}
916+
917+
String *native_val_str()
918+
{
919+
char buffer[MAX_FIELD_WIDTH];
920+
String tmp(buffer,sizeof(buffer));
921+
return native_val_str(&tmp);
922+
}
896923

897924
public:
898925
Item_func_set_user_var(LEX_STRING a,Item *b): Item_func(b), name(a) {}

0 commit comments

Comments
 (0)