SingleColumnRestriction refactoring (remove duplicate code and migrate
some logic to other places)