summaryrefslogtreecommitdiff
path: root/sql/item_subselect.h
diff options
context:
space:
mode:
authormalff/marcsql@weblab.(none) <>2007-01-30 09:20:25 -0700
committermalff/marcsql@weblab.(none) <>2007-01-30 09:20:25 -0700
commitdf0fbdf5356d1cbd01fd1ceeb11fea64f7d1c90f (patch)
treecd078e9f54c3f732bb4320484dff66896c9fd34d /sql/item_subselect.h
parent04a994580e5872b706d9634ec9b2a6cdf820f000 (diff)
parentf5ad4eed95817e7e85d80906ce807dbfcdd30e60 (diff)
downloadmariadb-git-df0fbdf5356d1cbd01fd1ceeb11fea64f7d1c90f.tar.gz
Merge weblab.(none):/home/marcsql/TREE/mysql-5.0-21904
into weblab.(none):/home/marcsql/TREE/mysql-5.1-21904-merge
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 5a0b2788678..819990b55d3 100644
--- a/sql/item_subselect.h
+++ b/sql/item_subselect.h
@@ -126,6 +126,12 @@ public:
enum_parsing_place place() { return parsing_place; }
bool walk(Item_processor processor, bool walk_subquery, byte *arg);
+ /**
+ 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 **);
@@ -169,6 +175,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;
};