diff options
author | unknown <kaa@mbp.> | 2008-02-12 22:21:33 +0300 |
---|---|---|
committer | unknown <kaa@mbp.> | 2008-02-12 22:21:33 +0300 |
commit | 9b483c31f9a10ffbe18f6fcfe2fb73cc77836775 (patch) | |
tree | ecebe19418a30cd7ce968b4dc72ce4508486af36 /sql/item.cc | |
parent | 78e19d4283572f1706738980b8242a5e65619caf (diff) | |
parent | d5092fa9caf06376023c25cd55610b9a033e3904 (diff) | |
download | mariadb-git-9b483c31f9a10ffbe18f6fcfe2fb73cc77836775.tar.gz |
Merge mbp.:/Users/kaa/src/opt/bug33389/my50-bug25162
into mbp.:/Users/kaa/src/opt/bug33389/my51-bug25162
mysql-test/r/view.result:
Auto merged
mysql-test/t/view.test:
Manual merge.
sql/item.cc:
Manual merge.
Diffstat (limited to 'sql/item.cc')
-rw-r--r-- | sql/item.cc | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/sql/item.cc b/sql/item.cc index 34f6eb9dc61..e5018dd4ecb 100644 --- a/sql/item.cc +++ b/sql/item.cc @@ -3947,6 +3947,18 @@ bool Item_field::fix_fields(THD *thd, Item **reference) else if (!from_field) goto error; + if (!outer_fixed && cached_table && cached_table->select_lex && + context->select_lex && + cached_table->select_lex != context->select_lex) + { + int ret; + if ((ret= fix_outer_field(thd, &from_field, reference)) < 0) + goto error; + if (!ret) + return FALSE; + outer_fixed= 1; + } + /* if it is not expression from merged VIEW we will set this field. @@ -3962,18 +3974,6 @@ bool Item_field::fix_fields(THD *thd, Item **reference) if (from_field == view_ref_found) return FALSE; - if (!outer_fixed && cached_table && cached_table->select_lex && - context->select_lex && - cached_table->select_lex != context->select_lex) - { - int ret; - if ((ret= fix_outer_field(thd, &from_field, reference)) < 0) - goto error; - if (!ret) - return FALSE; - outer_fixed= 1; - } - set_field(from_field); if (thd->lex->in_sum_func && thd->lex->in_sum_func->nest_level == |