  
  class DatabaseWrapper(BaseDatabaseWrapper):
      ops = DatabaseOperations()
  
      def __init__(self, **kwargs):
          super(DatabaseWrapper, self).__init__(**kwargs)
          self.server_version = None
 
</s> remove     ops = DatabaseOperations()
 </s> add     ops = ComplainOnGetattr()
    features = ComplainOnGetattr() </s> remove class DatabaseOperations(object):
 </s> add class ComplainOnGetattr(object):
    features = DatabaseFeatures()
  
  class DatabaseWrapper(BaseDatabaseWrapper):
    features = DatabaseFeatures()
      ops = DatabaseOperations()
  
      def __init__(self, **kwargs):
          super(DatabaseWrapper, self).__init__(**kwargs)
          self.server_version = None
keep add keep keep keep keep keep
 Implemented BaseDatabaseFeatures and changed all code to access it -- connection.features.foo instead of backend.foo

git-svn-id: http://code.djangoproject.com/svn/django/trunk@5974 bcc190cf-cafb-0310-a4f2-bffc1f526a37 
django/db/backends/mysql/base.py