}
+void regenerate_secondary_indices(void) {
+ syslog(LOG_INFO, "regenerate_secondary_indices has been activated.");
+
+ rebuild_usersbynumber();
+ rebuild_euid_index();
+ CtdlRebuildDirectoryIndex();
+ // we also need to trigger the fulltext foo
+
+ CtdlSetConfigInt("regenerate_secondary_indices", 0);
+}
+
+
// Based on the server version number reported by the existing database,
// run in-place data format upgrades until everything is up to date.
void pre_startup_upgrades(void) {
if (oldver == 0) {
create_default_admin_account();
}
+
+ // Setting this key to nonzero causes the server to regenerate all data that can be derived
+ // from other tables: usersbynumber, directory, fulltext.
+ // The import utility (ctdlload) sets this key.
+ if (CtdlGetConfigInt("regenerate_secondary_indices") != 0) {
+ regenerate_secondary_indices();
+ }
}