Mnesia and additional indexes: a cautionary tale

Ulf Wiger (AL/EAB) <>
Thu Mar 30 11:23:31 CEST 2006


The indexes in rdbms are first-class tables, and all index updates are
performed within a transaction context. Thus, solving the partitioned
network problem will be done in roughly the same way (I assume you mean
setting master nodes?)
 
There is (more or less) also a rebuild_indexes(Tab) function, using a
mnesia_recover. It's mainly used for adding indexes to existing tables
and populating them within the scope of a schema transaction.
 
One can also, of course, break the abstraction and simply clobber the
rdbms indexes and rebuild them by hand (by bypassing the wrapper
functions in rdbms). I could make this a bit simpler and clearly
documented, if it's deemed necessary.
 
BR,
Ulf W
 


________________________________

	From: chandru [mailto:] 
	Sent: den 30 mars 2006 10:48
	To: Ulf Wiger (AL/EAB)
	Cc: 
	Subject: Re: Mnesia and additional indexes: a cautionary tale
	
	
	On 30/03/06, Ulf Wiger (AL/EAB) <> wrote: 
	


		Enter the 'rdbms' contrib...
		
		I see a couple of traits of the additional indexing
		support in rdbms that could help in this
		particular situation:
		
		- You can have disc_copy indexes, which are not rebuilt 
		  every time mnesia is restarted


	Is the case where mnesia recovers from a partitioned network
taken care of? The index tables will have to be rebuilt in this case.
I'm sure you would've but I thought I'll ask anyway. 
	
	cheers
	Chandru
	
	PS: haven't used rdbms (yet)
	


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20060330/453a4d8c/attachment.html>


More information about the erlang-questions mailing list