diff options
author | unknown <malff/marcsql@weblab.(none)> | 2006-11-16 10:06:36 -0700 |
---|---|---|
committer | unknown <malff/marcsql@weblab.(none)> | 2006-11-16 10:06:36 -0700 |
commit | f224238f8aed243f47e49090ef08c9fae5d05a01 (patch) | |
tree | dff7790fbd704ce58fe490553fe15bd1d5c171fc /sql/item_func.cc | |
parent | 9d4d6ffed30f593323d40cf316a8ec4cd3784b85 (diff) | |
parent | 2975d65cd86dea288d968c55fd0ffd177a92f390 (diff) | |
download | mariadb-git-f224238f8aed243f47e49090ef08c9fae5d05a01.tar.gz |
Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into weblab.(none):/home/marcsql/TREE/mysql-5.1-22684
sql/item_func.cc:
Auto merged
sql/item_func.h:
Auto merged
sql/item_strfunc.cc:
Auto merged
sql/item_strfunc.h:
Auto merged
Diffstat (limited to 'sql/item_func.cc')
-rw-r--r-- | sql/item_func.cc | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/sql/item_func.cc b/sql/item_func.cc index 81fd6314d56..d1c346ac43e 100644 --- a/sql/item_func.cc +++ b/sql/item_func.cc @@ -3403,18 +3403,28 @@ longlong Item_func_benchmark::val_int() char buff[MAX_FIELD_WIDTH]; String tmp(buff,sizeof(buff), &my_charset_bin); THD *thd=current_thd; + ulong loop_count; + loop_count= args[0]->val_int(); + + if (args[0]->null_value) + { + null_value= 1; + return 0; + } + + null_value=0; for (ulong loop=0 ; loop < loop_count && !thd->killed; loop++) { - switch (args[0]->result_type()) { + switch (args[1]->result_type()) { case REAL_RESULT: - (void) args[0]->val_real(); + (void) args[1]->val_real(); break; case INT_RESULT: - (void) args[0]->val_int(); + (void) args[1]->val_int(); break; case STRING_RESULT: - (void) args[0]->val_str(&tmp); + (void) args[1]->val_str(&tmp); break; case ROW_RESULT: default: @@ -3430,13 +3440,9 @@ longlong Item_func_benchmark::val_int() void Item_func_benchmark::print(String *str) { str->append(STRING_WITH_LEN("benchmark(")); - char buffer[20]; - // my_charset_bin is good enough for numbers - String st(buffer, sizeof(buffer), &my_charset_bin); - st.set((ulonglong)loop_count, &my_charset_bin); - str->append(st); - str->append(','); args[0]->print(str); + str->append(','); + args[1]->print(str); str->append(')'); } |