summaryrefslogtreecommitdiff
path: root/sql/item.h
diff options
context:
space:
mode:
authorunknown <bell@laptop.sanja.is.com.ua>2003-08-16 02:04:29 +0300
committerunknown <bell@laptop.sanja.is.com.ua>2003-08-16 02:04:29 +0300
commit791f49f4e7de1b4c4b11b8b9a0207740b9adb59e (patch)
treedfb1160e05714eacc8c7499fc5f393f4758c6257 /sql/item.h
parent2f27bbd977067a841ca0a8bedd8a3a92ce773527 (diff)
downloadmariadb-git-791f49f4e7de1b4c4b11b8b9a0207740b9adb59e.tar.gz
As far as now transformer called after setup_wild() it is impossible to have '*'
Diffstat (limited to 'sql/item.h')
-rw-r--r--sql/item.h36
1 files changed, 10 insertions, 26 deletions
diff --git a/sql/item.h b/sql/item.h
index 602d5bd2676..ce8b4062580 100644
--- a/sql/item.h
+++ b/sql/item.h
@@ -626,6 +626,16 @@ public:
}
};
+class Item_null_helper :public Item_ref_null_helper
+{
+ Item *store;
+public:
+ Item_null_helper(Item_in_subselect* master, Item *item,
+ const char *table_name_par, const char *field_name_par)
+ :Item_ref_null_helper(master, &store, table_name_par, field_name_par),
+ store(item)
+ {}
+};
/*
Used to find item in list of select items after '*' items processing.
@@ -655,32 +665,6 @@ public:
};
/*
- To resolve '*' field moved to condition
- and register NULL values
-*/
-class Item_asterisk_remover :public Item_ref_null_helper
-{
- Item *item;
-public:
- Item_asterisk_remover(Item_in_subselect *master, Item *it,
- char *table, char *field):
- Item_ref_null_helper(master, &item, table, field),
- item(it)
- {}
- bool fix_fields(THD *, struct st_table_list *, Item ** ref);
- Item **storage() {return &item;}
- void print(String *str)
- {
- str->append("ref_null_helper('");
- if (item)
- item->print(str);
- else
- str->append('?');
- str->append(')');
- }
-};
-
-/*
The following class is used to optimize comparing of date columns
We need to save the original item, to be able to set the field to the
original value in 'opt_range'.