My Project
Public Member Functions | Protected Attributes | Friends
Item_singlerow_subselect Class Reference
Inheritance diagram for Item_singlerow_subselect:
Item_subselect Item_result_field Item Item_maxmin_subselect

List of all members.

Public Member Functions

 Item_singlerow_subselect (st_select_lex *select_lex)
virtual void cleanup ()
subs_type substype ()
virtual void reset ()
trans_res select_transformer (JOIN *join)
void store (uint i, Item *item)
double val_real ()
longlong val_int ()
Stringval_str (String *)
my_decimalval_decimal (my_decimal *)
bool get_date (MYSQL_TIME *ltime, uint fuzzydate)
bool get_time (MYSQL_TIME *ltime)
bool val_bool ()
enum Item_result result_type () const
enum_field_types field_type () const
void fix_length_and_dec ()
virtual void no_rows_in_result ()
uint cols ()
Itemelement_index (uint i)
Item ** addr (uint i)
bool check_cols (uint c)
bool null_inside ()
void bring_value ()
st_select_lex * invalidate_and_restore_select_lex ()

Protected Attributes

Item_cachevalue
Item_cache ** row
bool no_rows
 no_rows_in_result

Friends

class select_singlerow_subselect

Member Function Documentation

This method is used to implement a special case of semantic tree rewriting, mandated by a SQL:2003 exception in the specification. The only caller of this method is handle_sql2003_note184_exception(), see the code there for more details. Note that this method breaks the object internal integrity, by removing it's association with the corresponding SELECT_LEX, making this object orphan from the parse tree. No other method, beside the destructor, should be called on this object, as it is now invalid.

Returns:
the SELECT_LEX structure that was given in the constructor.
Item_subselect::trans_res Item_singlerow_subselect::select_transformer ( JOIN join) [virtual]
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.

Reimplemented from Item_subselect.

Todo:
Make this functions class dependent

Reimplemented from Item.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines