î
ªÍ Xó	  ã               @   se   d  d l  m Z d  d l m Z y d  d l Z Wn e k
 rJ d Z Yn XGd d „  d e ƒ Z d S)é    )ÚBaseDatabaseFeatures)ÚInterfaceErrorNc                   sî   e  Z d  Z f  Z d Z d Z d Z d Z d Z d Z	 d Z
 d Z d Z e d k	 Z d Z d Z d Z d Z d Z d Z d Z d Z d Z d Z d Z d Z d Z d Z d Z e Z d Z  d Z! d Z" d Z# d Z$ d d ‡  f d d † Z% ‡  S)ÚDatabaseFeaturesTFNz
 FROM DUALc                sG   |  j  j d k  r. | r. | j ƒ  r. | r. d St t |  ƒ j | | ƒ S)a  
        Some versions of Oracle -- we've seen this on 11.2.0.1 and suspect
        it goes back -- have a weird bug where, when an integer column is
        added to an existing table with a default, its precision is later
        reported on introspection as 0, regardless of the real precision.
        For Django introspection, this means that such columns are reported
        as IntegerField even if they are really BigIntegerField or BooleanField.

        The bug is solved in Oracle 11.2.0.2 and up.
        z11.2.0.2ZIntegerField)Ú
connectionZoracle_full_versionZhas_defaultÚsuperr   Úintrospected_boolean_field_type)ÚselfÚfieldZcreated_separately)Ú	__class__© úP/home/ubuntu/projects/ifolica/build/django/django/db/backends/oracle/features.pyr   /   s    *z0DatabaseFeatures.introspected_boolean_field_type)&Ú__name__Ú
__module__Ú__qualname__Zempty_fetchmany_valueZ!interprets_empty_strings_as_nullsZuses_savepointsZhas_select_for_updateZhas_select_for_update_nowaitZcan_return_id_from_insertZallow_sliced_subqueriesZsupports_subqueries_in_group_byZsupports_transactionsZsupports_timezonesÚpytzZhas_zoneinfo_databaseZsupports_bitwise_orZhas_native_duration_fieldZcan_defer_constraint_checksZ.supports_partially_nullable_unique_constraintsZtruncates_namesZhas_bulk_insertZsupports_tablespacesZsupports_sequence_resetZcan_introspect_defaultZcan_introspect_max_lengthZcan_introspect_time_fieldZatomic_transactionsZsupports_combined_altersZnulls_order_largestZrequires_literal_defaultsr   Zclosed_cursor_error_classZbare_select_suffixZuppercases_column_namesZ%supports_select_for_update_with_limitZsupports_temporal_subtractionZignores_quoted_identifier_caser   r   r   )r
   r   r   
   sB   r   )Z django.db.backends.base.featuresr   Zdjango.db.utilsr   r   ÚImportErrorr   r   r   r   r   Ú<module>   s   