diff options
author | unknown <cmiller@zippy.cornsilk.net> | 2007-12-14 10:52:10 -0500 |
---|---|---|
committer | unknown <cmiller@zippy.cornsilk.net> | 2007-12-14 10:52:10 -0500 |
commit | 18f5e87ed930aa66fd7c8ea2b36c9cfc103d8a40 (patch) | |
tree | 12c2887fa7da423ee894c74c94ab3ee5f2f1b748 /sql/item_subselect.cc | |
parent | 0813b6f5747888916d9d8126ad3abf28593ec72f (diff) | |
parent | 94e41712130a838e72876785d880e62dbda6ca0c (diff) | |
download | mariadb-git-18f5e87ed930aa66fd7c8ea2b36c9cfc103d8a40.tar.gz |
Merge bk-internal.mysql.com:/home/bk/mysql-5.1-maint
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint
sql/field.cc:
Auto merged
sql/filesort.cc:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_create.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_geofunc.cc:
Auto merged
sql/item_strfunc.cc:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/item_sum.cc:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/log.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/net_serv.cc:
Auto merged
sql/opt_sum.cc:
Auto merged
sql/protocol.h:
Auto merged
sql/records.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sp.cc:
Auto merged
sql/sp_head.h:
Auto merged
sql/sql_cache.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_select.h:
Auto merged
sql/sql_trigger.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/sql_view.cc:
Auto merged
sql/structs.h:
Auto merged
sql/unireg.h:
Auto merged
sql/item.cc:
manual merge
sql/log_event.cc:
manual merge
sql/protocol.cc:
manual merge
sql/sp_head.cc:
manual merge
sql/sql_base.cc:
manual merge
sql/sql_parse.cc:
manual merge
sql/sql_select.cc:
manual merge
Diffstat (limited to 'sql/item_subselect.cc')
-rw-r--r-- | sql/item_subselect.cc | 112 |
1 files changed, 58 insertions, 54 deletions
diff --git a/sql/item_subselect.cc b/sql/item_subselect.cc index 423f067e54d..614f30c48d7 100644 --- a/sql/item_subselect.cc +++ b/sql/item_subselect.cc @@ -13,12 +13,15 @@ along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -/* - subselect Item +/** + @file + + @brief + subselect Item -SUBSELECT TODO: - - add function from mysql_select that use JOIN* as parameter to JOIN methods - (sql_select.h/sql_select.cc) + @todo + - add function from mysql_select that use JOIN* as parameter to JOIN + methods (sql_select.h/sql_select.cc) */ #ifdef USE_PRAGMA_IMPLEMENTATION @@ -403,6 +406,16 @@ void Item_singlerow_subselect::reset() } +/** + @todo + - We cant change name of Item_field or Item_ref, because it will + prevent it's correct resolving, but we should save name of + removed item => we do not make optimization if top item of + list is field or reference. + - switch off this optimization for prepare statement, + because we do not rollback this changes. + Make rollback for it, or special name resolving mode in 5.0. +*/ Item_subselect::trans_res Item_singlerow_subselect::select_transformer(JOIN *join) { @@ -1445,24 +1458,24 @@ Item_in_subselect::select_transformer(JOIN *join) } -/* +/** Prepare IN/ALL/ANY/SOME subquery transformation and call appropriate - transformation function + transformation function. - SYNOPSIS - Item_in_subselect::select_in_like_transformer() - join JOIN object of transforming subquery - func creator of condition function of subquery - - DESCRIPTION To decide which transformation procedure (scalar or row) applicable here we have to call fix_fields() for left expression to be able to call cols() method on it. Also this method make arena management for underlying transformation methods. - RETURN + @param join JOIN object of transforming subquery + @param func creator of condition function of subquery + + @retval RES_OK OK - RES_REDUCE OK, and current subquery was reduced during transformation + @retval + RES_REDUCE OK, and current subquery was reduced during + transformation + @retval RES_ERROR Error */ @@ -2423,16 +2436,15 @@ void subselect_indexsubquery_engine::print(String *str) str->append(')'); } -/* - change select_result object of engine +/** + change select_result object of engine. - SYNOPSIS - subselect_single_select_engine::change_result() - si new subselect Item - res new select_result object + @param si new subselect Item + @param res new select_result object - RETURN + @retval FALSE OK + @retval TRUE error */ @@ -2445,16 +2457,15 @@ bool subselect_single_select_engine::change_result(Item_subselect *si, } -/* - change select_result object of engine +/** + change select_result object of engine. - SYNOPSIS - subselect_single_select_engine::change_result() - si new subselect Item - res new select_result object + @param si new subselect Item + @param res new select_result object - RETURN + @retval FALSE OK + @retval TRUE error */ @@ -2468,16 +2479,15 @@ bool subselect_union_engine::change_result(Item_subselect *si, } -/* - change select_result emulation, never should be called +/** + change select_result emulation, never should be called. - SYNOPSIS - subselect_single_select_engine::change_result() - si new subselect Item - res new select_result object + @param si new subselect Item + @param res new select_result object - RETURN + @retval FALSE OK + @retval TRUE error */ @@ -2489,14 +2499,12 @@ bool subselect_uniquesubquery_engine::change_result(Item_subselect *si, } -/* - Report about presence of tables in subquery - - SYNOPSIS - subselect_single_select_engine::no_tables() +/** + Report about presence of tables in subquery. - RETURN + @retval TRUE there are not tables used in subquery + @retval FALSE there are some tables in subquery */ bool subselect_single_select_engine::no_tables() @@ -2521,14 +2529,12 @@ bool subselect_single_select_engine::may_be_null() } -/* - Report about presence of tables in subquery +/** + Report about presence of tables in subquery. - SYNOPSIS - subselect_union_engine::no_tables() - - RETURN + @retval TRUE there are not tables used in subquery + @retval FALSE there are some tables in subquery */ bool subselect_union_engine::no_tables() @@ -2542,14 +2548,12 @@ bool subselect_union_engine::no_tables() } -/* - Report about presence of tables in subquery +/** + Report about presence of tables in subquery. - SYNOPSIS - subselect_uniquesubquery_engine::no_tables() - - RETURN + @retval TRUE there are not tables used in subquery + @retval FALSE there are some tables in subquery */ |