o
    uvXj|  ã                   @   s@   d dl Z d dlmZ d dlmZ d dlmZ G dd„ deƒZdS )é    N)Ú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eZdZdZdZdZdZdZdZ dZ!dZ"dZ#h d£Z$dZ%e&dd„ ƒZ'e&dd	„ ƒZ(e&d
d„ ƒZ)e*e+ ,d¡ƒZ-e*e+ ,d¡ƒZ.e*e+ ,d¡ƒZ/e*e+ ,d¡ƒZ0e*e+ ,d¡ƒZ1e*e+ ,d¡ƒZ2e*e+ ,d¡ƒZ3e*e+ ,d¡ƒZ4dS )ÚDatabaseFeaturesTFz°
        CREATE FUNCTION test_procedure () RETURNS void AS $$
        DECLARE
            V_I INTEGER;
        BEGIN
            V_I := 1;
        END;
    $$ LANGUAGE plpgsql;z½
        CREATE FUNCTION test_procedure (P_I INTEGER) RETURNS void AS $$
        DECLARE
            V_I INTEGER;
        BEGIN
            V_I := P_I;
        END;
    $$ LANGUAGE plpgsql;>   ÚXMLÚJSONÚTEXTÚYAMLc                 C   ó   | j jdkS )Ni„a ©Ú
connectionÚ
pg_version©Úself© r   úc/var/www/html/myproject/venv/lib/python3.10/site-packages/django/db/backends/postgresql/features.pyÚis_postgresql_9_5:   ó   z"DatabaseFeatures.is_postgresql_9_5c                 C   r
   )Nièa r   r   r   r   r   Úis_postgresql_9_6>   r   z"DatabaseFeatures.is_postgresql_9_6c                 C   r
   )Ni † r   r   r   r   r   Úis_postgresql_10B   r   z!DatabaseFeatures.is_postgresql_10r   r   r   N)5Ú__name__Ú
__module__Ú__qualname__Úallows_group_by_selected_pksÚcan_return_id_from_insertÚcan_return_ids_from_bulk_insertÚhas_real_datatypeÚhas_native_uuid_fieldÚhas_native_duration_fieldÚcan_defer_constraint_checksÚhas_select_for_updateÚhas_select_for_update_nowaitÚhas_select_for_update_ofÚcan_release_savepointsÚsupports_tablespacesÚsupports_transactionsÚcan_introspect_autofieldÚcan_introspect_ip_address_fieldÚ!can_introspect_materialized_viewsÚ"can_introspect_small_integer_fieldÚcan_distinct_on_fieldsÚcan_rollback_ddlÚsupports_combined_altersÚnulls_order_largestr   Úclosed_cursor_error_classÚhas_case_insensitive_likeÚgreatest_least_ignores_nullsÚcan_clone_databasesÚsupports_temporal_subtractionÚ%supports_slicing_ordering_in_compoundÚ(create_test_procedure_without_params_sqlÚ(create_test_procedure_with_int_param_sqlÚrequires_casted_case_in_updatesÚsupports_over_clauseÚ supports_aggregate_filter_clauseÚsupported_explain_formatsÚvalidates_explain_optionsr   r   r   r   ÚpropertyÚoperatorÚ
attrgetterÚ!has_select_for_update_skip_lockedÚhas_brin_index_supportÚhas_jsonb_aggÚhas_brin_autosummarizeÚhas_gin_pending_list_limitÚsupports_ignore_conflictsÚhas_phraseto_tsqueryÚsupports_table_partitionsr   r   r   r   r      sb    


r   )r<   Ú django.db.backends.base.featuresr   Údjango.db.utilsr   Údjango.utils.functionalr   r   r   r   r   r   Ú<module>   s
    