You are here

function text_update_2 in Content Construction Kit (CCK) 5

Populate nid column in existing short-text fields.

File

./text.install, line 34

Code

function text_update_2() {

  // Multi-part update
  if (!isset($_SESSION['text_update_2'])) {
    $_SESSION['text_update_2'] = 0;
    $_SESSION['text_update_2_max'] = db_result(db_query("SELECT COUNT(*) FROM {node_field_shorttext_data}"));
  }
  $limit = 20;
  $result = db_query_range("SELECT nr.nid, nfsd.vid, nfsd.field_name, nfsd.delta FROM {node_field_shorttext_data} nfsd LEFT JOIN {node_revisions} nr ON nr.vid = nfsd.vid", $_SESSION['text_update_2'], $limit);
  if (db_num_rows($result) == 0) {
    unset($_SESSION['text_update_2']);
    unset($_SESSION['text_update_2_max']);
    return array();
  }
  while ($data = db_fetch_object($result)) {
    $_SESSION['text_update_2']++;
    db_query("UPDATE {node_field_shorttext_data} SET nid = %d WHERE vid = %d AND field_name = '%s' AND delta = %d", $data->nid, $data->vid, $data->field_name, $data->delta);
  }
  return array(
    '#finished' => $_SESSION['text_update_2'] / $_SESSION['text_update_2_max'],
  );
}