I installed 6.x-1.x-dev. When I /node/add/multivariate, hit save I get an SQL error:

User warning: Column count doesn't match value count at row 1 query: INSERT INTO multivariate_mutation (nid, mutation_id, count) VALUES (13, 2, 0, 0) in _db_query() (line 147 of /Users/lukasfischer/Sites/drupal6support/includes/database.mysqli.inc).
User warning: Column count doesn't match value count at row 1 query: INSERT INTO multivariate_mutation (nid, mutation_id, count) VALUES (13, 1, 0, 0) in _db_query() (line 147 of /Users/lukasfischer/Sites/drupal6support/includes/database.mysqli.inc).
CommentFileSizeAuthor
#2 multivariate-sql-error-1309412.patch605 bytespivica

Comments

lukas.fischer’s picture

I fixed it by adding "success" to the SQL query:

Line 320 of multivariate.node.php
db_query('INSERT INTO {multivariate_mutation} (nid, mutation_id, count, success)

function multivariate_node_calculate($node) {
  $node_old = node_load($node->nid);
  if ($node->study_type != $node_old->study_type
      || $node->mutation != $node_old->mutation
      || $node->variation != $node_old->variation) {
    db_query('DELETE FROM {multivariate_mutation} WHERE nid = %d', $node->nid);

    $mutations = multivariate_mutation_definition_get($node);
    $binary = multivariate_node_calculate_binary($mutations, 0);
    foreach ($binary as $state) {
      $mutation_id = bindec($state);
      db_query('INSERT INTO {multivariate_mutation} (nid, mutation_id, count, success)
                VALUES (%d, %d, %d, %d)', $node->nid, $mutation_id, 0, 0);
    }
  }
}
pivica’s picture

Status: Needs work » Needs review
StatusFileSize
new605 bytes

Here is a patch against latest 6.x-1.x-dev version. Note that without this fix multivariate mutation will not work.