On Mon, 2009-01-19 at 12:54 +0000, Simon Riggs wrote:
> Some refactoring in this area is also required
> because we need to handle two other types of conflict to correctly
> support drop database and drop user, which is now underway.
I've hung the drop database conflict code in dbase_redo().
For drop role, there isn't an rmgr at all, but I can add code in a few
places.
* add XLOG_DBASE_DROP_USER - i.e. add drop user to the Database rmgr
* DropRole() takes an AccessExclusiveLock, so we do write a WAL record
for it. I could add a special case to the Relation rmgr.
* Add a new rmgr (unused slot 7) and have it handle DropRole.
I prefer the last one, but if you think otherwise, please shout.
-- Simon Riggs www.2ndQuadrant.comPostgreSQL Training, Services and Support