
    hx$                     N    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)    )DatabaseErrorInterfaceError)BaseDatabaseFeatures)is_oracledb)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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,Sr-Sr.Sr/Sr0Sr1Sr2Sr3Sr4Sr5Sr6S	S
1r7Sr8\9S 5       r:\9U 4S j5       r;\9S 5       r<\9S 5       r=\9S 5       r>\9S 5       r?\9S 5       r@\9S 5       rA\9S 5       rB\9S 5       rCSrDU =rE$ )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                 ^   SS1SS11 SkSS1S1S	1S
1S.nU R                   R                  S:  a  UR                  SS105        U R                   R                  (       a  UR                  S1 Sk05        [        (       a.  U R                   R
                  S:  a  UR                  SS105        U$ )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_xorHexpressions.tests.ExpressionOperatorTests.test_lefthand_bitwise_xor_nullNexpressions.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_signGservers.tests.LiveServerTestCloseConnectionTest.test_closes_connectionsNbackends.base.test_base.ConnectionHealthChecksTests.test_health_checks_enabledObackends.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     a/var/www/html/tms-backend/venv/lib/python3.13/site-packages/django/db/backends/oracle/features.pydjango_test_skips"DatabaseFeatures.django_test_skipsY   s     GJ/.LF4.LJ6X
'B
 RBA#
H ??))E1LLL1O ??""LLE H$ ;4??;;yHLL>>@     c                 .   > 0 [         TU ]  ESSSSSSS.E$ )N	CharFieldBigIntegerFieldIntegerFieldDateTimeField)GenericIPAddressFieldPositiveBigIntegerFieldPositiveIntegerFieldPositiveSmallIntegerFieldSmallIntegerField	TimeField)superintrospected_field_types)r   	__class__s    r!   r1   )DatabaseFeatures.introspected_field_types   s1    
g.
%0'8$2)7!/(
 	
r$   c                 <    SSSSU R                   (       a  SS.$ S S.$ )N	BINARY_CIBINARY
SWEDISH_CI)cicsnon_default
swedish_civirtual)supports_collation_on_charfieldr   s    r!   test_collations DatabaseFeatures.test_collations   s6     '&'+'K'K|
 	

 RV
 	
r$   c                 *   SU R                   -   nU R                  R                  5        n UR                  U5         S S S 5        g! [         a0  nUR
                  S   R                  S:X  a   S nAS S S 5        ge S nAff = f! , (       d  f       g = f)Nz"SELECT CAST('a' AS VARCHAR2(4001))r   i  FT)bare_select_suffixr   cursorexecuter   argscode)r   sqlrC   es       r!   r=   0DatabaseFeatures.supports_collation_on_charfield   s    2T5L5LL__##%s#
  &% ! 66!9>>S(  &%  &%s9   BAB
BA<.B;A<<BB
Bc                 4    U R                   R                  S:  $ N)   r   r   r>   s    r!   !supports_primitives_in_json_field2DatabaseFeatures.supports_primitives_in_json_field       --66r$   c                 4    U R                   R                  S:  $ rK   rM   r>   s    r!   supports_frame_exclusion)DatabaseFeatures.supports_frame_exclusion   rP   r$   c                 4    U R                   R                  S:  $ Nr   rM   r>   s    r!   &supports_boolean_expr_in_select_clause7DatabaseFeatures.supports_boolean_expr_in_select_clause   rP   r$   c                 4    U R                   R                  S:  $ rU   rM   r>   s    r!   supports_comparing_boolean_expr0DatabaseFeatures.supports_comparing_boolean_expr   rP   r$   c                 4    U R                   R                  S:  $ rU   rM   r>   s    r!   (supports_aggregation_over_interval_types9DatabaseFeatures.supports_aggregation_over_interval_types   rP   r$   c                 >    U R                   R                  S:  a  S$ S$ )Nr    z
 FROM DUALrM   r>   s    r!   rB   #DatabaseFeatures.bare_select_suffix   s    __33u<rN,Nr$    )F__name__
__module____qualname____firstlineno__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"   r1   r?   r=   rN   rR   rV   rY   r\   rB   __static_attributes____classcell__)r2   s   @r!   r	   r	      s&   $   $) (,% #' (,%#"&%)"&+#16.  $"&5:2-1*O#(,% $.3+ . -2)$(! ##( 0,0,  $*.' % $(-%)-&,0)*.'16.#( &+#"B 	Q	8%! 	< $ K KZ 	
 	
 
 
 	 	 7 7 7 7 7 7 7 7 7 7 O Or$   r	   N)
	django.dbr   r    django.db.backends.base.featuresr   &django.db.backends.oracle.oracledb_anyr   django.utils.functionalr   r	   ra   r$   r!   <module>r      s"    3 A > 3XO+ XOr$   