mnesia:transform_table - index handling bug?

Peter L erlang@REDACTED
Fri Jan 14 14:42:36 CET 2005

Actually if you load the new code before you run the 3 statements
the first would not work. I guess the first line has be rewritten
to explicitly delete index number 6 to get it right:


(Remember now that I did this index position switch *manually* after
the table upgrade and then I could only use numbers running R9C)


> I wrote:
> Been trying to "soft upgrade" my mnesia tables with
> I had an extra index 'myindexattribute' at position 6 and then I added a
> normal non-indexed attribute in position 3, meaning that 'myindexattribute'
> at position 6 moved to position 7 in the new mnesia table.
> But the transform_table/3 did NOT move the extra index to the new
position of
> 'myindexattribute' (6->7). In order to get it to upgraded properly
> correct movement of the extra index), I was forced to do 3 statements
instead of one:
>   mnesia:del_table_index(mytable,myindexattribute),
>   mnesia:transform_table(mytable,UpgradeTableFun,NewAttrList),
>   mnesia:add_table_index(mytable,myindexattribute),
> I would say that that is a bug! Wouldn't you? At least this behaviour is
> documented. Or is there a better (more beautiful) way to get the same thing
> done?
> --
> Peter Lund
> Web:
> Tel: +46 70 543 9416

More information about the erlang-questions mailing list