Merge pull request #2281 from annando/1601-repair-database
Frequently repair of database entries
This commit is contained in:
commit
a447839c50
1 changed files with 21 additions and 0 deletions
|
@ -164,6 +164,9 @@ function cron_run(&$argv, &$argc){
|
||||||
// Repair missing Diaspora values in contacts
|
// Repair missing Diaspora values in contacts
|
||||||
cron_repair_diaspora($a);
|
cron_repair_diaspora($a);
|
||||||
|
|
||||||
|
// Repair entries in the database
|
||||||
|
cron_repair_database();
|
||||||
|
|
||||||
$manual_id = 0;
|
$manual_id = 0;
|
||||||
$generation = 0;
|
$generation = 0;
|
||||||
$force = false;
|
$force = false;
|
||||||
|
@ -417,6 +420,24 @@ function cron_repair_diaspora(&$a) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Do some repairs in database entries
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
function cron_repair_database() {
|
||||||
|
|
||||||
|
// Set the parent if it wasn't set. (Shouldn't happen - but does sometimes)
|
||||||
|
// This call is very "cheap" so we can do it at any time without a problem
|
||||||
|
q("UPDATE `item` INNER JOIN `item` AS `parent` ON `parent`.`uri` = `item`.`parent-uri` AND `parent`.`uid` = `item`.`uid` SET `item`.`parent` = `parent`.`id` WHERE `item`.`parent` = 0");
|
||||||
|
|
||||||
|
/// @todo
|
||||||
|
/// - remove duplicated contacts with uid=0 (We could do this at the place where the contacts are stored)
|
||||||
|
/// - remove thread entries without item
|
||||||
|
/// - remove sign entries without item
|
||||||
|
/// - remove children when parent got lost
|
||||||
|
/// - set contact-id in item when not present
|
||||||
|
}
|
||||||
|
|
||||||
if (array_search(__file__,get_included_files())===0){
|
if (array_search(__file__,get_included_files())===0){
|
||||||
cron_run($_SERVER["argv"],$_SERVER["argc"]);
|
cron_run($_SERVER["argv"],$_SERVER["argc"]);
|
||||||
killme();
|
killme();
|
||||||
|
|
Loading…
Reference in a new issue