diff options
author | unknown <bell@laptop.sanja.is.com.ua> | 2003-08-16 02:04:29 +0300 |
---|---|---|
committer | unknown <bell@laptop.sanja.is.com.ua> | 2003-08-16 02:04:29 +0300 |
commit | 791f49f4e7de1b4c4b11b8b9a0207740b9adb59e (patch) | |
tree | dfb1160e05714eacc8c7499fc5f393f4758c6257 /sql/item.h | |
parent | 2f27bbd977067a841ca0a8bedd8a3a92ce773527 (diff) | |
download | mariadb-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.h | 36 |
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'. |