If the user provides a table name which is a reserved keyword (by the DB server), then an exception should be thrown (consider using ImproperDatabaseException). When a table column has a name which is reserved then an alternative column name can be used. For the time, users are not allowed to alias names of columns but in case this will be provided in the future, we need to be able to either throw an exception or choose some other name for the table or the column.