summaryrefslogtreecommitdiff
path: root/sql/item_subselect.h
diff options
context:
space:
mode:
authorunknown <gkodinov/kgeorge@macbook.gmz>2006-11-07 18:44:37 +0200
committerunknown <gkodinov/kgeorge@macbook.gmz>2006-11-07 18:44:37 +0200
commit5ad3ed8c190fbd36043bc9b5299439dca66dc764 (patch)
tree1d89504499c7786fd26b7b8f0881bc789d9996ed /sql/item_subselect.h
parentc0487fb97057727c9587cc05150df64f118c2d31 (diff)
parent5af4fd256321748a5ac7c8d4407f8ce977345e04 (diff)
downloadmariadb-git-5ad3ed8c190fbd36043bc9b5299439dca66dc764.tar.gz
Merge macbook.gmz:/Users/kgeorge/mysql/work/B11032-4.1-opt
into macbook.gmz:/Users/kgeorge/mysql/work/B11032-5.0-opt mysql-test/r/subselect.result: merge fixes mysql-test/t/subselect.test: merge fixes sql/item_subselect.cc: merge fixes sql/item_subselect.h: merge fixes
Diffstat (limited to 'sql/item_subselect.h')
-rw-r--r--sql/item_subselect.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/sql/item_subselect.h b/sql/item_subselect.h
index 0c6ba055096..f1be99353cc 100644
--- a/sql/item_subselect.h
+++ b/sql/item_subselect.h
@@ -159,6 +159,7 @@ public:
my_decimal *val_decimal(my_decimal *);
bool val_bool();
enum Item_result result_type() const;
+ enum_field_types field_type() const;
void fix_length_and_dec();
uint cols();
@@ -311,6 +312,7 @@ protected:
THD *thd; /* pointer to current THD */
Item_subselect *item; /* item, that use this engine */
enum Item_result res_type; /* type of results */
+ enum_field_types res_field_type; /* column type of the results */
bool maybe_null; /* may be null (first item in select) */
public:
@@ -320,6 +322,7 @@ public:
result= res;
item= si;
res_type= STRING_RESULT;
+ res_field_type= FIELD_TYPE_VAR_STRING;
maybe_null= 0;
}
virtual ~subselect_engine() {}; // to satisfy compiler
@@ -358,6 +361,7 @@ public:
virtual uint cols()= 0; /* return number of columns in select */
virtual uint8 uncacheable()= 0; /* query is uncacheable */
enum Item_result type() { return res_type; }
+ enum_field_types field_type() { return res_field_type; }
virtual void exclude()= 0;
bool may_be_null() { return maybe_null; };
virtual table_map upper_select_const_tables()= 0;
@@ -368,6 +372,9 @@ public:
virtual bool is_executed() const { return FALSE; }
/* Check if subquery produced any rows during last query execution */
virtual bool no_rows() = 0;
+
+protected:
+ void set_row(List<Item> &item_list, Item_cache **row);
};