summaryrefslogtreecommitdiff
path: root/sql/item_func.h
diff options
context:
space:
mode:
authorserg@infomag.ape.relarn.ru <>2000-08-28 17:43:58 +0400
committerserg@infomag.ape.relarn.ru <>2000-08-28 17:43:58 +0400
commiteb8ad15751606cf9203caff2515ac868dd03c8d0 (patch)
tree485c3b99b43fae8c2b58b7a5ab72b383265423d2 /sql/item_func.h
parent6236dfc7a34cd528b5d11fad4ce32d230720ce44 (diff)
downloadmariadb-git-eb8ad15751606cf9203caff2515ac868dd03c8d0.tar.gz
ft_optimization: identical queries merging. collection -> fulltext. Bugs fixed.
**************** !!! NOTE EVERYBODY: SYNTAX CHANGED !!! ******************** There's no COLLECTIONs now, full-text indexes can be created via the word FULLTEXT, which should be used like UNIQUE.
Diffstat (limited to 'sql/item_func.h')
-rw-r--r--sql/item_func.h21
1 files changed, 15 insertions, 6 deletions
diff --git a/sql/item_func.h b/sql/item_func.h
index efee77c7be2..4af3e604f38 100644
--- a/sql/item_func.h
+++ b/sql/item_func.h
@@ -839,19 +839,28 @@ public:
TABLE *table;
uint key;
bool first_call, join_key;
+ Item_func_match *master;
FT_DOCLIST *ft_handler;
Item_func_match(List<Item> &a, Item *b): Item_real_func(b),
- fields(a), table(0), ft_handler(0)
- {}
- ~Item_func_match() { ft_close_search(ft_handler);
- if(join_key) table->file->ft_handler=0; }
+ fields(a), table(0), ft_handler(0), master(0) {}
+ ~Item_func_match()
+ {
+ if (!master)
+ {
+ ft_close_search(ft_handler);
+ if(join_key)
+ table->file->ft_handler=0;
+ }
+ }
const char *func_name() const { return "match"; }
enum Functype functype() const { return FT_FUNC; }
void update_used_tables() {}
bool fix_fields(THD *thd,struct st_table_list *tlist);
- bool fix_index();
-
+ bool eq(const Item *) const;
double val();
longlong val_int() { return val()!=0.0; }
+
+ bool fix_index();
+ void init_search();
};