Changeset 12447

Show
Ignore:
Timestamp:
02/14/08 14:44:02 (11 months ago)
Author:
pottedmeat
Message:

Refs #5602. Further caching updates for cron, and some nid/vid stuff

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • util/branches/dev/jsdoc/jsdoc.module

    r12444 r12447  
    438438      foreach (jsdoc_projects() as $project) { 
    439439        $version = jsdoc_version_node_load('HEAD', $project); 
     440        $query = db_query("SELECT vid FROM {jsdoc_resources} WHERE used = 0"); 
     441        while ($result = db_fetch_object($query)) { 
     442          $object_query = db_query("SELECT MAX(vid) AS vid FROM {jsdoc_objects} WHERE resource_vid = %d OR provide_vid = %d GROUP BY nid"); 
     443          if ($vid = db_result($object_query)) { 
     444            db_query("UPDATE {jsdoc_objects} SET used = 0 WHERE vid = %d", $vid); 
     445          } 
     446        } 
    440447        db_query("UPDATE {jsdoc_resources} SET used = 0 WHERE used = 1 AND version = %d", $version->nid); 
    441448      } 
     
    593600 
    594601      // TODO: Delete items from cache 
    595       if (!db_result(db_query("SELECT 1 FROM {jsdoc_objects} WHERE used = 0 UNION SELECT 1 FROM {jsdoc_resources} WHERE used = 0"))) { 
     602      if (!db_result(db_query("SELECT 1 FROM {jsdoc_resources} WHERE used = 0"))) { 
    596603        // If all items are used (typically happens the first pass), then none of them are new. 
    597604        // We can do this because if nothing is missing, then all then new things are really new. 
    598605        db_query("UPDATE {jsdoc_objects} SET new = 0"); 
    599         db_query("UPDATE {jsdoc_resources} SET new = 0"); 
    600606      } 
    601607    } 
     
    34783484    while ($term = db_fetch_object($result)) { 
    34793485      if ($term->parent_vid) { 
    3480         $children[$term->parent_vid][] = $term->vid; 
    3481         $parents[$term->vid][] = array($term->parent_nid, $term->parent_vid); 
    3482       } 
    3483       $terms[$term->vid] = $term; 
     3486        $children[$term->parent_nid][] = $term->nid; 
     3487        $parents[$term->nid][] = array($term->parent_nid, $term->parent_vid); 
     3488      } 
     3489      $terms[$term->nid] = $term; 
    34843490    } 
    34853491  } 
     
    36413647 
    36423648function _jsdoc_cron_validate_include() { 
    3643   if (db_result(db_query("SELECT 1 FROM {jsdoc_objects} WHERE used = 0 UNION SELECT 1 FROM {jsdoc_resources} WHERE used = 0"))) { 
     3649  if (db_result(db_query("SELECT 1 FROM {jsdoc_objects} WHERE used = 0"))) { 
    36443650    watchdog('jsdoc', t('Update code changes before running cron'), WATCHDOG_ERROR); 
    36453651    return false;