Add a database constraint to prevent duplicate content permission entries (i.e. entries with the same user or group against the same content with the same permission level)
An upgrade task is also needed that will clean up any existing duplicate entries and then add the constraint.
Also need to ensure that XML imports from backups that contain duplicate permission entries report useful errors or are handled silently.
Attached is a patch that adds the constraint but does not do any special handling for XML imports with duplicate permissions.