mirror of
https://github.com/MariaDB/server.git
synced 2025-08-15 22:37:22 +00:00
ft boolean search by table scan; queue_fix()
include/queues.h: queue_fix() introduced myisam/ft_boolean_search.c: ft boolean search by table scan myisam/ft_parser.c: ft boolean search by table scan myisam/ft_update.c: ft boolean search by table scan myisam/ftdefs.h: ft boolean search by table scan mysql-test/r/fulltext_cache.result: ft boolean search by table scan mysql-test/t/fulltext_cache.test: ft boolean search by table scan mysys/queues.c: queue_fix() introduced
This commit is contained in:
@ -124,7 +124,6 @@ byte *queue_remove(register QUEUE *queue, uint idx)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* Fix when element on top has been replaced */
|
||||
|
||||
#ifndef queue_replaced
|
||||
@ -166,3 +165,19 @@ void _downheap(register QUEUE *queue, uint idx)
|
||||
}
|
||||
queue->root[idx]=element;
|
||||
}
|
||||
|
||||
|
||||
static int queue_fix_cmp(QUEUE *queue, void *a, void *b)
|
||||
{
|
||||
return queue->compare(queue->first_cmp_arg,
|
||||
a+queue->offset_to_key,
|
||||
b+queue->offset_to_key);
|
||||
}
|
||||
|
||||
/* Fix heap when every element was changed */
|
||||
void queue_fix(QUEUE *queue)
|
||||
{
|
||||
qsort2(queue->root+1,queue->elements, sizeof(void *),
|
||||
(qsort2_cmp)queue_fix_cmp, queue);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user