summaryrefslogtreecommitdiff
path: root/sql/item_subselect.h
diff options
context:
space:
mode:
authorunknown <malff/marcsql@weblab.(none)>2007-01-30 10:16:46 -0700
committerunknown <malff/marcsql@weblab.(none)>2007-01-30 10:16:46 -0700
commit7687a272e44ab9f76fce839fbf2d11281c1d2982 (patch)
tree35222ed06f5971025273f37c1000938f9cd23635 /sql/item_subselect.h
parent74ac969d572848e98550f0e3c62864a03b5f1951 (diff)
parenta1e20e04d8f91f607a6c498989743f205dafa297 (diff)
downloadmariadb-git-7687a272e44ab9f76fce839fbf2d11281c1d2982.tar.gz
Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.0-runtime
into weblab.(none):/home/marcsql/TREE/mysql-5.0-21904 mysql-test/r/subselect.result: Auto merged mysql-test/t/subselect.test: Auto merged sql/item_subselect.cc: Auto merged sql/item_subselect.h: Auto merged sql/sql_yacc.yy: Auto merged
Diffstat (limited to 'sql/item_subselect.h')
-rw-r--r--sql/item_subselect.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/sql/item_subselect.h b/sql/item_subselect.h
index 69ac78d859b..a125a119ad8 100644
--- a/sql/item_subselect.h
+++ b/sql/item_subselect.h
@@ -125,6 +125,12 @@ public:
virtual void reset_value_registration() {}
enum_parsing_place place() { return parsing_place; }
+ /**
+ Get the SELECT_LEX structure associated with this Item.
+ @return the SELECT_LEX structure associated with this Item
+ */
+ st_select_lex* get_select_lex();
+
friend class select_subselect;
friend class Item_in_optimizer;
friend bool Item_field::fix_fields(THD *, Item **);
@@ -168,6 +174,16 @@ public:
bool null_inside();
void bring_value();
+ /**
+ 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.
+ Do not call this method for other purposes.
+ @return the SELECT_LEX structure that was given in the constructor.
+ */
+ st_select_lex* invalidate_and_restore_select_lex();
+
friend class select_singlerow_subselect;
};