
 X                 @   su   d  d l  m Z d  d l m Z d d l m Z y d  d l Z Wn e k
 rZ d Z Yn XGd d   d e  Z d S)    )BaseDatabaseFeatures)cached_property   )DatabaseNc               @   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 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 d d    Z e d d    Z e d d    Z e d	 d
    Z d d   Z e d d    Z  d S)DatabaseFeaturesFTc          	   C   s9   |  j  j     } | j d  | j   } Wd QX| d S)zGInternal method used in Django tests. Don't rely on this from your codezGSELECT ENGINE FROM INFORMATION_SCHEMA.ENGINES WHERE SUPPORT = 'DEFAULT'Nr   )
connectioncursorexecutefetchone)selfr   result r   O/home/ubuntu/projects/ifolica/build/django/django/db/backends/mysql/features.py_mysql_storage_engine%   s    z&DatabaseFeatures._mysql_storage_enginec             C   s   |  j  d k S)z-Confirm support for introspected foreign keysZMyISAM)r   )r   r   r   r   can_introspect_foreign_keys-   s    z,DatabaseFeatures.can_introspect_foreign_keysc             C   s   |  j  j d k o t j d k S)N         r      )r   r   r   )r   r   r   )r   Zmysql_versionr   version_info)r   r   r   r   supports_microsecond_precision2   s    z/DatabaseFeatures.supports_microsecond_precisionc          	   C   sI   t  d  k r d S|  j j   $ } | j d  | j   d  k	 SWd  QXd  S)NFz%SELECT 1 FROM mysql.time_zone LIMIT 1)pytzr   r   r	   r
   )r   r   r   r   r   has_zoneinfo_database8   s
    z&DatabaseFeatures.has_zoneinfo_databasec             O   s   d S)NZIntegerFieldr   )r   argskwargsr   r   r   introspected_boolean_field_typeG   s    z0DatabaseFeatures.introspected_boolean_field_typec          	   C   sI   |  j  j   4 } | j d  | j   } | o> | d d k SWd  QXd  S)NzSELECT @@SQL_AUTO_IS_NULLr   r   )r   r   r	   r
   )r   r   r   r   r   r   is_sql_auto_is_null_enabledJ   s    z,DatabaseFeatures.is_sql_auto_is_null_enabledN)!__name__
__module____qualname__Zempty_fetchmany_valueZupdate_can_self_selectZallows_group_by_pkZrelated_fields_match_typeZallow_sliced_subqueriesZhas_bulk_insertZhas_select_for_updateZhas_select_for_update_nowaitZsupports_forward_referencesZsupports_regex_backreferencingZ!supports_date_lookup_using_stringZcan_introspect_autofieldZcan_introspect_binary_fieldZ"can_introspect_small_integer_fieldZsupports_timezonesZ-requires_explicit_null_ordering_when_groupingZallows_auto_pk_0Zuses_savepointsZcan_release_savepointsZatomic_transactionsZ!supports_column_check_constraintsZcan_clone_databasesZsupports_temporal_subtractionr   r   r   r   r   r   r   r   r   r   r   r      s:   r   )	Z django.db.backends.base.featuresr   Zdjango.utils.functionalr   baser   r   ImportErrorr   r   r   r   r   <module>   s   