On Wed, 2007-09-19 at 10:37 -0400, Tom Lane wrote: > Simon Riggs <[EMAIL PROTECTED]> writes: > > We're able to dynamically add AMs in the way you suggest, but there is > > no way to alter the RMgrTable to either add a new RM or re-assign one of > > the unused RMs. > > Hmmm...
> > 1. Remove the "Const" in front of RmgrTable in rmgr.c. That would allow > > re-assignment of the two existing unused RMs. > > Useless, as there's no way for an add-on AM to cause the value to be > changed before recovery begins. OK, sounds like the only way is to have a dedicated plug-in. if (resource_manager_hook) set RmgrTable in plugin else normal static definition (but no longer Const) ...or variations of the above depending upon whether we want to allow redefining existing Rmgrs - not something I personally want. Plus something to say "xlog record found for unknown Rmgr". Plus changes to all places that refer to RM_MAX_ID and replace with a global value of RmgrTableEntries. We can then get rid of the two reserved Rmgr values... Will that do it? -- Simon Riggs 2ndQuadrant http://www.2ndQuadrant.com ---------------------------(end of broadcast)--------------------------- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match