|
Right now the IDL generator hardcodes the parameter name when creating the IDLServerParameterWithStorage type. For example, this cluster parameter will generate the following block:
TenantIdMap<PauseMigrationsDuringMultiUpdatesParam> pauseMigrationsDuringMultiUpdates;
|
MONGO_SERVER_PARAMETER_REGISTER(idl_93f9b7ae669be332db86ad17ee9a278d1404cd21)(InitializerContext*) {
|
/**
|
* Cluster parameter determining if chunk migrations should be prevented while updateMany or deleteMany operations are ongoing.
|
*/
|
[[maybe_unused]] auto* scp_0 = ([]() -> ServerParameter* {
|
auto* ret = makeIDLServerParameterWithStorage<ServerParameterType::kClusterWide>("pauseMigrationsDuringMultiUpdates", pauseMigrationsDuringMultiUpdates);
|
return ret;
|
})();
|
|
}
|
And it will generate the following constants:
static constexpr auto k_idFieldName = "_id"_sd;
|
static constexpr auto kClusterParameterTimeFieldName = "clusterParameterTime"_sd;
|
static constexpr auto kClusterServerParameterFieldName = "ClusterServerParameter"_sd;
|
static constexpr auto kEnabledFieldName = "enabled"_sd;
|
It would be nice if the "pauseMigrationsDuringMultiUpdates" string literal was also defined as a constant. Right now we have to hardcode these values elsewhere if we want to reference cluster server parameter names.
The same issue might also affect ordinary (non-cluster) server parameters as well.
|