  IntegrityError = Database.IntegrityError
  
  class DatabaseOperations(BaseDatabaseOperations):
      def autoinc_sql(self, table):
          # To simulate auto-incrementing primary keys in Oracle, we have to
          # create a sequence and a trigger.
          sq_name = get_sequence_name(table)
 
</s> remove         if backend.uses_case_insensitive_names:
 </s> add         if connection.features.uses_case_insensitive_names: </s> remove         needs_datetime_string_cast = backend.needs_datetime_string_cast
 </s> add         needs_datetime_string_cast = connection.features.needs_datetime_string_cast </s> remove allows_group_by_ordinal = False
allows_unique_and_pk = False        # Suppress UNIQUE/PK for Oracle (ORA-02259)
autoindexes_primary_keys = True
needs_datetime_string_cast = False
needs_upper_for_iops = True
supports_constraints = True
supports_tablespaces = True
uses_case_insensitive_names = True

 </s> add 
class DatabaseFeatures(BaseDatabaseFeatures):
    allows_group_by_ordinal = False
    allows_unique_and_pk = False        # Suppress UNIQUE/PK for Oracle (ORA-02259)
    needs_datetime_string_cast = False
    needs_upper_for_iops = True
    supports_tablespaces = True
    uses_case_insensitive_names = True

  IntegrityError = Database.IntegrityError
  
class DatabaseFeatures(BaseDatabaseFeatures):
    allows_group_by_ordinal = False
    allows_unique_and_pk = False        # Suppress UNIQUE/PK for Oracle (ORA-02259)
    needs_datetime_string_cast = False
    needs_upper_for_iops = True
    supports_tablespaces = True
    uses_case_insensitive_names = True

  class DatabaseOperations(BaseDatabaseOperations):
      def autoinc_sql(self, table):
          # To simulate auto-incrementing primary keys in Oracle, we have to
          # create a sequence and a trigger.
          sq_name = get_sequence_name(table)
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/oracle/base.py