summaryrefslogtreecommitdiff
path: root/sql/item_func.h
diff options
context:
space:
mode:
authorunknown <serg@infomag.ape.relarn.ru>2000-08-17 19:30:36 +0400
committerunknown <serg@infomag.ape.relarn.ru>2000-08-17 19:30:36 +0400
commitf02d7772d9a18c312fba536784511f6858f0706f (patch)
tree6619554e62beb76cf3c8b15d68b4a3b36f96223a /sql/item_func.h
parent3843d8e5a7138c71361cd9901eb6f8271ff10f19 (diff)
downloadmariadb-git-f02d7772d9a18c312fba536784511f6858f0706f.tar.gz
Many MATCH'es per query now allowed (i.e. AND's and OR's now work, but
slow - full table scan); ORDER BY now works with MATCH (slow, full table scan) myisam/ft_eval.c: ft_read_next compatibility myisam/ft_test1.c: ft_read_next compatibility include/ft_global.h: ft_read_next redesigned, ft_get_relevance introduced sql/ha_myisam.cc: Many MATCH'es per query now allowed sql/ha_myisam.h: Many MATCH'es per query now allowed sql/handler.h: Many MATCH'es per query now allowed sql/item_func.cc: Many MATCH'es per query now allowed sql/item_func.h: Many MATCH'es per query now allowed sql/sql_select.cc: Many MATCH'es per query now allowed myisam/ft_search.c: HA_KEY_NOT_FOUND => HA_END_OF_FILE
Diffstat (limited to 'sql/item_func.h')
-rw-r--r--sql/item_func.h21
1 files changed, 11 insertions, 10 deletions
diff --git a/sql/item_func.h b/sql/item_func.h
index bd66ebde3c2..0e99673ead2 100644
--- a/sql/item_func.h
+++ b/sql/item_func.h
@@ -1,15 +1,15 @@
/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-
+
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
-
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
@@ -817,7 +817,7 @@ public:
void fix_length_and_dec();
enum Item_result result_type() const;
const char *func_name() const { return "get_user_var"; }
-};
+};
class Item_func_inet_aton : public Item_int_func
{
@@ -830,22 +830,23 @@ public:
/* SerG: for fulltext search */
+#include <ft_global.h>
class Item_func_match :public Item_real_func
{
public:
- // handler *File;
List<Item> fields;
TABLE *table;
uint key;
- bool auto_init_was_done;
+ bool first_call, join_key;
+ FT_DOCLIST *ft_handler;
Item_func_match(List<Item> &a, Item *b): Item_real_func(b),
- fields(a), table(0)
- {}
- ~Item_func_match() {}
+ fields(a), table(0), ft_handler(0)
+ {}
+ ~Item_func_match() { ft_close_search(ft_handler);
+ if(join_key) table->file->ft_handler=0; }
const char *func_name() const { return "match"; }
- //optimize_type select_optimize() const { return OPTIMIZE_FT; }
enum Functype functype() const { return FT_FUNC; }
void update_used_tables() {}
bool fix_fields(THD *thd,struct st_table_list *tlist);