
    Hwg}                     B    d dl mZmZ d dlmZ d dlmZ  G d de      Zy)    )DatabaseErrorInterfaceError)BaseDatabaseFeatures)cached_propertyc                   D    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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Z0dZ1dZ2dZ3dZ4dZ5d	d
dddZ6dZ7ddhddhddhh ddhdhdhdZ8ddhZ9e: fd       Z;e:d        Z< xZ=S )DatabaseFeatures)   FTz
 FROM DUALz|
        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;
    z
        CREATE TABLE test_table_composite_pk (
            column_1 NUMBER(11) NOT NULL,
            column_2 NUMBER(11) NOT NULL,
            PRIMARY KEY (column_1, column_2)
        )
    i  	BINARY_CIBINARY
SWEDISH_CI)cicsnon_default
swedish_ciz$CURRENT_TIMESTAMP AT TIME ZONE 'UTC'z4db_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_1000zadb_functions.datetime.test_extract_trunc.DateFunctionTests.test_extract_second_func_no_fractionalzmdb_functions.datetime.test_extract_trunc.DateFunctionWithTimeZoneTests.test_extract_second_func_no_fractional>   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?model_fields.test_jsonfield.TestQuerying.test_usage_in_subqueryzMmigrations.test_operations.OperationTests.test_alter_field_pk_fk_db_collation)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 extracts seconds including fractional seconds (#33517).z#Oracle doesn't support bitwise XOR.z9Oracle requires ORDER BY in row_number, ANSI:SQL doesn't.z&Raises ORA-00600: internal error code.zGOracle doesn't support changing collations on indexed columns (#33671).zFannotations.tests.NonAggregateAnnotationTestCase.test_custom_functionsz^annotations.tests.NonAggregateAnnotationTestCase.test_custom_functions_can_ref_other_functionsc                 .    i t         |   dddddddS )N	CharFieldBigIntegerFieldIntegerFieldDateTimeField)GenericIPAddressFieldPositiveBigIntegerFieldPositiveIntegerFieldPositiveSmallIntegerFieldSmallIntegerField	TimeField)superintrospected_field_types)self	__class__s    Y/var/www/horilla/myenv/lib/python3.12/site-packages/django/db/backends/oracle/features.pyr    z)DatabaseFeatures.introspected_field_types   s1    
g.
%0'8$2)7!/(
 	
    c                     | j                   j                         5 }	 |j                  d       	 d d d        y# t        $ r/}|j                  d   j
                  dk(  rY d }~d d d        y d }~ww xY w# 1 sw Y   y xY w)Nz,SELECT CAST('a' AS VARCHAR2(4001)) FROM dualr   i  FT)
connectioncursorexecuter   argscode)r!   r'   es      r#   supports_collation_on_charfieldz0DatabaseFeatures.supports_collation_on_charfield   s}    __##% 	MN
 	 	 ! 66!9>>S( 	 	 	 	s7   A38A3	A0A+A3*A++A00A33A<)>__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_defaultsr   closed_cursor_error_classbare_select_suffix%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,create_test_table_with_composite_primary_keysupports_callproc_kwargssupports_over_clause#supports_frame_range_fixed_distancesupports_ignore_conflictsmax_query_paramssupports_partial_indexescan_rename_index%supports_slicing_ordering_in_compound#requires_compound_order_by_subquery*allows_multiple_constraints_on_same_fields&supports_boolean_expr_in_select_clausesupports_comparing_boolean_expr!supports_primitives_in_json_fieldsupports_json_field_containssupports_collation_on_textfieldtest_collationstest_now_utc_templatedjango_test_skipsdjango_test_expected_failuresr   r    r,   __classcell__)r"   s   @r#   r   r      s   $  #( (,% #' (,%#"&%)"&+#16.  $"&5:2-1*O#(,% $ .% -2)$(! ##( 0,0,40  $*.' % $,0)*.'16.-2*&+#(-%#( &+##"	O C CF+
**B
55K
0
 WF
 N3
2T
="J 	Q	8%! 	
 	
  r$   r   N)	django.dbr   r    django.db.backends.base.featuresr   django.utils.functionalr   r    r$   r#   <module>rk      s    3 A 3R+ Rr$   