Esempio n. 1
0
 public static function restoreDatabase()
 {
     if (SwitchDatabase::$changedDB) {
         if (SwitchDatabase::isEcontentDatabase()) {
             SwitchDatabase::switchToVuFind();
         } else {
             SwitchDatabase::switchToEcontent();
         }
         SwitchDatabase::$changedDB = false;
     }
 }
foreach ($configArray['Database'] as $key => $value) {
    if (preg_match('/table_(.*)/', $key, $matches)) {
        if ($value == 'vufind') {
            SwitchDatabase::switchToVuFind();
        } else {
            SwitchDatabase::switchToEcontent();
        }
        $tableName = $matches[1];
        //Some tables take too long to optimize, ignore them.
        if (in_array($tableName, array('analytics_session'))) {
            optimizeTable($tableName);
        }
    }
}
//Optimize tables that are not part of the browse definition
SwitchDatabase::switchToVuFind();
set_time_limit(300);
optimizeTable('title_browse');
optimizeTable('title_browse_metadata');
optimizeTable('title_browse_scoped_results_global');
optimizeTable('author_browse');
optimizeTable('author_browse_metadata');
optimizeTable('author_browse_scoped_results_global');
optimizeTable('subject_browse');
optimizeTable('subject_browse_metadata');
optimizeTable('subject_browse_scoped_results_global');
optimizeTable('callnumber_browse');
optimizeTable('callnumber_browse_metadata');
optimizeTable('callnumber_browse_scoped_results_global');
while ($library->fetch()) {
    optimizeTable("title_browse_scoped_results_library_{$library->subdomain}");