summaryrefslogtreecommitdiff
path: root/sql/item_func.h
diff options
context:
space:
mode:
authorunknown <serg@serg.mylan>2003-10-25 00:03:44 +0200
committerunknown <serg@serg.mylan>2003-10-25 00:03:44 +0200
commit85d3e02e2e2bdee08252b898c2ff66f81d4f3958 (patch)
treed629b741c92a4e3b454dd11651a76a12d35b793f /sql/item_func.h
parentd8d642314cce9d0e9ea766a9d584529da6e59f18 (diff)
parent4e5f086b59a07914c9484c10cc74788858a3cc0b (diff)
downloadmariadb-git-85d3e02e2e2bdee08252b898c2ff66f81d4f3958.tar.gz
Merge serg.mylan:/usr/home/serg/Abk/mysql-4.1-bug
into serg.mylan:/usr/home/serg/Abk/mysql-4.1 sql/item_func.cc: Auto merged sql/item_func.h: Auto merged sql/mysql_priv.h: Auto merged sql/set_var.cc: Auto merged sql/sql_acl.cc: Auto merged sql/sql_show.cc: Auto merged sql/sql_yacc.yy: Auto merged
Diffstat (limited to 'sql/item_func.h')
-rw-r--r--sql/item_func.h45
1 files changed, 11 insertions, 34 deletions
diff --git a/sql/item_func.h b/sql/item_func.h
index fe9c2645216..0ba4445def2 100644
--- a/sql/item_func.h
+++ b/sql/item_func.h
@@ -971,20 +971,18 @@ public:
class Item_func_match :public Item_real_func
{
public:
- List<Item> fields;
- String value;
- TABLE *table;
- Item_func_match *master;
- FT_INFO * ft_handler;
- Item *concat;
- byte *record;
- uint key, mode;
+ uint key, flags;
bool join_key;
+ DTCollation cmp_collation;
+ FT_INFO *ft_handler;
+ TABLE *table;
+ Item_func_match *master; // for master-slave optimization
+ Item *concat; // Item_func_concat_ws
+ String value; // value of concat
+ String search_value; // key_item()'s value converted to cmp_collation
- Item_func_match(List<Item> &a, Item *b): Item_real_func(b),
- fields(a), table(0), master(0), ft_handler(0),
- concat(0), key(0), join_key(0)
- {}
+ Item_func_match(List<Item> &a, uint b): Item_real_func(a), flags(b),
+ table(0), master(0), ft_handler(0), concat(0), key(0), join_key(0) { }
~Item_func_match()
{
if (!master && ft_handler)
@@ -999,6 +997,7 @@ public:
delete concat;
}
enum Functype functype() const { return FT_FUNC; }
+ const char *func_name() const { return "match"; }
void update_used_tables() {}
table_map not_null_tables() const { return 0; }
bool fix_fields(THD *thd, struct st_table_list *tlist, Item **ref);
@@ -1008,28 +1007,6 @@ public:
bool fix_index();
void init_search(bool no_order);
-
- bool walk(Item_processor processor, byte *arg);
-};
-
-
-class Item_func_match_nl :public Item_func_match
-{
-public:
- Item_func_match_nl(List<Item> &a, Item *b)
- :Item_func_match(a,b)
- { mode=FT_NL; }
- const char *func_name() const { return "match_nl"; }
-};
-
-
-class Item_func_match_bool :public Item_func_match
-{
-public:
- Item_func_match_bool(List<Item> &a, Item *b)
- :Item_func_match(a,b)
- { mode=FT_BOOL; }
- const char *func_name() const { return "match_bool"; }
};