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