§
    Ÿjx$  ã                   óV   — d dl mZmZ d dlmZ d dlmZ d dlmZ  G d„ de¦  «        Z	dS )é    )ÚDatabaseErrorÚInterfaceError)ÚBaseDatabaseFeatures)Úis_oracledb)Úcached_propertyc                   óÈ  ‡ — 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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-dZ.dZ/dZ0dZ1dZ2dZ3dZ4dZ5dd	hZ6d
Z7e8d„ ¦   «         Z9e8ˆ fd„¦   «         Z:e8d„ ¦   «         Z;e8d„ ¦   «         Z<e8d„ ¦   «         Z=e8d„ ¦   «         Z>e8d„ ¦   «         Z?e8d„ ¦   «         Z@e8d„ ¦   «         ZAe8d„ ¦   «         ZBˆ xZCS )ÚDatabaseFeatures)é   FTz|
        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;
    iÿÿ  z$CURRENT_TIMESTAMP AT TIME ZONE 'UTC'zFannotations.tests.NonAggregateAnnotationTestCase.test_custom_functionsz^annotations.tests.NonAggregateAnnotationTestCase.test_custom_functions_can_ref_other_functionsz1INSERT INTO {} VALUES (DEFAULT, DEFAULT, DEFAULT)c                 ó(  — ddhddhh d£ddhdhd	hd
hdœ}| j         j        dk     r|                     ddhi¦  «         | j         j        r|                     dh d£i¦  «         t          r(| j         j        dk    r|                     ddhi¦  «         |S )Nz4db_functions.text.test_sha224.SHA224Tests.test_basicz8db_functions.text.test_sha224.SHA224Tests.test_transformzVdb_functions.datetime.test_extract_trunc.DateFunctionTests.test_trunc_week_before_1000zbdb_functions.datetime.test_extract_trunc.DateFunctionWithTimeZoneTests.test_trunc_week_before_1000>   úCexpressions.tests.ExpressionOperatorTests.test_lefthand_bitwise_xorúHexpressions.tests.ExpressionOperatorTests.test_lefthand_bitwise_xor_nullúNexpressions.tests.ExpressionOperatorTests.test_lefthand_bitwise_xor_right_nullzHexpressions_window.tests.WindowFunctionTests.test_row_number_no_orderingz:prefetch_related.tests.PrefetchLimitTests.test_empty_orderzMmigrations.test_operations.OperationTests.test_alter_field_pk_fk_db_collationzIgeneric_relations_regress.tests.GenericRelationTests.test_textlink_filterz?lookup.tests.LookupQueryingTests.test_aggregate_combined_lookup)zOracle doesn't support SHA224.zwOracle doesn't correctly calculate ISO 8601 week numbering before 1583 (the Gregorian calendar was introduced in 1582).z#Oracle doesn't support bitwise XOR.z9Oracle requires ORDER BY in row_number, ANSI:SQL doesn't.zGOracle doesn't support changing collations on indexed columns (#33671).z1Oracle doesn't support comparing NCLOB to NUMBER.z1Oracle doesn't support casting filters to NUMBER.©é   z6Raises ORA-00600 on Oracle < 23c: internal error code.z?model_fields.test_jsonfield.TestQuerying.test_usage_in_subqueryz/Pooling does not support persistent connections>   úCbackends.oracle.tests.TransactionalTests.test_password_with_at_signúGservers.tests.LiveServerTestCloseConnectionTest.test_closes_connectionsúNbackends.base.test_base.ConnectionHealthChecksTests.test_health_checks_enabledúObackends.base.test_base.ConnectionHealthChecksTests.test_health_checks_disabledú]backends.base.test_base.ConnectionHealthChecksTests.test_set_autocommit_health_checks_enabledú^backends.base.test_base.ConnectionHealthChecksTests.test_health_checks_enabled_errors_occurred)é   é   r   zhpython-oracledb 2.1.2+ no longer hides 'ORA-1403: no data found' exceptions raised in database triggers.zLbackends.oracle.tests.TransactionalTests.test_hidden_no_data_found_exception)Ú
connectionÚoracle_versionÚupdateÚis_poolr   Úoracledb_version)ÚselfÚskipss     úo/var/www/finuniver-perm.ru/html/student/venv/lib/python3.11/site-packages/django/db/backends/oracle/features.pyÚdjango_test_skipsz"DatabaseFeatures.django_test_skipsY   s3  € ð GØJð/ð.ðLðFð4ð 4ð 4ð.àLðJð6ðXð
'ðBð
 RðBðA#
