summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBharat Mediratta <bharat@menalto.com>2009-02-02 01:13:52 +0000
committerBharat Mediratta <bharat@menalto.com>2009-02-02 01:13:52 +0000
commitd728e274f6ff3f312998f689f3eb144acd210916 (patch)
treed05f11239868ffa87038dddfad28829125e6fd5a
parent97cc8dc6261a4b3a03a62549f7db0fe8f00e720e (diff)
First time running search maintenance task, remove any search_records
that are missing matching items.
-rw-r--r--modules/search/helpers/search_task.php7
1 files changed, 7 insertions, 0 deletions
diff --git a/modules/search/helpers/search_task.php b/modules/search/helpers/search_task.php
index fd8338c1..116fd4f9 100644
--- a/modules/search/helpers/search_task.php
+++ b/modules/search/helpers/search_task.php
@@ -32,6 +32,13 @@ class search_task_Core {
static function update_index($task) {
$completed = $task->get("completed", 0);
+ if ($completed == 0) {
+ Database::instance()->query(
+ "DELETE `search_records`.* FROM `search_records` " .
+ "LEFT JOIN `items` ON (`search_records`.`item_id` = `items`.`id`) " .
+ "WHERE `items`.`id` IS NULL");
+ }
+
foreach (ORM::factory("search_record")->where("dirty", 1)->limit(2)->find_all() as $record) {
search::update_record($record);
$completed++;