summaryrefslogtreecommitdiff
path: root/sql/item_func.h
diff options
context:
space:
mode:
authorunknown <serg@serg.mylan>2003-10-20 15:53:48 +0200
committerunknown <serg@serg.mylan>2003-10-20 15:53:48 +0200
commit228f4a43a353e9e7c56e1a617749fc9c0e875f6d (patch)
treeff0f9b71c43cfc4ed4e2fa91a8398677dae7377a /sql/item_func.h
parent4a253d2af04869a3e28831b71ddbc5d78279fe5e (diff)
downloadmariadb-git-228f4a43a353e9e7c56e1a617749fc9c0e875f6d.tar.gz
FULLTEXT: correct charset support (UTF included, UCS2 - not)
code cleanup include/m_ctype.h: my_mbcharlen_8bit() { return 1 } mysql-test/r/fulltext.result: fulltext on UTF mysql-test/t/fulltext.test: fulltext on UTF sql/item_cmpfunc.h: cleanup sql/sql_table.cc: FULLTEXT: UCS2 is not allowed sql/sql_yacc.yy: FULLTEXT: code cleanup strings/ctype-bin.c: my_mbcharlen_8bit() { return 1 } strings/ctype-latin1.c: my_mbcharlen_8bit() { return 1 } strings/ctype-simple.c: my_mbcharlen_8bit() { return 1 } strings/ctype-tis620.c: my_mbcharlen_8bit() { return 1 } strings/ctype-utf8.c: hack: (to be fixed properly later) all multi-byte sequences are considered isalpha() now
Diffstat (limited to 'sql/item_func.h')
-rw-r--r--sql/item_func.h30
1 files changed, 11 insertions, 19 deletions
diff --git a/sql/item_func.h b/sql/item_func.h
index 8086e65786d..33609694fe9 100644
--- a/sql/item_func.h
+++ b/sql/item_func.h
@@ -962,20 +962,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;
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): Item_real_func(a),
+ table(0), master(0), ft_handler(0), concat(0), key(0), join_key(0) { }
~Item_func_match()
{
if (!master && ft_handler)
@@ -999,17 +997,13 @@ 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; }
+ Item_func_match_nl(List<Item> &a) :Item_func_match(a) { mode=FT_NL; }
const char *func_name() const { return "match_nl"; }
};
@@ -1017,9 +1011,7 @@ public:
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; }
+ Item_func_match_bool(List<Item> &a) :Item_func_match(a) { mode=FT_BOOL; }
const char *func_name() const { return "match_bool"; }
};