3
7^	                 @   s8   d dl mZ d dlmZ d dlmZ G dd deZdS )    )BaseDatabaseFeatures)InterfaceError)cached_propertyc               @   s   e 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dZdZe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-dS )DatabaseFeaturesTFz
 FROM DUALz|
        CREATE PROCEDURE "TEST_PROCEDURE" AS
            V_I INTEGER;
        BEGIN
            V_I := 1;
        END;
    z
        CREATE PROCEDURE "TEST_PROCEDURE" (P_I INTEGER) AS
            V_I INTEGER;
        BEGIN
            V_I := P_I;
        END;
             c             C   s   | j jdkS )N   r   )r	   r   )
connectionZoracle_version)self r   D/tmp/pip-build-8app2_gc/Django/django/db/backends/oracle/features.pyhas_fetch_offset_support=   s    z)DatabaseFeatures.has_fetch_offset_supportc             C   s   | j S )N)r   )r   r   r   r   allow_sliced_subqueries_with_inA   s    z0DatabaseFeatures.allow_sliced_subqueries_with_inc             C   s   | j S )N)r   )r   r   r   r   %supports_slicing_ordering_in_compoundE   s    z6DatabaseFeatures.supports_slicing_ordering_in_compoundNi   i  ).__name__
__module____qualname__Z!interprets_empty_strings_as_nullsZhas_select_for_updateZhas_select_for_update_nowaitZ!has_select_for_update_skip_lockedZhas_select_for_update_ofZselect_for_update_of_columnZcan_return_id_from_insertZcan_introspect_autofieldZsupports_subqueries_in_group_byZsupports_transactionsZsupports_timezonesZhas_native_duration_fieldZcan_defer_constraint_checksZ.supports_partially_nullable_unique_constraintsZtruncates_namesZsupports_tablespacesZsupports_sequence_resetZ!can_introspect_materialized_viewsZcan_introspect_time_fieldZatomic_transactionsZsupports_combined_altersZnulls_order_largestZrequires_literal_defaultsr   Zclosed_cursor_error_classZbare_select_suffixZ%supports_select_for_update_with_limitZsupports_temporal_subtractionZignores_table_name_caseZsupports_index_on_text_fieldZhas_case_insensitive_likeZ(create_test_procedure_without_params_sqlZ(create_test_procedure_with_int_param_sqlZsupports_callproc_kwargsZsupports_over_clauseZsupports_ignore_conflictsZmax_query_paramsZsupports_partial_indexesZ*allows_multiple_constraints_on_same_fieldsr   r   r   r   r   r   r   r   r      sR   r   N)Z django.db.backends.base.featuresr   Zdjango.db.utilsr   Zdjango.utils.functionalr   r   r   r   r   r   <module>   s   