index 6d6909fc128502f92bcf6ea2d2b93883814cf689..baf86b1c07dc126bc0bf6cb8278d5a96c65d4a30 100644 (file)
* developers. During development, use RM_EXPERIMENTAL_ID to avoid needlessly
* reserving a new ID.
*/
-extern void RegisterCustomRmgr(RmgrId rmid, RmgrData *rmgr);
+extern void RegisterCustomRmgr(RmgrId rmid, const RmgrData *rmgr);
</programlisting>
<function>RegisterCustomRmgr</function> must be called from the
extension module's <link linkend="xfunc-c-dynload">_PG_init</link> function.
index 6bb4de387f3512c01e05409815a8c380dc497696..7d67eda5f79cca1f9172903434a9ca067e35bd22 100644 (file)
* reserving a new ID.
*/
void
-RegisterCustomRmgr(RmgrId rmid, RmgrData *rmgr)
+RegisterCustomRmgr(RmgrId rmid, const RmgrData *rmgr)
{
if (rmgr->rm_name == NULL || strlen(rmgr->rm_name) == 0)
ereport(ERROR, (errmsg("custom resource manager name is invalid"),
index 6a721eb3f3e496784a3e1db971663ebf0c24428c..e5fc66966bc8cfc443806ad1a614f834e6ec329f 100644 (file)
@@ -362,7 +362,7 @@ extern PGDLLIMPORT RmgrData RmgrTable[];
extern void RmgrStartup(void);
extern void RmgrCleanup(void);
extern void RmgrNotFound(RmgrId rmid);
-extern void RegisterCustomRmgr(RmgrId rmid, RmgrData *rmgr);
+extern void RegisterCustomRmgr(RmgrId rmid, const RmgrData *rmgr);
#ifndef FRONTEND
static inline bool
index 6e5270bf83982c59c3b11789f12214c5c3a9564d..d8e513ae931892cabd9532ec44e9aabb33b2d064 100644 (file)
@@ -51,7 +51,7 @@ void testcustomrmgrs_redo(XLogReaderState *record);
void testcustomrmgrs_desc(StringInfo buf, XLogReaderState *record);
const char *testcustomrmgrs_identify(uint8 info);
-static RmgrData testcustomrmgrs_rmgr = {
+static const RmgrData testcustomrmgrs_rmgr = {
.rm_name = TESTCUSTOMRMGRS_NAME,
.rm_redo = testcustomrmgrs_redo,
.rm_desc = testcustomrmgrs_desc,