4721
else if (table_name && item->type() == Item::REF_ITEM &&
4722
((Item_ref *)item)->ref_type() == Item_ref::VIEW_REF)
4725
TODO:Here we process prefixed view references only. What we should
4726
really do is process all types of Item_refs. But this will currently
4727
lead to a clash with the way references to outer SELECTs (from the
4728
HAVING clause) are handled in e.g. :
4729
SELECT 1 FROM t1 AS t1_o GROUP BY a
4730
HAVING (SELECT t1_o.a FROM t1 AS t1_i GROUP BY t1_i.a LIMIT 1).
4731
Processing all Item_refs here will cause t1_o.a to resolve to itself.
4732
We still need to process the special case of Item_direct_view_ref
4733
because in the context of views they have the same meaning as
4734
Item_field for tables.
4736
Item_ident *item_ref= (Item_ident *) item;
4737
if (item_ref->name && item_ref->table_name &&
4738
!my_strcasecmp(system_charset_info, item_ref->name, field_name) &&
4739
!my_strcasecmp(table_alias_charset, item_ref->table_name,
4741
(!db_name || (item_ref->db_name &&
4742
!strcmp (item_ref->db_name, db_name))))
4746
*resolution= RESOLVED_IGNORING_ALIAS;