- Aliases are stored one DB row for each part of the path, eg. /planes/passenger/jumbo will be stored in 3 DB rows.
- Creating custom alias reuses existing autogenerated rows and creates NOP rows if necessary.
- autogenerated alias is an alias that is implicitly created for the Location.
- NOP rows are "inert" - they do not point to anything, paths that point to a NOP row are not generated by the system and if user tries to load a path pointing to NOP row redirect to root Location will be performed.
Deleting a Location whose alias row was reused by custom alias will delete its alias row, which will effectively mangle custom alias.
This would be possible to fix by replacing deletion of aliases with conversion to NOP rows, if not for the problem described in https://jira.ez.no/browse/EZP-20775