This page is an outgrowth from Place Details without a Place. There is the possibility to add Orphaned Place Details since at least RM4 because the program does not fully preclude it. A suspected bug or procedural cause in the Split Place function of RM 5.0.2.1 also may be contributing errors resulting in the loss of a Place. The queries developed on that page do not cover all the cases in one easy-to-use report. That is the goal of this page.
Given the structure of the RootsMagic database, one can identify three kinds of errors which result in the loss of a Place or Place Detail for an event:
- Lost Places – the PlaceID pointer for the event cannot be matched in the PlaceTable.
- Lost Place Detail – the SiteID pointer for the event cannot be matched in the PlaceTable
- Orphaned Place Detail for which there are two sub-types:
- Used by an event: the SiteID pointer is matched in the PlaceTable but that PlaceDetail’s MasterID (its parent’s PlaceID) is not (the parent Place is lost).
- Unused: a Place Detail in the PlaceTable, whose MasterID (its parent’s PlaceID) is not, that is not used by an event.
The prior page and queries initially focussed on #3. This more comprehensive query reports all three types.
PlaceErrors3.sql This query requires a SQLite manager that supports a fake RMNOCASE collation else must be edited to override RMNOCASE with COLLATE NOCASE clauses in a few places. Alternatively, it will be available in RMtrix.
Screenshot of results from PlaceErrors3 query using SQLiteSpy with the fake RMNOCASE extension. |
The Person, RIN, Year, Fact and Place Detail columns should prove helpful in finding the affected events using RootsMagic Explorer. In all cases, the Place will be blank in the Edit Source screen. The Place Detail, if not blank, may provide a clue to what Place it should be. RootsMagic’s Place List will not show any of these Place Details.
For those wishing to examine the database tables, the four numeric fields will help: the first two fields are the PlaceID and SiteID fields of the EventTable table; the last two are the PlaceID and MasterID fields of the PlaceTable table for the Place Detail corresponding to the SiteID of EventTable.
Use PlaceErrors3 to find these errors and take corrective action before entering into more place-splitting. The Unused Place Detail w/o Place error is easily removed using the OrphanedPlaceDetails_DeleteUnused.sql query described earlier on Place Details without a Place. Once having cleared all the problems, then run the query after each Place has been split into Place and Place Detail to confirm no new errors have been introduced.