* get the right number of nailed items? This is a useful crosscheck in
* case the set of critical rels or indexes changes. However, that should
* not happen in a normally-running system, so let's bleat if it does.
+ *
+ * For the shared init file, we're called before client authentication is
+ * done, which means that elog(WARNING) will go only to the postmaster
+ * log, where it's easily missed. To ensure that developers notice bad
+ * values of NUM_CRITICAL_SHARED_RELS/NUM_CRITICAL_SHARED_INDEXES, we put
+ * an Assert(false) there.
*/
if (shared)
{
elog(WARNING, "found %d nailed shared rels and %d nailed shared indexes in init file, but expected %d and %d respectively",
nailed_rels, nailed_indexes,
NUM_CRITICAL_SHARED_RELS, NUM_CRITICAL_SHARED_INDEXES);
+ /* Make sure we get developers' attention about this */
+ Assert(false);
+ /* In production builds, recover by bootstrapping the relcache */
goto read_failed;
}
}
elog(WARNING, "found %d nailed rels and %d nailed indexes in init file, but expected %d and %d respectively",
nailed_rels, nailed_indexes,
NUM_CRITICAL_LOCAL_RELS, NUM_CRITICAL_LOCAL_INDEXES);
+ /* We don't need an Assert() in this case */
goto read_failed;
}
}