ð #
ˆðH Œ?Ô)¨EÒ1Ð1Ø�LŠLàLð1ðOðñô ð ð Œ?Ô"ð 	Ø�LŠLàEð Hð Hð Hðñô ð õ$ ð 		˜4œ?Ô;¸yÒHÐHØ�LŠLð>ð>ð@ðñô ð ð ˆó    c                 ó@   •— i t          ¦   «         j        ¥dddddddœ¥S )NÚ	CharFieldÚBigIntegerFieldÚIntegerFieldÚDateTimeField)ÚGenericIPAddressFieldÚPositiveBigIntegerFieldÚPositiveIntegerFieldÚPositiveSmallIntegerFieldÚSmallIntegerFieldÚ	TimeField)ÚsuperÚintrospected_field_types)r   Ú	__class__s    €r    r/   z)DatabaseFeatures.introspected_field_types§   s=   ø€ ð
Ý‰gŒgÔ.ð
à%0Ø'8Ø$2Ø)7Ø!/Ø(ð
ð 
ð 
ð 	
r"   c                 ó$   — dddd| j         rdnd dœS )NÚ	BINARY_CIÚBINARYÚ
SWEDISH_CI)ÚciÚcsÚnon_defaultÚ
swedish_ciÚvirtual)Úsupports_collation_on_charfield©r   s    r    Útest_collationsz DatabaseFeatures.test_collations³   s/   € ð ØØ'Ø&Ø'+Ô'KÐU�|�|ÐQUð
ð 
ð 	
r"   c                 ó"  — d| j         z   }| j                             ¦   «         5 }	 |                     |¦  «         n:# t          $ r-}|j        d         j        dk    rY d }~d d d ¦  «         dS ‚ d }~ww xY w	 d d d ¦  «         dS # 1 swxY w Y   d S )Nz"SELECT CAST('a' AS VARCHAR2(4001))r   iŽ  FT)Úbare_select_suffixr   ÚcursorÚexecuter   ÚargsÚcode)r   Úsqlr?   Úes       r    r:   z0DatabaseFeatures.supports_collation_on_charfield½   s  € à2°TÔ5LÑLˆØŒ_×#Ò#Ñ%Ô%ð 	¨ðØ—’˜sÑ#Ô#Ð#Ð#øÝ ð ð ð Ø”6˜!”9”> SÒ(Ð(Ø ˜5˜5˜5ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð øøøøðøøøð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s=   ¤B¦<»B¼
A3ÁA.ÁBÁ-A.Á.A3Á3BÂBÂBc                 ó"   — | j         j        dk    S ©N)é   ©r   r   r;   s    r    Ú!supports_primitives_in_json_fieldz2DatabaseFeatures.supports_primitives_in_json_fieldÉ   ó   € àŒÔ-°Ò6Ð6r"   c                 ó"   — | j         j        dk    S rF   rH   r;   s    r    Úsupports_frame_exclusionz)DatabaseFeatures.supports_frame_exclusionÍ   rJ   r"   c                 ó"   — | j         j        dk    S ©Nr   rH   r;   s    r    Ú&supports_boolean_expr_in_select_clausez7DatabaseFeatures.supports_boolean_expr_in_select_clauseÑ   rJ   r"   c                 ó"   — | j         j        dk    S rN   rH   r;   s    r    Úsupports_comparing_boolean_exprz0DatabaseFeatures.supports_comparing_boolean_exprÕ   rJ   r"   c                 ó"   — | j         j        dk    S rN   rH   r;   s    r    Ú(supports_aggregation_over_interval_typesz9DatabaseFeatures.supports_aggregation_over_interval_typesÙ   rJ   r"   c                 ó*   — | j         j        dk    rdndS )Nr   Ú z
 FROM DUALrH   r;   s    r    r>   z#DatabaseFeatures.bare_select_suffixÝ   s   € à”_Ô3°uÒ<Ð<ˆrˆrÀ,ÐNr"   )DÚ__name__Ú
