Re: Dynamically adding index types (was GIT indexes) - Mailing list pgsql-hackers

From Simon Riggs
Subject Re: Dynamically adding index types (was GIT indexes)
Date
Msg-id 1190384197.4202.56.camel@ebony.site
Whole thread Raw
In response to Re: Dynamically adding index types (was GIT indexes)  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
On Wed, 2007-09-19 at 10:37 -0400, Tom Lane wrote: 
> Simon Riggs <simon@2ndquadrant.com> 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



pgsql-hackers by date:

Previous
From: "blay bloo"
Date:
Subject: Schema access in PL/PGSQL for custom objects - i.e. type access?
Next
From: Andrew Dunstan
Date:
Subject: Re: Schema access in PL/PGSQL for custom objects - i.e. type access?