Index: trackback.install
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/trackback/trackback.install,v
retrieving revision 1.8
diff -u -r1.8 trackback.install
--- trackback.install	21 Nov 2007 16:48:11 -0000	1.8
+++ trackback.install	25 Mar 2009 00:15:19 -0000
@@ -7,6 +7,15 @@
 function trackback_install() {
   // Create tables.
   drupal_install_schema('trackback');
+  
+  // Add existing nodes to trackback_node table.
+  $result = db_query("SELECT nid FROM {node}");
+  while ($node = db_result($result)) {
+    db_query("INSERT INTO {trackback_node} (nid, awaiting_cron, can_receive) VALUES (%d, %d, %d)",
+    $node,
+    0,
+    1);
+  }
 }
 
 /**
@@ -231,3 +240,24 @@
   }
   return $ret;
 }
+
+function trackback_update_6() {
+  $ret = array();
+  // Add missing nodes to trackback_node table.
+  $header = array(
+    array('field' => 'nid', 'sort' => 'asc'),
+  );
+  $order = tablesort_sql($header);
+  $trackback_result = db_query("SELECT nid FROM {trackback_node}". $order);
+  $trackback_nid = db_result($trackback_result);
+  $node_result = db_query("SELECT nid FROM {node}". $order);
+  while ($node_nid = db_result($node_result)) {
+    if ($node_nid == $trackback_nid) {
+      $trackback_nid = db_result($trackback_result);
+    }
+    else {
+      $ret[] = update_sql("INSERT INTO {trackback_node} (nid, awaiting_cron, can_receive) VALUES ($node_nid, 0, 1)");
+    }
+  }
+  return $ret;
+}