__module__Ú__qualname__Úminimum_database_versionÚallows_group_by_lobÚallows_group_by_select_indexÚ!interprets_empty_strings_as_nullsÚhas_select_for_updateÚhas_select_for_update_nowaitÚ!has_select_for_update_skip_lockedÚhas_select_for_update_ofÚselect_for_update_of_columnÚcan_return_columns_from_insertÚsupports_subqueries_in_group_byÚ*ignores_unnecessary_order_by_in_subqueriesÚsupports_transactionsÚsupports_timezonesÚhas_native_duration_fieldÚcan_defer_constraint_checksÚ.supports_partially_nullable_unique_constraintsÚ&supports_deferrable_unique_constraintsÚtruncates_namesÚsupports_commentsÚsupports_tablespacesÚsupports_sequence_resetÚ!can_introspect_materialized_viewsÚatomic_transactionsÚnulls_order_largestÚrequires_literal_defaultsÚ'supports_default_keyword_in_bulk_insertr   Úclosed_cursor_error_classÚ%supports_select_for_update_with_limitÚsupports_temporal_subtractionÚignores_table_name_caseÚsupports_index_on_text_fieldÚ(create_test_procedure_without_params_sqlÚ(create_test_procedure_with_int_param_sqlÚsupports_callproc_kwargsÚsupports_over_clauseÚ#supports_frame_range_fixed_distanceÚsupports_ignore_conflictsÚmax_query_paramsÚsupports_partial_indexesÚ!supports_stored_generated_columnsÚ"supports_virtual_generated_columnsÚcan_rename_indexÚ%supports_slicing_ordering_in_compoundÚ#requires_compound_order_by_subqueryÚ*allows_multiple_constraints_on_same_fieldsÚsupports_json_field_containsÚsupports_collation_on_textfieldÚsupports_tuple_lookupsÚtest_now_utc_templateÚdjango_test_expected_failuresÚinsert_test_table_with_defaultsr   r!   r/   r<   r:   rI   rL   rO   rQ   rS   r>   Ú__classcell__)r0   s   @r    r	   r	      s˜  ø€ € € € € Ø$Ðð  Ðð $)Ð Ø(,Ð%Ø ÐØ#'Ð Ø(,Ð%Ø#ÐØ"&ÐØ%)Ð"Ø&+Ð#Ø16Ð.Ø ÐØÐØ $ÐØ"&ÐØ5:Ð2Ø-1Ð*Ø€OØÐØÐØ#ÐØ(,Ð%ØÐØÐØ $ÐØ.3Ð+Ø .Ðð -2Ð)Ø$(Ð!ð #ÐØ#(Ð ð0Ð,ð0Ð,ð  $ÐØÐØ*.Ð'Ø %ÐØ ÐØ$ÐØ(-Ð%Ø)-Ð&ØÐØ,0Ð)Ø*.Ð'Ø16Ð.Ø#(Ð Ø&+Ð#Ø"ÐØBÐð 	Qð	8ð%Ð!ð 	<ð $ð ðKð Kñ „_ðKðZ ð	
ð 	
ð 	
ð 	
ñ „_ð	
ð ð
ð 
ñ „_ð
ð ð	ð 	ñ „_ð	ð ð7ð 7ñ „_ð7ð ð7ð 7ñ „_ð7ð ð7ð 7ñ „_ð7ð ð7ð 7ñ „_ð7ð ð7ð 7ñ „_ð7ð ðOð Oñ „_ðOð Oð Oð Oð Or"   r	   N)
Ú	django.dbr   r   Ú django.db.backends.base.featuresr   Ú&django.db.backends.oracle.oracledb_anyr   Údjango.utils.functionalr   r	   © r"   r    ú<module>r“      sœ   ðØ 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø AÐ AÐ AÐ AÐ AÐ AØ >Ð >Ð >Ð >Ð >Ð >Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3ðXOð XOð XOð XOð XOÐ+ñ XOô XOð XOð XOð XOr"   