summaryrefslogtreecommitdiff
path: root/myisam/ft_nlq_search.c
diff options
context:
space:
mode:
authorunknown <serg@serg.mysql.com>2001-11-28 17:55:45 +0100
committerunknown <serg@serg.mysql.com>2001-11-28 17:55:45 +0100
commitf3918c8413199fff3339a62498ecc42d8c540c3a (patch)
treecaee073830ac75c7f6485bf0a5d92ffda5d16255 /myisam/ft_nlq_search.c
parent056c71f1ae445b96c13e241d40a729f16e65bb4a (diff)
downloadmariadb-git-f3918c8413199fff3339a62498ecc42d8c540c3a.tar.gz
boolean fulltext search without an index
myisam/ft_dump.c: some help added
Diffstat (limited to 'myisam/ft_nlq_search.c')
-rw-r--r--myisam/ft_nlq_search.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/myisam/ft_nlq_search.c b/myisam/ft_nlq_search.c
index 2a55ff839ca..5bb2ffab939 100644
--- a/myisam/ft_nlq_search.c
+++ b/myisam/ft_nlq_search.c
@@ -169,7 +169,7 @@ static int FT_DOC_cmp(FT_DOC *a, FT_DOC *b)
FT_INFO *ft_init_nlq_search(MI_INFO *info, uint keynr, byte *query,
uint query_len, my_bool presort)
{
- TREE *wtree, allocated_wtree;
+ TREE allocated_wtree, *wtree=&allocated_wtree;
ALL_IN_ONE aio;
FT_DOC *dptr;
FT_INFO *dlist=NULL;
@@ -193,7 +193,7 @@ FT_INFO *ft_init_nlq_search(MI_INFO *info, uint keynr, byte *query,
init_tree(&aio.dtree,0,0,sizeof(FT_SUPERDOC),(qsort_cmp2)&FT_SUPERDOC_cmp,0,
NULL, NULL);
- if(!(wtree=ft_parse(&allocated_wtree,query,query_len)))
+ if(ft_parse(&allocated_wtree,query,query_len))
goto err;
if(tree_walk(wtree, (tree_walk_action)&walk_and_match, &aio,
@@ -247,11 +247,15 @@ 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,
- byte *record __attribute__((unused)))
+float ft_nlq_find_relevance(FT_INFO *handler,
+ byte *record __attribute__((unused)), uint length __attribute__((unused)))
{
int a,b,c;
FT_DOC *docs=handler->doc;
+ my_off_t docid=handler->info->lastpos;
+
+ if (docid == HA_POS_ERROR)
+ return -5.0;
/* Assuming docs[] is sorted by dpos... */