Integrity checking

I ran an integrity check today and usually it displays ok, bit today it displayed a list of items that were missing;

Integrity check results:

row 51 missing from index idxSourceTemplateName
row 153 missing from index idxSourceTemplateName
row 166 missing from index idxSourceTemplateName
row 185 missing from index idxSourceTemplateName
row 189 missing from index idxSourceTemplateName
row 285 missing from index idxSourceTemplateName
row 286 missing from index idxSourceTemplateName
row 312 missing from index idxSourceTemplateName
row 320 missing from index idxSourceTemplateName
row 357 missing from index idxSourceTemplateName
row 745 missing from index idxCitationName
row 1000 missing from index idxCitationName
row 1078 missing from index idxCitationName
row 1637 missing from index idxCitationName
row 1733 missing from index idxCitationName
row 1849 missing from index idxCitationName
row 1924 missing from index idxCitationName
row 2010 missing from index idxCitationName
row 381 missing from index idxPlaceName
row 845 missing from index idxPlaceName

I was bit concerned so I ran a rebuild indexes. When I ran the integrity check again, it stated it was all ok.

Should I be worried?

2 Likes

did you run any of the other tools after? or just the check/rebuild indexes?

Probably not. The rebuild tool did it’s thing, and it appears that all is well.

RM’s tool to Rebuild Indexes appears to perform two different and really unrelated functions.

  1. It rebuilds RN’s database level indexes. These are indexes that neither you as a user nor even RM as an app actually see directly. Rather, they are managed by RM’s database engine and serve only to improve RM’s performance. In theory, apps such as RM could operate correctly without the database level indexes. They would just be slower without the indexes. In theory, these indexed are maintained automatically to perfection, but sometimes they can get out of whack,
  2. It rebuilds the birth and death years in RM’s sidebar index. In theory, this data is maintained automatically to perfection, but it can also get out of whack.

If the database level indexes get out of whack, it usually means that you have been using SQLite or some similar tool outside of RM to update your RM database. Tools outside of RM have a difficult time maintaining the database level indexes properly because RM uses a proprietary collating sequence for its alphabetic data.

If the birth and death years in RM’s sidebar index get out of whack, it usually means that your database has had some strangeness in its Birth and Deaths facts The strangeness could be multiple Birth facts with different dates or multiple Death facts with different dates. Or it could mean that your Birth or Death facts have text dates that are not real dates. RM is especially prone to these kinds of issues after merges of people whose Birth and Death facts don’t match exactly. Even after you clean up such facts, it sometimes leaves the birth and death years in the sidebar index in a state of not being properly cleaned up.

1 Like

yes, I initially ran the check and rebuild indexes but all the tools were ran.

I just ran the integrity check again and received the ok message.

1 Like

I understand it might be a little concerning that it happened and not know why.
But the issue seems to have cleared.

1 Like

As recent posts have shown, running the same database file on Windows and MacOS will also cause index problems. But again, just run rebuild indexes tool as the first command after loading the database file and it will be fixed. If you don’t run it immediately, and instead make changes that affect the broken index, I’m not clear what will happen, but I’d want to have a good backup.

To clarify, the problem with the sidebar b and d dates getting out of sync will not be shown by the check integrity tool. You will have to notice it yourself, and then run the rebuild indexes feature.

2 Likes

I didn’t realise this! I use the Windows PC during the day whereas the Macintosh laptop in the evenings.

I take backups at the end of each session. It seems that the backup I made on the 1st December had the integrity issue (I ran the test on the 2nd). Fortunately, the backup on the 30th November has no issues. I will restart from there only losing a couple of days work but gaining piece of mind, thank you.

That’s a total explanation for your integrity problem. if you move your RM database between Mac and Windows in either direction, the first thing you should do after opening RM on the new computer is to run the Rebuild indexes tool.

The Windows and Mac versions of RM sort the alphabet a little differently. It’s not just the alphabet from A to Z. RM supports several letters from European alphabets to form an extended alphabet. And RM does the sorting a little different on Windows and on a Mac. I do not know why the sorting is different between Windows and a Mac, but the fact that it’s different is why you have to run the Rebuild indexes tool when you move your database between Windows and Mac.

3 Likes