diff options
author | unknown <serg@serg.mysql.com> | 2001-10-22 11:52:17 +0200 |
---|---|---|
committer | unknown <serg@serg.mysql.com> | 2001-10-22 11:52:17 +0200 |
commit | 9433c5387ea9e4ccacc0b1b78b9df27622f8eaae (patch) | |
tree | 66cc19e445c245361de212b34cf8f019322e916d | |
parent | b09eb958698a8a984ea8efccec08e25238f3bf3a (diff) | |
download | mariadb-git-9433c5387ea9e4ccacc0b1b78b9df27622f8eaae.tar.gz |
I have to commit to be able to pull
include/ft_global.h:
I have to checkin to be able to pull
myisam/ft_boolean_search.c:
I have to checkin to be able to pull
myisam/ft_nlq_search.c:
I have to checkin to be able to pull
myisam/ftdefs.h:
I have to checkin to be able to pull
sql/item_func.cc:
I have to checkin to be able to pull
sql/item_func.h:
I have to checkin to be able to pull
-rw-r--r-- | include/ft_global.h | 2 | ||||
-rw-r--r-- | myisam/ft_boolean_search.c | 4 | ||||
-rw-r--r-- | myisam/ft_nlq_search.c | 3 | ||||
-rw-r--r-- | myisam/ftdefs.h | 4 | ||||
-rw-r--r-- | sql/item_func.cc | 14 | ||||
-rw-r--r-- | sql/item_func.h | 8 |
6 files changed, 20 insertions, 15 deletions
diff --git a/include/ft_global.h b/include/ft_global.h index 8588684907d..0dbef652ce2 100644 --- a/include/ft_global.h +++ b/include/ft_global.h @@ -32,7 +32,7 @@ extern "C" { typedef struct st_ft_info FT_INFO; struct _ft_vft { int (*read_next)(FT_INFO *, char *); - float (*find_relevance)(FT_INFO *, my_off_t); + float (*find_relevance)(FT_INFO *, my_off_t, byte *); void (*close_search)(FT_INFO *); float (*get_relevance)(FT_INFO *); my_off_t (*get_docid)(FT_INFO *); diff --git a/myisam/ft_boolean_search.c b/myisam/ft_boolean_search.c index a850827c52e..15a6348336d 100644 --- a/myisam/ft_boolean_search.c +++ b/myisam/ft_boolean_search.c @@ -321,9 +321,9 @@ int ft_boolean_read_next(FT_INFO *ftb, char *record) return my_errno=HA_ERR_END_OF_FILE; } -float ft_boolean_find_relevance(FT_INFO *ftb, my_off_t docid) +float ft_boolean_find_relevance(FT_INFO *ftb, + my_off_t docid __attribute__((unused)), byte *record) { - fprintf(stderr, "ft_boolean_find_relevance called!\n"); return -1.0; /* to be done via str scan */ } diff --git a/myisam/ft_nlq_search.c b/myisam/ft_nlq_search.c index f0f878a7f16..93c63369ecc 100644 --- a/myisam/ft_nlq_search.c +++ b/myisam/ft_nlq_search.c @@ -247,7 +247,8 @@ int ft_nlq_read_next(FT_INFO *handler, char *record) return my_errno; } -float ft_nlq_find_relevance(FT_INFO *handler, my_off_t docid) +float ft_nlq_find_relevance(FT_INFO *handler, my_off_t docid, + byte *record __attribute__((unused))) { int a,b,c; FT_DOC *docs=handler->doc; diff --git a/myisam/ftdefs.h b/myisam/ftdefs.h index 9eedf57c759..0d5aaf931e3 100644 --- a/myisam/ftdefs.h +++ b/myisam/ftdefs.h @@ -126,7 +126,7 @@ FT_WORD * _mi_ft_parserecord(MI_INFO *, uint , byte *, const byte *); const struct _ft_vft _ft_vft_nlq; FT_INFO *ft_init_nlq_search(MI_INFO *, uint, byte *, uint, my_bool); int ft_nlq_read_next(FT_INFO *, char *); -float ft_nlq_find_relevance(FT_INFO *, my_off_t ); +float ft_nlq_find_relevance(FT_INFO *, my_off_t, byte *); void ft_nlq_close_search(FT_INFO *); float ft_nlq_get_relevance(FT_INFO *); my_off_t ft_nlq_get_docid(FT_INFO *); @@ -135,7 +135,7 @@ void ft_nlq_reinit_search(FT_INFO *); const struct _ft_vft _ft_vft_boolean; FT_INFO *ft_init_boolean_search(MI_INFO *, uint, byte *, uint, my_bool); int ft_boolean_read_next(FT_INFO *, char *); -float ft_boolean_find_relevance(FT_INFO *, my_off_t ); +float ft_boolean_find_relevance(FT_INFO *, my_off_t, byte *); void ft_boolean_close_search(FT_INFO *); float ft_boolean_get_relevance(FT_INFO *); my_off_t ft_boolean_get_docid(FT_INFO *); diff --git a/sql/item_func.cc b/sql/item_func.cc index bbe5e5fced9..1ca511be485 100644 --- a/sql/item_func.cc +++ b/sql/item_func.cc @@ -2065,6 +2065,7 @@ bool Item_func_match::fix_fields(THD *thd,struct st_table_list *tlist) } const_item_cache=0; table=((Item_field *)fields.head())->field->table; + record=table->record[0]; return 0; } @@ -2160,7 +2161,6 @@ bool Item_func_match::eq(const Item *item) const return 0; } -#if 0 double Item_func_match::val() { if (ft_handler==NULL) @@ -2182,10 +2182,10 @@ double Item_func_match::val() if ((null_value=(docid==HA_OFFSET_ERROR))) return 0.0; else - return ft_handler->please->find_relevance(ft_handler, docid); + return ft_handler->please->find_relevance(ft_handler, docid, record); } -#endif +#if 0 double Item_func_match_nl::val() { if (ft_handler==NULL) @@ -2207,7 +2207,7 @@ double Item_func_match_nl::val() if ((null_value=(docid==HA_OFFSET_ERROR))) return 0.0; else - return ft_handler->please->find_relevance(ft_handler, docid); + return ft_handler->please->find_relevance(ft_handler, docid, record); } double Item_func_match_bool::val() @@ -2226,9 +2226,11 @@ double Item_func_match_bool::val() join_key=0; } - null_value=1; - return -1.0; + return ft_handler->please->find_relevance(ft_handler, docid, record); + //null_value=1; + //return -1.0; } +#endif /*************************************************************************** System variables diff --git a/sql/item_func.h b/sql/item_func.h index ccc71d7f5fe..b5fd2561069 100644 --- a/sql/item_func.h +++ b/sql/item_func.h @@ -867,9 +867,10 @@ public: bool join_key; Item_func_match *master; FT_INFO * ft_handler; + byte *record; Item_func_match(List<Item> &a, Item *b): Item_real_func(b), - fields(a), table(0), join_key(0), master(0), ft_handler(0) {} + fields(a), table(0), join_key(0), master(0), ft_handler(0) {} ~Item_func_match() { if (!master && ft_handler) @@ -886,6 +887,7 @@ public: bool fix_fields(THD *thd,struct st_table_list *tlist); bool eq(const Item *) const; longlong val_int() { return val()!=0.0; } + double val(); bool fix_index(); void init_search(bool no_order); @@ -896,7 +898,7 @@ class Item_func_match_nl :public Item_func_match public: Item_func_match_nl(List<Item> &a, Item *b): Item_func_match(a,b) {} const char *func_name() const { return "match_nl"; } - double val(); +// double val(); int ft_handler_init(const byte *query, uint querylen, bool presort) { ft_handler=table->file->ft_init_ext(FT_NL,key, query, querylen, presort); } }; @@ -906,7 +908,7 @@ class Item_func_match_bool :public Item_func_match public: Item_func_match_bool(List<Item> &a, Item *b): Item_func_match(a,b) {} const char *func_name() const { return "match_bool"; } - double val(); +// double val(); int ft_handler_init(const byte *query, uint querylen, bool presort) { ft_handler=table->file->ft_init_ext(FT_BOOL,key, query, querylen, presort); } }; |