I just learned that when a Windows user gets an rmtree file from a Mac that they should reindex it. I do my files on the Mac and send them to my sister who uses Windows. She hasn’t complained about anything. How does the problem that requires reindexing show up in everyday usage?
minor issues probably just silently accumulate until a critical level. Simple to just run all of the database tools in order for each new file. Not surprising jumping operating systems on a complex database could cause problems (especially going from smart os to windows). Reverse file transfer probably also needs the tools.
Thanks. We only go one way, as I do all of the data entry, so it sounds like I’ll just have her reindex if she runs into problems.
I don’t think that it’s 100% clear what may happen if the database is not re-indexed for a particular dataset.
If SQLite detects a problem with an index, it will display the error “Malformed image”. I don’t know if data will ever be missed or incorrectly updated.
In my experience, I can always open the database to get to the tools where the problem can be fixed- but I can’t guarantee that.
Yes, I also recommend running “Rebuild indexes” each time the database is opened on the other operating system .
If you want to understand a little more about what’s going on, first run the database tool “Integrity check”. That will tell you whether there is a problem that needs fixing. It is a read only tool that makes no changes to the database.
If it lists problems in the pop up window, then run the tool “Rebuild indexes”. Then rerun the integrity check to prove that the issues were fixed.
The problem lies in the propriety collation sequence named RMNOCASE used within RootsMagic. It is used to deal with a deficiency in the underlying database engine SQLite. SQLite has a collation that ignores upper and lower case differences but it does not handle non-ASCI (non English characters. For instance it will say that K and k are the same for sorting (collating), but it will not recognize that Ö and ö are the same. That’s what RMNOCASE does.
Great, but apparently the code used to implement RMNOCASE uses OS calls that return different results in Windows and MacOS. SQLite is very picky (as it must) in requiring that the collation be the same every time the database is opened.
The solution (I think) is to implement the RMNOCASE collation using tables that are within the RootsMagic app. Those will be the same in all OSs.
Richard
OK, that may explain some weirdness we have seen with Polish names that include diacritical marks. I’ll start putting them back and tell my sister about reindexing for the issue. Thanks!