diff options
author | unknown <gkodinov/kgeorge@rakia.(none)> | 2006-10-16 14:42:51 +0300 |
---|---|---|
committer | unknown <gkodinov/kgeorge@rakia.(none)> | 2006-10-16 14:42:51 +0300 |
commit | 53924bdc77526b199aa8d327b96ca8e8a1e41982 (patch) | |
tree | 30c2945cfba1035f944bf55cb26ce74c17b49f70 /sql | |
parent | 602343262f4d83ad587619e0cd6db92fa2b3c183 (diff) | |
parent | 750a2a0b862ba6a02c341a6120a96a081a83ac4f (diff) | |
download | mariadb-git-53924bdc77526b199aa8d327b96ca8e8a1e41982.tar.gz |
Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-4.1-opt
into rakia.(none):/home/kgeorge/mysql/autopush/B14019-4.1-opt
Diffstat (limited to 'sql')
-rw-r--r-- | sql/sql_base.cc | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/sql/sql_base.cc b/sql/sql_base.cc index 0a9529d6067..40adf5e1f15 100644 --- a/sql/sql_base.cc +++ b/sql/sql_base.cc @@ -2284,12 +2284,19 @@ find_item_in_list(Item *find, List<Item> &items, uint *counter, const char *field_name=0; const char *table_name=0; bool found_unaliased_non_uniq= 0; + /* + true if the item that we search for is a valid name reference + (and not an item that happens to have a name). + */ + bool is_ref_by_name= 0; uint unaliased_counter; LINT_INIT(unaliased_counter); *unaliased= FALSE; - if (find->type() == Item::FIELD_ITEM || find->type() == Item::REF_ITEM) + is_ref_by_name= (find->type() == Item::FIELD_ITEM || + find->type() == Item::REF_ITEM); + if (is_ref_by_name) { field_name= ((Item_ident*) find)->field_name; table_name= ((Item_ident*) find)->table_name; @@ -2401,7 +2408,7 @@ find_item_in_list(Item *find, List<Item> &items, uint *counter, } } else if (!table_name && (item->eq(find,0) || - find->name && item->name && + is_ref_by_name && find->name && item->name && !my_strcasecmp(system_charset_info, item->name,find->name))) { |