summaryrefslogtreecommitdiff
path: root/sql/sql_show.cc
diff options
context:
space:
mode:
Diffstat (limited to 'sql/sql_show.cc')
-rw-r--r--sql/sql_show.cc22
1 files changed, 10 insertions, 12 deletions
diff --git a/sql/sql_show.cc b/sql/sql_show.cc
index f30eeb2d206..7acbe564f58 100644
--- a/sql/sql_show.cc
+++ b/sql/sql_show.cc
@@ -1859,9 +1859,10 @@ bool uses_only_table_name_fields(Item *item, TABLE_LIST *table)
Item **child;
Item **item_end= (item_func->arguments()) + item_func->argument_count();
for (child= item_func->arguments(); child != item_end; child++)
+ {
if (!uses_only_table_name_fields(*child, table))
return 0;
- return 1;
+ }
}
else if (item->type() == Item::FIELD_ITEM)
{
@@ -1871,19 +1872,16 @@ bool uses_only_table_name_fields(Item *item, TABLE_LIST *table)
ST_FIELD_INFO *field_info= schema_table->fields_info;
const char *field_name1= field_info[schema_table->idx_field1].field_name;
const char *field_name2= field_info[schema_table->idx_field2].field_name;
- if(table->table != item_field->field->table ||
- (cs->coll->strnncollsp(cs, (uchar *) field_name1, strlen(field_name1),
- (uchar *) item_field->field_name,
- strlen(item_field->field_name)) &&
- cs->coll->strnncollsp(cs, (uchar *) field_name2, strlen(field_name2),
- (uchar *) item_field->field_name,
- strlen(item_field->field_name))))
+ if (table->table != item_field->field->table ||
+ (cs->coll->strnncollsp(cs, (uchar *) field_name1, strlen(field_name1),
+ (uchar *) item_field->field_name,
+ strlen(item_field->field_name), 0) &&
+ cs->coll->strnncollsp(cs, (uchar *) field_name2, strlen(field_name2),
+ (uchar *) item_field->field_name,
+ strlen(item_field->field_name), 0)))
return 0;
- else
- return 1;
}
- else
- return 1;
+ return 1;
}