
    LȂi                     V    S SK r S SKJrJr  S SKJr  S SKJr  S SKJ	r	   " S S\5      r
g)    N)	DataErrorInterfaceError)BaseDatabaseFeatures)is_psycopg3)cached_propertyc                     ^  \ rS rSrSrSrSrSrSrSr	Sr
SrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSr\rSrSr Sr!Sr"Sr#Sr$Sr%Sr&Sr'Sr(Sr)Sr*1 Skr+Sr,Sr-Sr.Sr/Sr0Sr1Sr2Sr3Sr4SS	S	S	S
.r5Sr6Sr7\8S 5       r9\8S 5       r:\8S 5       r;\8S 5       r<\8U 4S j5       r=\8S 5       r>\8S 5       r?\8S 5       r@SrA\B" \CR                  " S5      5      rE\B" \CR                  " S5      5      rFSrGU =rH$ )DatabaseFeatures	   )   Tz
        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YAMLFCzsv-x-icu)deterministicnon_default
swedish_civirtualz(STATEMENT_TIMESTAMP() AT TIME ZONE 'UTC'zINSERT INTO {} DEFAULT VALUESc                     S1S1S.nU R                   R                  S   R                  S5      (       a  UR                  SSS105        U R                  (       a  UR                  S	S
105        U$ )NzQindexes.tests.SchemaIndexesNotPostgreSQLTests.test_create_index_ignores_opclassesz2lookup.tests.LookupTests.test_textfield_exact_null)zopclasses are PostgreSQL only.z$PostgreSQL requires casting to text.OPTIONSpoolz Pool does implicit health checkszNbackends.base.test_base.ConnectionHealthChecksTests.test_health_checks_enabledz]backends.base.test_base.ConnectionHealthChecksTests.test_set_autocommit_health_checks_enabledz>The actual query cannot be determined for server side bindingsz>backends.base.test_base.ExecuteWrapperTests.test_wrapper_debug)
connectionsettings_dictgetupdateuses_server_side_binding)selfskipss     WD:\sksbv-state-backend\venv\Lib\site-packages\django/db/backends/postgresql/features.pydjango_test_skips"DatabaseFeatures.django_test_skipsQ   s    6/
 E5
 ??((377??LL65D9	 ((LLT-W     c                     [        5       nU R                  (       a  UR                  S15        [        (       d  UR                  1 Sk5        U$ )NzOaggregation.tests.AggregateTestCase.test_group_by_nested_expression_with_params>   .postgres_tests.test_array.TestQuerying.test_gt.postgres_tests.test_array.TestQuerying.test_in.postgres_tests.test_array.TestQuerying.test_lt)setr   r   r   )r   expected_failuress     r   django_test_expected_failures.DatabaseFeatures.django_test_expected_failuresr   sN    E(($$
B	 {$$ ! r"   c                 t    U R                   R                  S   n[        =(       a    UR                  S5      SL $ )Nr   server_side_bindingT)r   r   r   r   )r   optionss     r   r   )DatabaseFeatures.uses_server_side_binding   s0    ////	:Iw{{+@ATIIr"   c                 8    [         (       a  [        S4$ [        S4$ )Nz6PostgreSQL text fields cannot contain NUL (0x00) bytesz6A string literal cannot contain NUL (0x00) characters.)r   r   
ValueErrorr   s    r   +prohibits_null_characters_in_text_exception<DatabaseFeatures.prohibits_null_characters_in_text_exception   s    ;VVVWWWr"   c                 (   > 0 [         TU ]  ESSSS.E$ )NBigIntegerFieldIntegerFieldSmallIntegerField)PositiveBigIntegerFieldPositiveIntegerFieldPositiveSmallIntegerField)superintrospected_field_types)r   	__class__s    r   r<   )DatabaseFeatures.introspected_field_types   s(    
g.
'8$2)<	
 	
r"   c                 4    U R                   R                  S:  $ )NiI r   
pg_versionr1   s    r   is_postgresql_15!DatabaseFeatures.is_postgresql_15       ))V33r"   c                 4    U R                   R                  S:  $ )Ni q r@   r1   s    r   is_postgresql_16!DatabaseFeatures.is_postgresql_16   rD   r"   c                 4    U R                   R                  S:  $ )Ni r@   r1   s    r   is_postgresql_17!DatabaseFeatures.is_postgresql_17   rD   r"   rB   rF    )I__name__
__module____qualname____firstlineno__minimum_database_versionallows_group_by_selected_pkscan_return_columns_from_insert can_return_rows_from_bulk_insertcan_return_rows_from_updatehas_real_datatypehas_native_uuid_fieldhas_native_duration_fieldhas_native_json_fieldcan_defer_constraint_checkshas_select_for_updatehas_select_for_update_nowaithas_select_for_update_of!has_select_for_update_skip_lockedhas_select_for_no_key_updatecan_release_savepointssupports_commentssupports_tablespacessupports_transactions!can_introspect_materialized_viewscan_distinct_on_fieldscan_rollback_ddl+schema_editor_uses_clientside_param_bindingsupports_combined_altersnulls_order_largestr   closed_cursor_error_class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_frame_exclusion4only_supports_unbounded_with_preceding_and_following supports_aggregate_filter_clause"supports_aggregate_order_by_clausesupported_explain_formats&supports_deferrable_unique_constraintshas_json_operators-json_key_contains_list_matching_requires_listsupports_update_conflicts%supports_update_conflicts_with_targetsupports_covering_indexes!supports_stored_generated_columns"supports_virtual_generated_columnscan_rename_indextest_collationstest_now_utc_templateinsert_test_table_with_defaultsr   r    r)   r   r2   r<   rB   rF   rI   supports_unlimited_charfieldpropertyoperator
attrgetter*supports_nulls_distinct_unique_constraintssupports_any_value__static_attributes____classcell__)r=   s   @r   r	   r	   	   s)   $#' %)"'+$"&  $ "& #' #(,%#' ! (,%!26/# .#' $(!,0)0,0, '+##;?8'+$)-& ?-1*481 $,0) $(,%).&! 	O G&E# @ ! !. J J X X 
 
 4 4 4 4 4 4 $( 19./2. "("5"56H"IJr"   r	   )r   	django.dbr   r    django.db.backends.base.featuresr   )django.db.backends.postgresql.psycopg_anyr   django.utils.functionalr   r	   rK   r"   r   <module>r      s%     / A A 3gK+ gKr"   