I noticed that I do not have all nodes listed on the translation overview page. Examined the problem, and I think the problem is that most of my nodes does not have nid = tnid for a translation group. In i18n-5.x tnid was a sequential number, and the upgrade only copied these values, does not transform it to a node number.

I am not sure if it was changed since my upgrade..

will try to write a sql update, to correct the tnid values..

Comments

pasqualle’s picture

these are the problems (2 languages only)

select n1.nid, n2.nid, n1.tnid
  from node n1, node n2
  where n1.nid<>n1.tnid
    and n2.nid<>n2.tnid
    and n1.nid<n2.nid
    and n1.tnid = n2.tnid
    and n1.tnid > 0
order by n1.tnid;
pasqualle’s picture

ok, this problem is critical
I just realized, that my previous crossrefenced translation was due this incorrect d6 upgrade. It is possible to have 4 nodes with same tnid for 2 languages.

example
node 128 and 129 have tnid 41 after d6 upgrade

later translation (in d6) of node 41 will result to have tnid 41 also. So 4 nodes with same tnid for 2 languages..

pasqualle’s picture

Title: Translation overview in upgraded drupal 6 » Translation overview in upgraded drupal 6 (incorrect tnid values)
Priority: Normal » Critical

I updated the tnid line by line, do not have a general update script..

drewish’s picture

that does seem like a bug but i don't know if it's the translation overview's to deal with... it's operating correctly on the way node translations are done in d6.

pasqualle’s picture

Component: Experimental modules » Miscellaneous

Yes, the problem is with the i18n migration from drupal 5 to drupal 6. The overview is correct.

jose reyero’s picture

Title: Translation overview in upgraded drupal 6 (incorrect tnid values) » Wrong tnids after Drupal 6 upgrade
Assigned: Unassigned » jose reyero
Status: Active » Fixed

Yes, there was something missing in the upgrade scripts.

Try re-running i18n - update 9 (I cannot create a new one, since people who did a fresh install don't have the old tables)

If you want to fix it manually, the query is.

// Add table prefixes manually
UPDATE node n SET n.tnid = (SELECT MIN(i.nid) FROM i18n_node i WHERE i.trid = n.tnid) WHERE n.tnid > 0

Let me know whether this works.

Anonymous’s picture

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for two weeks with no activity.

sinasalek’s picture

Thanks Jose, it worked for me