summaryrefslogtreecommitdiff
path: root/sql/opt_range.cc
diff options
context:
space:
mode:
Diffstat (limited to 'sql/opt_range.cc')
-rw-r--r--sql/opt_range.cc29
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();