summaryrefslogtreecommitdiff
path: root/sql/item_subselect.cc
diff options
context:
space:
mode:
Diffstat (limited to 'sql/item_subselect.cc')
-rw-r--r--sql/item_subselect.cc112
1 files changed, 58 insertions, 54 deletions
diff --git a/sql/item_subselect.cc b/sql/item_subselect.cc
index 843c6ced263..760c991198a 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
*/
@@ -2412,16 +2425,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
*/
@@ -2434,16 +2446,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
*/
@@ -2457,16 +2468,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
*/
@@ -2478,14 +2488,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()
@@ -2510,14 +2518,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()
@@ -2531,14 +2537,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
*/