B
    ©0H[}	  ã               @   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e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'e#dd„ ƒZ(e#dd„ ƒZ)d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;c             C   s   | j jdkS )Ni a )Ú
connectionÚ
pg_version)Úself© r	   újC:\Users\HIRONO~1\AppData\Local\Temp\pip-install-6bm3nxem\django\django\db\backends\postgresql\features.pyÚ supports_aggregate_filter_clause5   s    z1DatabaseFeatures.supports_aggregate_filter_clausec             C   s   | j jdkS )Ni„a )r   r   )r   r	   r	   r
   Ú!has_select_for_update_skip_locked9   s    z2DatabaseFeatures.has_select_for_update_skip_lockedc             C   s   | j jdkS )Ni„a )r   r   )r   r	   r	   r
   Úhas_brin_index_support=   s    z'DatabaseFeatures.has_brin_index_supportc             C   s   | j jdkS )Ni a )r   r   )r   r	   r	   r
   Úhas_jsonb_datatypeA   s    z#DatabaseFeatures.has_jsonb_datatypec             C   s   | j jdkS )Ni„a )r   r   )r   r	   r	   r
   Úhas_jsonb_aggE   s    zDatabaseFeatures.has_jsonb_aggc             C   s   | j jdkS )Ni„a )r   r   )r   r	   r	   r
   Úhas_gin_pending_list_limitI   s    z+DatabaseFeatures.has_gin_pending_list_limitN)*Ú__name__Ú
__module__Ú__qualname__Zallows_group_by_selected_pksZcan_return_id_from_insertZcan_return_ids_from_bulk_insertZhas_real_datatypeZhas_native_uuid_fieldZhas_native_duration_fieldZcan_defer_constraint_checksZhas_select_for_updateZhas_select_for_update_nowaitZhas_select_for_update_ofZuses_savepointsZcan_release_savepointsZsupports_tablespacesZsupports_transactionsZcan_introspect_autofieldZcan_introspect_ip_address_fieldZ"can_introspect_small_integer_fieldZcan_distinct_on_fieldsZcan_rollback_ddlZsupports_combined_altersZnulls_order_largestr   Zclosed_cursor_error_classZhas_case_insensitive_likeZrequires_sqlparse_for_splittingZgreatest_least_ignores_nullsZcan_clone_databasesZsupports_temporal_subtractionZ%supports_slicing_ordering_in_compoundZ(create_test_procedure_without_params_sqlZ(create_test_procedure_with_int_param_sqlZsupports_over_clauser   r   r   r   r   r   r   r	   r	   r	   r
   r      sJ   r   N)Z django.db.backends.base.featuresr   Zdjango.db.utilsr   Zdjango.utils.functionalr   r   r	   r	   r	   r
   Ú<module>   s   