summaryrefslogtreecommitdiff
path: root/sql/sql_lex.h
diff options
context:
space:
mode:
authorunknown <bell@sanja.is.com.ua>2003-11-23 02:01:15 +0200
committerunknown <bell@sanja.is.com.ua>2003-11-23 02:01:15 +0200
commit3e21b667bcf164779674e0c08d8c1b9044acc2b5 (patch)
treee4fd5f08fab614b6e2c048191bd9451abd45131d /sql/sql_lex.h
parent920c30b43a3be8955db4e03cc393dd56ac8f5239 (diff)
downloadmariadb-git-3e21b667bcf164779674e0c08d8c1b9044acc2b5.tar.gz
Fixed UNION fields type/length detecting
mysql-test/r/union.result: new results with max union field length detecting type conversion tests mysql-test/t/union.test: type conversion tests sql/field.h: field converion support sql/item.cc: fixed printing field of internal temporary table of SELECT (reference from HAVING clause) layout fix new item for storing field type sql/item.h: new item for storing field type sql/item_subselect.cc: new subquery item length/dec detecting sql/mysql_priv.h: we do not need pre-inited tables and fields sql/sql_base.cc: we do not need double fix_fielding sql/sql_class.h: we do not need double fix_fielding sql/sql_derived.cc: preparing moved before temporary table creation sql/sql_lex.h: we do not need pre-inited tables and fields new lists to store fields types and fields of temporary table sql/sql_parse.cc: we do not need pre-inited tables and fields sql/sql_prepare.cc: we do not need pre-inited tables and fields sql/sql_select.cc: we do not need pre-inited tables and fields support mysql_select call from derived tables after it preparing (in derived table routing) support of crreating temporary table fields from Item_type_holder sql/sql_select.h: we do not need pre-inited tables and fields sql/sql_union.cc: we do not need pre-inited tables and fields check of columns number in union moved to prepare() prepering of SELECTS moved before temporary table creation, fixed union columns type/length detecting sql/sql_update.cc: we do not need pre-inited tables and fields
Diffstat (limited to 'sql/sql_lex.h')
-rw-r--r--sql/sql_lex.h11
1 files changed, 7 insertions, 4 deletions
diff --git a/sql/sql_lex.h b/sql/sql_lex.h
index d2345165eb9..29301053c59 100644
--- a/sql/sql_lex.h
+++ b/sql/sql_lex.h
@@ -295,7 +295,6 @@ class JOIN;
class select_union;
class st_select_lex_unit: public st_select_lex_node {
protected:
- List<Item> item_list;
TABLE_LIST result_table_list;
select_union *union_result;
TABLE *table; /* temporary table using for appending UNION results */
@@ -305,9 +304,13 @@ protected:
ulong found_rows_for_union;
bool prepared, // prepare phase already performed for UNION (unit)
optimized, // optimize phase already performed for UNION (unit)
- executed, // already executed
- t_and_f; // used for transferring tables_and_fields_initied UNIT:: methods
+ executed; // already executed
+
public:
+ // list of fields which points to temporary table for union
+ List<Item> item_list;
+ // list of types of items inside union (used for union & derived tables)
+ List<Item> types;
/*
Pointer to 'last' select or pointer to unit where stored
global parameters for union
@@ -342,7 +345,7 @@ public:
void exclude_tree();
/* UNION methods */
- int prepare(THD *thd, select_result *result, bool tables_and_fields_initied);
+ int prepare(THD *thd, select_result *result);
int exec();
int cleanup();