      if cursor:
          table_names = introspection.get_table_list(cursor)
      else:
          table_names = []
      if backend.uses_case_insensitive_names:
          table_name_converter = str.upper
      else:
          table_name_converter = lambda x: x
  
      output = []
 
</s> remove         if backend.uses_case_insensitive_names:
 </s> add         if connection.features.uses_case_insensitive_names: </s> remove     if backend.uses_case_insensitive_names:
 </s> add     if connection.features.uses_case_insensitive_names: </s> remove         if f.db_index and not ((f.primary_key or f.unique) and backend.autoindexes_primary_keys):
 </s> add         if f.db_index and not ((f.primary_key or f.unique) and connection.features.autoindexes_primary_keys): </s> remove     if backend.supports_constraints:
 </s> add     if connection.features.supports_constraints: </s> remove     if lookup_type in ('iexact', 'icontains', 'istartswith', 'iendswith') and backend.needs_upper_for_iops:
 </s> add     if lookup_type in ('iexact', 'icontains', 'istartswith', 'iendswith') and connection.features.needs_upper_for_iops:
    if connection.features.uses_case_insensitive_names:
      if cursor:
          table_names = introspection.get_table_list(cursor)
      else:
          table_names = []
    if connection.features.uses_case_insensitive_names:
          table_name_converter = str.upper
      else:
          table_name_converter = lambda x: x
  
      output = []
keep keep keep keep replace 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/core/management/sql.py