This error is generated occasionally when running admin/cron.php
<div class="notifytiny" style="text-align:center">ERROR: relation "core_blog" does not exist<br /><br />
DELETE FROM core_tag_instance WHERE
core_tag_instance.id
IN
( SELECT sq1.id
FROM
(SELECT sq2.*
FROM core_tag_instance sq2
LEFT JOIN core_blog item
ON sq2.itemid = item.id
WHERE item.id IS NULL
AND sq2.itemtype = 'blog')
sq1
) <ul style="text-align: left"><li>line 1393 of lib/dmllib.php: call to debugging()</li><li>line 917 of tag/lib.php: call to delete_records_select()</li><li>line 1132 of tag/lib.php: call to tag_instance_table_cleanup()</li><li>line 339 of admin/cron.php: call to tag_cron()</li></ul></div>
This is an interesting error, as it has taken some time for me to spot it. The call to tag_cron() is within the 'only call occasionally' section of admin/cron.php, so it does not always appear.
The fix is very easy. The table <prefix>blog no longer exists. So changing the appropriate line in this query solves the issue:
LEFT JOIN core_blog item //original line
LEFT JOIN core_tag item //corrected line
In the code it is line 910 of tag/lib.php where the variable $type->itemtype should be replaced with 'tag', as is already done in the case just below on line 930.
- will help resolve
-
MDLSITE-345 Interests Disappeared from Profile
-
- Closed
-