diff options
Diffstat (limited to 'sql/opt_range.cc')
-rw-r--r-- | sql/opt_range.cc | 29 |
1 files changed, 19 insertions, 10 deletions
diff --git a/sql/opt_range.cc b/sql/opt_range.cc index b5a671b3f37..742886c668f 100644 --- a/sql/opt_range.cc +++ b/sql/opt_range.cc @@ -16052,7 +16052,7 @@ print_sel_arg_key(Field *field, const uchar *key, String *out) { if (*key) { - out->append("NULL"); + out->append(STRING_WITH_LEN("NULL")); goto end; } key++; // Skip null byte @@ -16085,15 +16085,16 @@ const char *dbug_print_sel_arg(SEL_ARG *sel_arg) { StringBuffer<64> buf; String &out= dbug_print_sel_arg_buf; + LEX_CSTRING tmp; out.length(0); if (!sel_arg) { - out.append("NULL"); + out.append(STRING_WITH_LEN("NULL")); goto end; } - out.append("SEL_ARG("); + out.append(STRING_WITH_LEN("SEL_ARG(")); const char *stype; switch(sel_arg->type) { @@ -16113,34 +16114,42 @@ const char *dbug_print_sel_arg(SEL_ARG *sel_arg) if (stype) { - out.append("type="); - out.append(stype); + out.append(STRING_WITH_LEN("type=")); + out.append(stype, strlen(stype)); goto end; } if (sel_arg->min_flag & NO_MIN_RANGE) - out.append("-inf"); + out.append(STRING_WITH_LEN("-inf")); else { print_sel_arg_key(sel_arg->field, sel_arg->min_value, &buf); out.append(buf); } - out.append((sel_arg->min_flag & NEAR_MIN)? "<" : "<="); + if (sel_arg->min_flag & NEAR_MIN) + lex_string_set3(&tmp, "<", 1); + else + lex_string_set3(&tmp, "<=", 2); + out.append(&tmp); out.append(sel_arg->field->field_name); - out.append((sel_arg->max_flag & NEAR_MAX)? "<" : "<="); + if (sel_arg->min_flag & NEAR_MAX) + lex_string_set3(&tmp, "<", 1); + else + lex_string_set3(&tmp, "<=", 2); + out.append(&tmp); if (sel_arg->max_flag & NO_MAX_RANGE) - out.append("+inf"); + out.append(STRING_WITH_LEN("+inf")); else { print_sel_arg_key(sel_arg->field, sel_arg->max_value, &buf); out.append(buf); } - out.append(")"); + out.append(')'); end: return dbug_print_sel_arg_buf.c_ptr_safe(); |