summaryrefslogtreecommitdiff
path: root/sql/item.h
diff options
context:
space:
mode:
authorunknown <monty@mashka.mysql.fi>2003-02-10 17:59:16 +0200
committerunknown <monty@mashka.mysql.fi>2003-02-10 17:59:16 +0200
commit96273457dd172291892b279c420a770e64e0a5a3 (patch)
treeafc92b80727719cbb09f63c506e547cb0aed94f4 /sql/item.h
parented95131e0637d6adb280e3501134dbf7496da3a4 (diff)
downloadmariadb-git-96273457dd172291892b279c420a770e64e0a5a3.tar.gz
Move tmp_table_used to THD
Optimize depending sub querys Remove valgrind warnings libmysqld/lib_sql.cc: Better way to reset errors mysql-test/mysql-test-run.sh: Remove wrong ` mysql-test/r/subselect.result: Don't use table t1 mysql-test/t/subselect.test: Don't use table t1 sql/item.cc: Indentation fix sql/item.h: optimize depending sub querys sql/item_func.cc: Remove warning for uninitalized data sql/item_row.cc: Remove warning sql/item_strfunc.h: Fixed memory overrun sql/item_subselect.cc: Better debugging names sql/log_event.cc: Move tmp_table_used to THD sql/sql_base.cc: Move tmp_table_used to THD sql/sql_class.cc: Move tmp_table_used to THD sql/sql_class.h: Move tmp_table_used to THD sql/sql_lex.cc: Move tmp_table_used to THD sql/sql_lex.h: Move tmp_table_used to THD sql/sql_parse.cc: Move tmp_table_used to THD sql/sql_select.cc: optimize depending sub querys sql/sql_table.cc: Move tmp_table_used to THD
Diffstat (limited to 'sql/item.h')
-rw-r--r--sql/item.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/sql/item.h b/sql/item.h
index 8c7914cefeb..531817c4844 100644
--- a/sql/item.h
+++ b/sql/item.h
@@ -102,6 +102,7 @@ public:
virtual void save_in_result_field(bool no_conversions) {}
virtual void no_rows_in_result() {}
virtual Item *copy_or_same(THD *thd) { return this; }
+ virtual Item *real_item() { return this; }
virtual Item *get_tmp_table_item(THD *thd) { return copy_or_same(thd); }
virtual bool binary() const
@@ -468,9 +469,10 @@ class Item_ref :public Item_ident
public:
Field *result_field; /* Save result here */
Item **ref;
- Item_ref(char *db_par,char *table_name_par,char *field_name_par)
+ Item_ref(const char *db_par, const char *table_name_par,
+ const char *field_name_par)
:Item_ident(db_par,table_name_par,field_name_par),ref(0) {}
- Item_ref(Item **item, char *table_name_par,char *field_name_par)
+ Item_ref(Item **item, const char *table_name_par, const char *field_name_par)
:Item_ident(NullS,table_name_par,field_name_par),ref(item) {}
// Constructor need to process subselect with temporary tables (see Item)
Item_ref(THD *thd, Item_ref &item)
@@ -521,6 +523,7 @@ public:
{
(*ref)->save_in_field(result_field, no_conversions);
}
+ Item *real_item() { return *ref; }
};
class Item_in_subselect;
@@ -530,7 +533,7 @@ protected:
Item_in_subselect* owner;
public:
Item_ref_null_helper(Item_in_subselect* master, Item **item,
- char *table_name_par, char *field_name_par):
+ const char *table_name_par, const char *field_name_par):
Item_ref(item, table_name_par, field_name_par), owner(master) {}
double val();
longlong val_int();