summaryrefslogtreecommitdiff
path: root/sql/item.h
diff options
context:
space:
mode:
authorunknown <bell@sanja.is.com.ua>2002-12-26 01:28:59 +0200
committerunknown <bell@sanja.is.com.ua>2002-12-26 01:28:59 +0200
commit1dfa625f7b2a0767ce458c47122093a8c2ecf664 (patch)
tree6a73d0cc2b8728ab821e54448c158fa784365acb /sql/item.h
parentda4d8e1b62edc5bc6f31d70279a619325ae69442 (diff)
downloadmariadb-git-1dfa625f7b2a0767ce458c47122093a8c2ecf664.tar.gz
support of subselect without FROM reducing (SCRUM)
fixed bug of calling setup_fields without correct lex->current_select pointer in mysql_derived more correct creation of reference in Item_field::fix_field mysql-test/r/subselect.result: new explain with subselect reduced mysql-test/t/subselect.test: new explain with subselect reduced sql/item.cc: support of subselect without FROM reducing more correct creation of reference in Item_field::fix_field sql/item.h: support of subselect without FROM reducing sql/item_cmpfunc.cc: support of subselect without FROM reducing sql/item_cmpfunc.h: support of subselect without FROM reducing sql/item_func.cc: support of subselect without FROM reducing sql/item_func.h: support of subselect without FROM reducing sql/item_row.cc: support of subselect without FROM reducing sql/item_row.h: support of subselect without FROM reducing sql/item_strfunc.h: fixed layout support of subselect without FROM reducing sql/item_subselect.cc: support of subselect without FROM reducing sql/item_subselect.h: support of subselect without FROM reducing sql/mysql_priv.h: reference in Item_field::fix_field related changes sql/sql_base.cc: reference in Item_field::fix_field related changes sql/sql_derived.cc: fixed bug of calling setup_fields without correct lex->current_select pointer
Diffstat (limited to 'sql/item.h')
-rw-r--r--sql/item.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/sql/item.h b/sql/item.h
index 4e3c5f597ab..508c737e7b9 100644
--- a/sql/item.h
+++ b/sql/item.h
@@ -96,6 +96,7 @@ public:
CHARSET_INFO *thd_charset() const;
CHARSET_INFO *charset() const { return str_value.charset(); };
void set_charset(CHARSET_INFO *cs) { str_value.set_charset(cs); }
+ virtual void set_outer_resolving() {}
// Row emulation
virtual uint cols() { return 1; }
@@ -117,12 +118,14 @@ public:
const char *table_name;
const char *field_name;
st_select_lex *depended_from;
+ bool outer_resolving; /* used for items from reduced subselect */
Item_ident(const char *db_name_par,const char *table_name_par,
const char *field_name_par)
- :db_name(db_name_par),table_name(table_name_par),
- field_name(field_name_par), depended_from(0)
+ :db_name(db_name_par), table_name(table_name_par),
+ field_name(field_name_par), depended_from(0), outer_resolving(0)
{ name = (char*) field_name_par; }
const char *full_name() const;
+ void set_outer_resolving() { outer_resolving= 1; }
};