summaryrefslogtreecommitdiff
path: root/sql/item.cc
diff options
context:
space:
mode:
authorunknown <sanja@montyprogram.com>2012-02-01 17:09:49 +0200
committerunknown <sanja@montyprogram.com>2012-02-01 17:09:49 +0200
commitb4643d75fe065d92403817a1dd8785b198b6fdec (patch)
treee4f07d0fbce836002d58021cf33b750b1edf1275 /sql/item.cc
parent7ed15e6e50aec65560d8988fc5713f1f489b6616 (diff)
downloadmariadb-git-b4643d75fe065d92403817a1dd8785b198b6fdec.tar.gz
fix for LP BUG#921878.
Problem was in try to check/use Item_direct_ref of derived view when we have to use real Item_field under it.
Diffstat (limited to 'sql/item.cc')
-rw-r--r--sql/item.cc10
1 files changed, 5 insertions, 5 deletions
diff --git a/sql/item.cc b/sql/item.cc
index aaf9b0c2a12..b738d1f00da 100644
--- a/sql/item.cc
+++ b/sql/item.cc
@@ -9052,13 +9052,13 @@ void Item_type_holder::get_full_info(Item *item)
DBUG_ASSERT((enum_set_typelib &&
get_real_type(item) == MYSQL_TYPE_NULL) ||
(!enum_set_typelib &&
- item->type() == Item::FIELD_ITEM &&
- (get_real_type(item) == MYSQL_TYPE_ENUM ||
- get_real_type(item) == MYSQL_TYPE_SET) &&
- ((Field_enum*)((Item_field *) item)->field)->typelib));
+ item->real_item()->type() == Item::FIELD_ITEM &&
+ (get_real_type(item->real_item()) == MYSQL_TYPE_ENUM ||
+ get_real_type(item->real_item()) == MYSQL_TYPE_SET) &&
+ ((Field_enum*)((Item_field *) item->real_item())->field)->typelib));
if (!enum_set_typelib)
{
- enum_set_typelib= ((Field_enum*)((Item_field *) item)->field)->typelib;
+ enum_set_typelib= ((Field_enum*)((Item_field *) item->real_item())->field)->typelib;
}
}
}