This seems like a clearer name for what it does now.
Provide a compatibility macro so that extensions don't have to convert
to the new name right away.
Discussion: https://postgr.es/m/116024.
1640111629@sss.pgh.pa.us
NULL,
NULL);
- EmitWarningsOnPlaceholders("auth_delay");
+ MarkGUCPrefixReserved("auth_delay");
/* Install Hooks */
original_client_auth_hook = ClientAuthentication_hook;
NULL,
NULL);
- EmitWarningsOnPlaceholders("auto_explain");
+ MarkGUCPrefixReserved("auto_explain");
/* Install hooks. */
prev_ExecutorStart = ExecutorStart_hook;
NULL,
NULL);
- EmitWarningsOnPlaceholders("pg_prewarm");
+ MarkGUCPrefixReserved("pg_prewarm");
RequestAddinShmemSpace(MAXALIGN(sizeof(AutoPrewarmSharedState)));
NULL,
NULL);
- EmitWarningsOnPlaceholders("pg_stat_statements");
+ MarkGUCPrefixReserved("pg_stat_statements");
/*
* Request additional shared resources. (These are no-ops if we're not in
NULL,
NULL);
- EmitWarningsOnPlaceholders("pg_trgm");
+ MarkGUCPrefixReserved("pg_trgm");
}
/*
NULL,
NULL);
- EmitWarningsOnPlaceholders("postgres_fdw");
+ MarkGUCPrefixReserved("postgres_fdw");
}
NULL,
NULL);
- EmitWarningsOnPlaceholders("sepgsql");
+ MarkGUCPrefixReserved("sepgsql");
/* Initialize userspace access vector cache */
sepgsql_avc_init();
}
/*
+ * Mark the given GUC prefix as "reserved".
+ *
+ * This prints warnings if there are any existing placeholders matching
+ * the prefix, and then prevents new ones from being created.
* Extensions should call this after they've defined all of their custom
- * GUCs, to help catch misspelled config-file entries,
+ * GUCs, to help catch misspelled config-file entries.
*/
void
-EmitWarningsOnPlaceholders(const char *className)
+MarkGUCPrefixReserved(const char *className)
{
int classLen = strlen(className);
int i;
GucEnumAssignHook assign_hook,
GucShowHook show_hook);
-extern void EmitWarningsOnPlaceholders(const char *className);
+extern void MarkGUCPrefixReserved(const char *className);
+
+/* old name for MarkGUCPrefixReserved, for backwards compatibility: */
+#define EmitWarningsOnPlaceholders(className) MarkGUCPrefixReserved(className)
extern const char *GetConfigOption(const char *name, bool missing_ok,
bool restrict_privileged);
PGC_SUSET, 0,
NULL, NULL, NULL);
- EmitWarningsOnPlaceholders("plperl");
+ MarkGUCPrefixReserved("plperl");
/*
* Create hash tables.
plpgsql_extra_errors_assign_hook,
NULL);
- EmitWarningsOnPlaceholders("plpgsql");
+ MarkGUCPrefixReserved("plpgsql");
plpgsql_HashTableInit();
RegisterXactCallback(plpgsql_xact_cb, NULL);
PGC_SUSET, 0,
NULL, NULL, NULL);
- EmitWarningsOnPlaceholders("pltcl");
- EmitWarningsOnPlaceholders("pltclu");
+ MarkGUCPrefixReserved("pltcl");
+ MarkGUCPrefixReserved("pltclu");
pltcl_pm_init_done = true;
}
NULL,
NULL);
- EmitWarningsOnPlaceholders("delay_execution");
+ MarkGUCPrefixReserved("delay_execution");
/* Install our hook */
prev_planner_hook = planner_hook;
NULL,
NULL);
- EmitWarningsOnPlaceholders("ssl_passphrase");
+ MarkGUCPrefixReserved("ssl_passphrase");
if (ssl_passphrase)
openssl_tls_init_hook = set_rot13;
0,
NULL, NULL, NULL);
- EmitWarningsOnPlaceholders("worker_spi");
+ MarkGUCPrefixReserved("worker_spi");
/* set up common data for all our workers */
memset(&worker, 0, sizeof(worker));